import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'screens/expectation_input_page.dart'; void main() { runApp(const IFRClearanceApp()); } class IFRClearanceApp extends StatefulWidget { const IFRClearanceApp({super.key}); @override IFRClearanceAppState createState() => IFRClearanceAppState(); } class IFRClearanceAppState extends State { bool _isDarkMode = false; @override void initState() { super.initState(); _loadDarkModeSetting(); } // Load the dark mode setting from shared preferences Future _loadDarkModeSetting() async { SharedPreferences prefs = await SharedPreferences.getInstance(); setState(() { _isDarkMode = prefs.getBool('isDarkMode') ?? false; // Default to false if not set }); } // Save the dark mode setting to shared preferences Future _saveDarkModeSetting(bool isDarkMode) async { SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.setBool('isDarkMode', isDarkMode); } // Toggle dark mode and save the setting void _toggleDarkMode() { setState(() { _isDarkMode = !_isDarkMode; }); _saveDarkModeSetting(_isDarkMode); // Save the new dark mode setting } @override Widget build(BuildContext context) { return MaterialApp( title: 'IFR Buddy', themeMode: _isDarkMode ? ThemeMode.dark : ThemeMode.light, theme: ThemeData( scaffoldBackgroundColor: const Color.fromRGBO(191, 191, 191, 1), // Light mode background color appBarTheme: const AppBarTheme( color: Color.fromRGBO(135, 135, 135, 1), // Light mode AppBar color ), cardColor: Colors.white, // Light mode card color ), darkTheme: ThemeData( scaffoldBackgroundColor: Colors.black87, // Dark mode background color appBarTheme: const AppBarTheme( color: Color.fromRGBO(41, 41, 41, 1), // Dark mode AppBar color ), cardColor: Colors.grey[800], // Dark mode card color brightness: Brightness.dark, ), home: ExpectationInputPage( isDarkMode: _isDarkMode, toggleDarkMode: _toggleDarkMode, ), ); } }