nb_utils 4.3.0+1 copy "nb_utils: ^4.3.0+1" to clipboard
nb_utils: ^4.3.0+1 copied to clipboard

outdated

This package helps you daily usable function with ease. Just add nb_utils with its latest version and that's it you are ready to use.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:nb_utils/nb_utils.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await initialize(aLocaleLanguageList: [
    LanguageDataModel(name: 'English', languageCode: 'en'),
    LanguageDataModel(name: 'Hindi', languageCode: 'hi'),
  ]);

  selectedLanguageDataModel = getSelectedLanguageModel();

  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    String platformVersion;
    // Platform messages may fail, so we use a try/catch PlatformException.
    // We also handle the message potentially returning null.
    try {
      platformVersion =
          await NBUtils.platformVersion ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'NB Utils Example',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: createMaterialColor(Colors.blue),
        scaffoldBackgroundColor: scaffoldLightColor,
      ),
      darkTheme: ThemeData(
        primarySwatch: createMaterialColor(Colors.blue),
      ),
      themeMode:
          getIntAsync(THEME_MODE_INDEX) == 2 ? ThemeMode.dark : ThemeMode.light,
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  GlobalKey<FormState> formKey = GlobalKey();
  double rating = 2.2;

  @override
  void initState() {
    super.initState();
    init();
  }

  Future<void> init() async {
    //
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: appBarWidget('Home', showBack: Navigator.canPop(context)),
      body: Container(
        child: SingleChildScrollView(
          child: Form(
            key: formKey,
            child: Column(
              children: <Widget>[
                ThemeWidget(
                  onThemeChanged: (data) {
                    log(data);
                  },
                ),
                LanguageListWidget(
                  widgetType: WidgetType.DROPDOWN,
                  onLanguageChange: (data) {
                    log(data.name);
                  },
                ),
                16.height,

                DottedBorderWidget(
                  child: Container(
                    height: 100,
                    width: 100,
                  ),
                ),
                16.height,

                ///
                Text('Rating Bar Widget Example', style: primaryTextStyle()),
                8.height,
                RatingBarWidget(
                  rating: rating,
                  onRatingChanged: (e) {
                    rating = e;
                  },
                ),
                16.height,

                /// Hover Widget Example
                Text('Hover Widget Example', style: primaryTextStyle()),
                8.height,
                HoverWidget(
                  builder: (_, isHovering) {
                    return AnimatedContainer(
                      height: 100,
                      width: 100,
                      decoration: boxDecorationDefault(
                        color: isHovering ? Colors.blue : Colors.white,
                        borderRadius: radius(isHovering ? 50 : null),
                      ),
                      duration: 400.milliseconds,
                    );
                  },
                ),
                Column(
                  children: [
                    Wrap(
                      spacing: 16,
                      runSpacing: 16,
                      children: [
                        AppButton(
                          text: "Confirmation",
                          onTap: () {
                            showConfirmDialogCustom(
                              context,
                              onAccept: () {
                                snackBar(
                                  context,
                                  title: 'Confirmed',
                                  snackBarAction: SnackBarAction(
                                      label: 'label', onPressed: () {}),
                                );
                              },
                            );
                          },
                        ),
                        AppButton(
                          text: "Confirmation with Custom Image",
                          onTap: () async {
                            showConfirmDialogCustom(
                              context,
                              title: "Do you want to logout from the app?",
                              dialogType: DialogType.CONFIRMATION,
                              centerImage:
                                  'https://images.unsplash.com/photo-1579154392429-0e6b4e850ad2?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=397&q=80',
                              onAccept: () {
                                //
                              },
                              onCancel: () {
                                //
                              },
                              height: 300,
                              width: 400,
                            );
                          },
                        ),
                        AppButton(
                          text: "Update",
                          onTap: () {
                            showConfirmDialogCustom(
                              context,
                              title: "Do you want to update this item?",
                              dialogType: DialogType.UPDATE,
                              onAccept: () {
                                snackBar(context, title: 'Updated');
                              },
                            );
                          },
                        ),
                        AppButton(
                          text: "Delete",
                          onTap: () {
                            showConfirmDialogCustom(
                              context,
                              title: "Delete 89 files permanent?",
                              dialogType: DialogType.DELETE,
                              onAccept: () {
                                snackBar(context, title: 'Deleted');
                              },
                            );
                          },
                        ),
                        AppButton(
                          text: "Add",
                          onTap: () {
                            showConfirmDialogCustom(
                              context,
                              title: "Do you want to add this item?",
                              dialogType: DialogType.ADD,
                              onAccept: () {
                                snackBar(context, title: 'Added');
                              },
                            );
                          },
                        ),
                      ],
                    ),
                    16.height,
                    UL(
                      symbolType: SymbolType.Numbered,
                      children: [
                        Text('Hi', style: primaryTextStyle()),
                        Text('Hello', style: primaryTextStyle()),
                        Text('How are you?', style: primaryTextStyle()),
                      ],
                    ),
                    16.height,
                    UL(
                      children: [
                        Text('Hi', style: primaryTextStyle()),
                        Text('Hello', style: primaryTextStyle()),
                        Text(
                            'How are you? How are you? How are you? How are you? How are you? How are you? How are you? How are you? How are you? How are you?',
                            style: primaryTextStyle()),
                      ],
                    ),
                    16.height,

                    /// Default AppTextField
                    AppTextField(
                      textFieldType: TextFieldType.OTHER,
                      decoration: defaultInputDecoration(),
                    ),
                    8.height,

                    /// Email TextField
                    AppTextField(
                      textFieldType: TextFieldType.EMAIL,
                      decoration: defaultInputDecoration(label: 'Email'),
                    ),
                    8.height,

                    /// Address TextField
                    AppTextField(
                      textFieldType: TextFieldType.ADDRESS,
                      decoration: defaultInputDecoration(label: 'Address'),
                      minLines: 4,
                    ),
                    8.height,

                    /// Password TextField
                    AppTextField(
                      textFieldType: TextFieldType.PASSWORD,
                      decoration: defaultInputDecoration(label: 'Password'),
                    ),
                  ],
                ).paddingAll(16),
                16.height,
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    GoogleLogoWidget(),
                    16.width,
                    AppButton(
                      text: 'Save',
                      onTap: () async {
                        if (formKey.currentState!.validate()) {
                          formKey.currentState!.save();
                        }
                        toast('Sample toast');
                      },
                    ),
                  ],
                ),
                8.height,
                SettingSection(
                  title: Text('Account Management',
                      style: boldTextStyle(size: 24)),
                  subTitle: Text('Control your account',
                      style: primaryTextStyle(size: 16)),
                  items: [
                    SettingItemWidget(
                      title: 'Hibernate account',
                      subTitle: 'Temporary deactivate your account',
                      decoration: BoxDecoration(borderRadius: radius()),
                      trailing: Icon(Icons.keyboard_arrow_right_rounded,
                          color: context.dividerColor),
                      onTap: () {
                        //
                      },
                    ),
                    SettingItemWidget(
                      title: 'Close account',
                      subTitle:
                          'Learn about your options, and close your account if you wish',
                      decoration: BoxDecoration(borderRadius: radius()),
                      trailing: Icon(Icons.keyboard_arrow_right_rounded,
                          color: context.dividerColor),
                      onTap: () {
                        HomePage().launch(context);
                      },
                    ),
                  ],
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
380
likes
0
pub points
99%
popularity

Publisher

verified publisherbhoominn.com

This package helps you daily usable function with ease. Just add nb_utils with its latest version and that's it you are ready to use.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

connectivity, flutter, fluttertoast, shared_preferences

More

Packages that depend on nb_utils