up_form 0.0.3
up_form: ^0.0.3 copied to clipboard
UpForm upgrades standard form capabilities, including advanced reactivity, flexible controls and convenient building.
// dart:async not required here
import 'package:flutter/material.dart';
import 'package:up_form_example/core/locale_controller.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:form_builder_validators/form_builder_validators.dart';
import 'package:inheriteds/inheriteds.dart';
import '/home_page.dart';
void main() {
// ContextBasedValidator.initialize(
// invalidValueMessage: (context) => FormBuilderLocalizations.of(context).invalidErrorText,
// requiredValueMessage: (context) => FormBuilderLocalizations.of(context).requiredErrorText,
// localeContextGlobalKey: _rootNavigatorKey,
// );
runApp(const App());
}
class App extends StatefulWidget {
const App({super.key});
static late AppState instance;
static GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
@override
// ignore: no_logic_in_create_state
State<App> createState() => instance = AppState();
}
class AppState extends State<App> {
final localeController = LocaleController(
supportedLocales: const [Locale('en'), Locale('ru')],
storage: ({Locale? save}) async {
// Here you can implement saving/loading the locale from persistent storage
return save;
},
onChange: (locale) {
// to support Intl package localization
// Intl.defaultLocale = locale.languageCode;
},
);
@override
Widget build(BuildContext context) {
return InheritedHub(
child: ListenableBuilder(
listenable: localeController,
builder: (context, _) {
return MaterialApp(
title: 'Up Form Demo',
locale: localeController.currentLocale,
supportedLocales: localeController.supportedLocales,
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
FormBuilderLocalizations.delegate,
],
navigatorKey: App.navigatorKey,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
),
home: const HomePage(title: 'Up Form - Demo'),
);
}
),
);
}
}