first commit

This commit is contained in:
2026-04-29 12:53:22 +07:00
commit e6a30eddd3
394 changed files with 16408 additions and 0 deletions

70
lib/app/view/app.dart Normal file
View File

@@ -0,0 +1,70 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:frontend_eccp_mobile/app/core/navigation/app_router.dart';
import 'package:frontend_eccp_mobile/l10n/gen/app_localizations.dart';
import 'package:shadcn_ui/shadcn_ui.dart';
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return ShadApp.custom(
themeMode: ThemeMode.light,
darkTheme: ShadThemeData(
brightness: Brightness.dark,
colorScheme: const ShadSlateColorScheme.dark(),
),
appBuilder: (contextShad) {
return ScreenUtilInit(
designSize: const Size(412, 915),
minTextAdapt: true,
splitScreenMode: true,
enableScaleWH: () {
final width = MediaQueryData.fromWindow(
WidgetsBinding.instance.window,
).size.width;
return width < 600;
},
enableScaleText: () {
final width = MediaQueryData.fromWindow(
WidgetsBinding.instance.window,
).size.width;
return width < 600;
},
builder: (context, child) {
return MaterialApp.router(
routerDelegate: AppRouter.router.routerDelegate,
routeInformationParser: AppRouter.router.routeInformationParser,
routeInformationProvider:
AppRouter.router.routeInformationProvider,
builder: (context, child) {
return ShadToaster(
child: child ?? const SizedBox(),
);
},
theme: ThemeData(
appBarTheme: AppBarTheme(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
),
useMaterial3: true,
),
debugShowCheckedModeBanner: false,
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
);
},
);
},
);
}
}