loyalty_management_tool 0.22.6 copy "loyalty_management_tool: ^0.22.6" to clipboard
loyalty_management_tool: ^0.22.6 copied to clipboard

outdated

A loyalty management tool

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:loyalty_management_tool/bloc/cubits/cubit_main.dart';
import 'package:loyalty_management_tool/bloc/rewards_module/pages/manage_rewards_page.dart';
import 'package:loyalty_management_tool/utils/colors.dart';
import 'package:loyalty_management_tool/utils/hexColors.dart';
import 'package:loyalty_management_tool/utils/localization.dart';
import 'package:loyalty_management_tool/utils/locator.dart';
import 'package:responsive_framework/responsive_wrapper.dart';
import 'package:responsive_framework/utils/scroll_behavior.dart';

void main() {
  runApp(MainApp());
  setupRewardsLocator();
}

class MainApp extends StatefulWidget {
  static Future<void> setLocale(BuildContext context, Locale locale) async {
    MyApp state = context.findAncestorStateOfType<MyApp>()!;
    state.setLocale(locale);
  }

  MyApp createState() => MyApp();
}

class MyApp extends State<MainApp> {
  Locale? _locale;
  void setLocale(Locale locale) {
    setState(() {
      _locale = locale;
    });
  }

  @override
  initState() {
    super.initState();
    if (_locale == null) {
      setLocale(const Locale("en", "IN"));
    }
  }

  @override
  Widget build(BuildContext context) {
    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
        statusBarColor: HexColor(AppColors.appColorTransparent),
        statusBarBrightness: Brightness.dark,
        statusBarIconBrightness: Brightness.dark));

    return MaterialApp(
      home: MyHomePage(),
      builder: (context, widget) => ResponsiveWrapper.builder(
        BouncingScrollWrapper.builder(context, widget!),
        maxWidth: 1200,
        minWidth: 450,
        defaultScale: true,
        breakpoints: [
          ResponsiveBreakpoint.resize(450, name: MOBILE),
          ResponsiveBreakpoint.autoScale(800, name: TABLET),
          ResponsiveBreakpoint.autoScale(1000, name: TABLET),
          ResponsiveBreakpoint.resize(1200, name: DESKTOP),
          ResponsiveBreakpoint.autoScale(2460, name: "4K"),
        ],
        background: Container(
          color: HexColor(AppColors.appColorBackground),
        ),
      ),
      locale: _locale,
      themeMode: ThemeMode.light,
      supportedLocales: const [
        Locale("en", "US"),
        Locale("hi", "IN"),
        Locale("ta", "IN"),
        Locale("te", "IN"),
        Locale("ur", "IN"),
      ],
      localizationsDelegates: const [
        AppLocalizationsRewards.delegate,
      ],
      localeResolutionCallback: (locale, supportedLocales) {
        for (var supportedLocale in supportedLocales) {
          if (supportedLocale.languageCode == locale!.languageCode &&
              supportedLocale.countryCode == locale.countryCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      },
      debugShowCheckedModeBanner: false,
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: BlocProvider(
        create: (_) => CubitMain(),
        child: ManageRewardsPage(
          appLanguageCode: "en",
          address: "Address",
          googleMapKey: "jjjjdjdjd",
          mainColor: "#FF4CAF50",
          dateFormat: 'dd-MMM-yyyy',
          timeFormat: "HH:mm",
          currencySymbol: "₹",
          baseUrlWithoutHttp: "test.foop.com",
          googleTranslationKey: "key",
          businessId: 1657529344671,
          userImage:
              "/media/person/profile/1657547079429/1657547121200_1390.jpg",
          userName: "Lava International",
          slug: "slug",
          userId: 1657291684395,
          token:
              "5cde6d24ea10b898a7d6e05355641573859f36e49681b9cad626be5cacaffa90",
          baseUrl: "https://test.foop.com",
        ),
      ),
    );
  }
}