init
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'screens/auth_flow.dart';
|
||||
import 'screens/home_shell.dart';
|
||||
import 'screens/splash_screen.dart';
|
||||
import 'services/auth_controller.dart';
|
||||
import 'theme/app_theme.dart';
|
||||
|
||||
void main() {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
runApp(const DealerNetworkApp());
|
||||
}
|
||||
|
||||
class DealerNetworkApp extends StatelessWidget {
|
||||
const DealerNetworkApp({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ChangeNotifierProvider(
|
||||
create: (_) => AuthController()..bootstrap(),
|
||||
child: MaterialApp(
|
||||
title: 'Dealer Network',
|
||||
theme: buildAppTheme(),
|
||||
home: const _Root(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _Root extends StatelessWidget {
|
||||
const _Root();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final auth = context.watch<AuthController>();
|
||||
if (!auth.ready) return const SplashScreen();
|
||||
if (auth.user == null) return const AuthFlow();
|
||||
return const HomeShell();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user