Files
kent_logistics_app/lib/main.dart
Abhishek Mali bb81269140 chat support
2025-12-15 11:10:52 +05:30

83 lines
2.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:kent_logistics_app/providers/chat_unread_provider.dart';
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';
import 'package:provider/provider.dart';
import 'providers/auth_provider.dart';
import 'providers/user_profile_provider.dart'; // NEW IMPORT
import 'screens/splash_screen.dart';
import 'package:google_fonts/google_fonts.dart';
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()),
ChangeNotifierProvider(create: (_) => ChatUnreadProvider()),
],
child: const KentApp(),
));
}
class KentApp extends StatelessWidget {
const KentApp({super.key});
@override
Widget build(BuildContext context) {
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()),
ChangeNotifierProvider(create: (_) => ChatUnreadProvider()),
],
child: MaterialApp(
title: 'Kent Logistics',
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
textTheme: GoogleFonts.interTextTheme(),
colorScheme: ColorScheme.fromSeed(seedColor: Colors.red),
scaffoldBackgroundColor: const Color(0xFFE8F0FF), // your light background
appBarTheme: const AppBarTheme(
backgroundColor: Colors.indigo, // FIX
foregroundColor: Colors.white, // white text + icons
elevation: 1,
centerTitle: true,
),
),
home: const SplashScreen(),
),
);
}
}