Implement Login Page, Add App Initialization, Router, and Theme Management

This commit is contained in:
2025-09-23 22:45:47 +02:00
parent c867133c6b
commit 3f1b295b65
7 changed files with 263 additions and 10 deletions

View File

@@ -1,3 +1,6 @@
import 'package:app/app/router.dart';
import 'package:app/app/startup/domain/initialize_app.dart';
import 'package:app/app/theme.dart';
import 'package:flutter/material.dart';
import 'package:fluttery/fluttery.dart';
import 'package:fluttery/logger.dart';
@@ -14,7 +17,25 @@ Future<void> main() async {
final logger = App.service<Logger>();
logger.debug("[MAIN] Registered all default services");
runApp(const MyApp());
// Run initialization before building router
final init = InitializeAppUseCase();
final startRoute = await init();
final themeController = ThemeController();
await themeController.init();
runApp(
AnimatedBuilder(
animation: themeController,
builder: (context, _) => MaterialApp.router(
title: 'App',
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
themeMode: themeController.themeMode,
routerConfig: buildAppRouter(startRoute),
),
),
);
}
class MyApp extends StatelessWidget {
@@ -76,11 +97,7 @@ class _MyHomePageState extends State<MyHomePage> {
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
TextButton(
onPressed: () {
},
child: Text("Print workers"),
),
TextButton(onPressed: () {}, child: Text("Print workers")),
],
),
),