import 'package:flutter/material.dart'; import '../screens/splash_screen.dart'; import '../screens/login_screen.dart'; import '../screens/home_screen.dart'; import '../screens/guild_screen.dart'; import '../screens/chat_screen.dart'; import '../screens/settings_screen.dart'; import '../services/connection_service.dart'; import 'package:provider/provider.dart'; class JAMAppShell extends StatefulWidget { const JAMAppShell({super.key}); @override State createState() => _JAMAppShellState(); } class _JAMAppShellState extends State { final ConnectionService _connectionService = ConnectionService(); @override void initState() { super.initState(); _connectionService.init(); } @override void dispose() { _connectionService.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider.value(value: _connectionService), ], child: MaterialApp( debugShowCheckedModeBanner: false, title: 'JustAMessenger', theme: ThemeData.dark().copyWith( colorScheme: ColorScheme.dark( primary: const Color(0xFF5865F2), secondary: const Color(0xFF3BA55D), surface: const Color(0xFF2F3136), error: const Color(0xFFED4245), ), scaffoldBackgroundColor: const Color(0xFF36393F), ), initialRoute: '/', routes: { '/': (context) => const SplashScreen(), '/login': (context) => const LoginScreen(), '/home': (context) => const HomeScreen(), '/guild': (context) => const GuildScreen(), '/chat': (context) => const ChatScreen(), '/settings': (context) => const SettingsScreen(), }, ), ); } }