zippy 1.2.4
zippy: ^1.2.4 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: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: "280e3a54-945d-45bb-922b-61ce8399b7e0",
// submissionId: "272361d5-2353-45d1-b41e-e64c31868825",
googleMapsApiKey: "YOUR_GOOGLE_API_KEY",
debugMode: true,
errorWidget: showSnackBar,
hiddenFields: hiddenFields,
hiddenSlugFields: const {
'lead_owner': '197654',
},
onSubmitted: showSnackBar2,
platformStyle: Platform.isAndroid || Platform.isLinux
? PlatformStyle.material
: PlatformStyle.cupertino,
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"),
// ),
// );
}
}
}