Files
kent_logistics_app/lib/main.dart

81 lines
2.7 KiB
Dart
Raw Normal View History

2025-11-28 10:14:30 +05:30
import 'package:flutter/material.dart';
2025-12-03 11:57:05 +05:30
import 'package:kent_logistics_app/providers/dashboard_provider.dart';
import 'package:kent_logistics_app/providers/invoice_provider.dart';
import 'package:kent_logistics_app/providers/mark_list_provider.dart';
import 'package:kent_logistics_app/providers/order_provider.dart';
import 'package:kent_logistics_app/services/dio_client.dart';
import 'package:kent_logistics_app/services/order_service.dart';
2025-11-28 10:14:30 +05:30
import 'package:provider/provider.dart';
import 'providers/auth_provider.dart';
2025-12-03 11:57:05 +05:30
import 'providers/user_profile_provider.dart'; // NEW IMPORT
2025-11-28 10:14:30 +05:30
import 'screens/splash_screen.dart';
import 'package:google_fonts/google_fonts.dart';
2025-12-03 11:57:05 +05:30
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final auth = AuthProvider();
await auth.init(); // IMPORTANT: ensure prefs loaded before build
runApp(MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => auth),
ChangeNotifierProvider(create: (_) => UserProfileProvider()),
ChangeNotifierProvider(create: (_) => DashboardProvider()),
ChangeNotifierProvider(create: (_) => MarkListProvider()),
ChangeNotifierProvider(
create: (context) => OrderProvider(
OrderService(DioClient.getInstance(context)),
),
),
ChangeNotifierProvider(create: (_) => InvoiceProvider()),
],
child: const KentApp(),
));
2025-11-28 10:14:30 +05:30
}
2025-12-03 11:57:05 +05:30
2025-11-28 10:14:30 +05:30
class KentApp extends StatelessWidget {
const KentApp({super.key});
@override
Widget build(BuildContext context) {
2025-12-03 11:57:05 +05:30
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => AuthProvider()),
ChangeNotifierProvider(create: (_) => UserProfileProvider()), // NEW
ChangeNotifierProvider(create: (_) => DashboardProvider()),
ChangeNotifierProvider(create: (_) => MarkListProvider()),
ChangeNotifierProvider(
create: (context) => OrderProvider(
OrderService(DioClient.getInstance(context)),
),
),
ChangeNotifierProvider(create: (_) => InvoiceProvider()),
],
2025-11-28 10:14:30 +05:30
child: MaterialApp(
title: 'Kent Logistics',
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
textTheme: GoogleFonts.interTextTheme(),
2025-12-03 11:57:05 +05:30
colorScheme: ColorScheme.fromSeed(seedColor: Colors.red),
scaffoldBackgroundColor: const Color(0xfff8f6ff), // your light background
appBarTheme: const AppBarTheme(
backgroundColor: Colors.indigo, // FIX
foregroundColor: Colors.white, // white text + icons
elevation: 1,
centerTitle: true,
),
2025-11-28 10:14:30 +05:30
),
2025-12-03 11:57:05 +05:30
2025-11-28 10:14:30 +05:30
home: const SplashScreen(),
),
);
}
}