b24_widgets 0.0.5 copy "b24_widgets: ^0.0.5" to clipboard
b24_widgets: ^0.0.5 copied to clipboard

outdated

Flutter Package that include existing sample widgets

example/lib/main.dart

import 'package:b24_widgets/app/languages/generated/l10n.dart';
import 'package:b24_widgets/helpers/ui_utils.dart';
import 'package:b24_widgets/widgets/buttons/ex_button.dart';
import 'package:b24_widgets/widgets/buttons/ex_loading_button.dart';
import 'package:b24_widgets/widgets/dropdown/ex_dropdown_textfield.dart';
import 'package:b24_widgets/widgets/inputs/ex_text_input.dart';
import 'package:b24_widgets/widgets/texts/text_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
   
    return MaterialApp(
       localizationsDelegates: const [
                  S.delegate,
                  GlobalMaterialLocalizations.delegate,
                  GlobalWidgetsLocalizations.delegate,
                  GlobalCupertinoLocalizations.delegate,
                  DefaultCupertinoLocalizations.delegate,
                ],
                supportedLocales: S.delegate.supportedLocales,
              locale: const Locale('km', 'KH'),
      title: 'Flutter Demo',
      theme: ThemeData(
    
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home:  const MyHomePage(title: 'Bill24 Reusable Widgets'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final TextEditingController _txtPassword = TextEditingController();
  final TextEditingController _txtEmail = TextEditingController();
  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();



  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Form(
        key: _formKey,
        child: Container(
          padding: const  EdgeInsets.all(10.0),
          child:  Column(
            children: [
              const ExTextInput(
                label: 'Last Name',
                inputType: ExInputType.text,
                isRequired: true,
              ),
              itemGap,
              ExTextInput(
                label: 'Email',
                inputType: ExInputType.email,
                isRequired: true,
                controller:  _txtEmail,
              ),
              itemGap,
              ExTextInput(
                label: 'Password',
                inputType: ExInputType.password,
                controller: _txtPassword,
                isRequired: true,
              ),
              itemGap,
              ExDropdownTextfield(
                label: S.current.x_invalid_email,
                isRequired: true,
              ),
              itemGap,
              SizedBox(
                width: double.infinity,
                height: 40.0,
                child:  ExButton(
                  paddingVertical: 6.5,
                  const TextWidget('Button'),
                  variant: ButtonVariant.filled,
                  onTap: () async {
                    if (_formKey.currentState!.validate()) {
                      debugPrint(_formKey.toString());
                    }
                  },
                ),
              ),
              itemGap,
              
              // SizedBox(
              //   width: double.infinity,
              //   height: 40,
              //   child: ExLoadingButton(
              //     const TextWidget('Loading Button'),
              //     variant: ButtonVariant.filled,
              //     paddingHorizone: 16,
              //     onTap: () async {
              //       if (_formKey.currentState!.validate()) {
              //         debugPrint(_formKey.toString());
              //       }
              //     },
              //   ),
              // ),
            ],
          )
        ),
      ),
    );
  }
}
1
likes
0
points
17
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter Package that include existing sample widgets

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_localizations, flutter_svg, gap, intl, mask_text_input_formatter, provider

More

Packages that depend on b24_widgets