zippy 1.2.7
zippy: ^1.2.7 copied to clipboard
Zippy Form is a flexible Flutter package for creating customizable multi-step forms with various field types, validation, and platform-specific styling.
example/lib/main.dart
import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:zippy/zippy.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final hiddenFields = {"sdkfjdsfd": "sdlkfjsd"};
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: ZippyForm(
formId: "18d89a16-c656-4196-9a46-60c4211ed563",
// submissionId: "272361d5-2353-45d1-b41e-e64c31868825",
googleMapsApiKey: "YOUR_GOOGLE_API_KEY",
debugMode: true,
errorWidget: showSnackBar,
hiddenFields: hiddenFields,
hiddenSlugFields: {
'lead_owner': '197654',
"fiedy_lead_names": jsonEncode(["Socket"])
},
hiddenSlugs: const ["fiedy_lead_names"],
onSubmitted: showSnackBar2,
platformStyle: PlatformStyle.material,
buttonPosition: ButtonPosition.bottom,
primaryColor: const Color(0xFF007AFF),
),
),
);
}
showSnackBar(String message, BuildContext context) {
if (Platform.isIOS) {
showCupertinoDialog(
context: context,
builder: (context) => CupertinoAlertDialog(
title: const Text("Alert!"),
actions: [
CupertinoButton(
child: const Text("Done"),
onPressed: () {
Navigator.pop(context);
})
],
));
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(message),
),
);
}
}
showSnackBar2(BuildContext context) {
if (Platform.isIOS) {
showCupertinoDialog(
context: context,
builder: (context) => CupertinoAlertDialog(
title: const Text("Success!"),
actions: [
CupertinoButton(
child: const Text("Done"),
onPressed: () {
Navigator.pop(context);
})
],
),
);
} else {
debugPrint("sucdess");
// ScaffoldMessenger.of(context).showSnackBar(
// const SnackBar(
// content: Text("Success"),
// ),
// );
}
}
}