@@ -114,7 +114,8 @@ Future<void> _requestPermissions() async {
114114Future <void > _requestiOSPermissions () async {
115115 // Note: Location permission is now requested AFTER showing the prominent disclosure
116116 // dialog in MainScaffold (required for Google Play compliance)
117- debugLog ('[APP] iOS: Skipping location permission (handled after disclosure)' );
117+ debugLog (
118+ '[APP] iOS: Skipping location permission (handled after disclosure)' );
118119
119120 // Trigger Core Bluetooth authorization by checking adapter state
120121 // This will cause iOS to show the Bluetooth permission prompt if not already granted
@@ -132,7 +133,8 @@ Future<void> _requestiOSPermissions() async {
132133 .where ((state) => state == fbp.BluetoothAdapterState .on )
133134 .first
134135 .timeout (const Duration (seconds: 3 ), onTimeout: () {
135- debugLog ('[APP] iOS: Bluetooth authorization timeout (user may have denied or BT is off)' );
136+ debugLog (
137+ '[APP] iOS: Bluetooth authorization timeout (user may have denied or BT is off)' );
136138 return fbp.BluetoothAdapterState .off;
137139 });
138140 }
@@ -165,36 +167,39 @@ Future<void> _requestAndroidPermissions() async {
165167
166168// Dark theme - Tailwind Slate palette
167169const darkColorScheme = ColorScheme .dark (
168- primary: Color (0xFF059669 ), // emerald-600 (main actions)
170+ primary: Color (0xFF059669 ), // emerald-600 (main actions)
169171 onPrimary: Colors .white,
170- secondary: Color (0xFF0284C7 ), // sky-600 (TX ping)
172+ secondary: Color (0xFF0284C7 ), // sky-600 (TX ping)
171173 onSecondary: Colors .white,
172- tertiary: Color (0xFF4F46E5 ), // indigo-600 (auto modes)
174+ tertiary: Color (0xFF4F46E5 ), // indigo-600 (auto modes)
173175 onTertiary: Colors .white,
174- surface: Color (0xFF1E293B ), // slate-800 (cards/panels)
175- onSurface: Color (0xFFF1F5F9 ), // slate-100 (primary text)
176- onSurfaceVariant: Color (0xFFCBD5E1 ), // slate-300 (muted text, brighter for contrast)
176+ surface: Color (0xFF1E293B ), // slate-800 (cards/panels)
177+ onSurface: Color (0xFFF1F5F9 ), // slate-100 (primary text)
178+ onSurfaceVariant:
179+ Color (0xFFCBD5E1 ), // slate-300 (muted text, brighter for contrast)
177180 surfaceContainerHighest: Color (0xFF0F172A ), // slate-900 (main bg)
178- outline: Color (0xFF334155 ), // slate-700 (borders)
179- error: Color (0xFFF87171 ), // red-400
181+ outline: Color (0xFF334155 ), // slate-700 (borders)
182+ error: Color (0xFFF87171 ), // red-400
180183 onError: Colors .white,
181184);
182185
183186// Light theme - Tailwind Slate palette (inverted)
184187// Note: Using darker grays for better text contrast
185188const lightColorScheme = ColorScheme .light (
186- primary: Color (0xFF059669 ), // emerald-600
189+ primary: Color (0xFF059669 ), // emerald-600
187190 onPrimary: Colors .white,
188- secondary: Color (0xFF0284C7 ), // sky-600
191+ secondary: Color (0xFF0284C7 ), // sky-600
189192 onSecondary: Colors .white,
190- tertiary: Color (0xFF4F46E5 ), // indigo-600
193+ tertiary: Color (0xFF4F46E5 ), // indigo-600
191194 onTertiary: Colors .white,
192- surface: Color (0xFFF8FAFC ), // slate-50 (cards/panels)
193- onSurface: Color (0xFF0F172A ), // slate-900 (primary text - darker for contrast)
194- onSurfaceVariant: Color (0xFF475569 ), // slate-600 (muted text - darker for readability)
195+ surface: Color (0xFFF8FAFC ), // slate-50 (cards/panels)
196+ onSurface:
197+ Color (0xFF0F172A ), // slate-900 (primary text - darker for contrast)
198+ onSurfaceVariant:
199+ Color (0xFF475569 ), // slate-600 (muted text - darker for readability)
195200 surfaceContainerHighest: Color (0xFFFFFFFF ), // white (main bg)
196- outline: Color (0xFFCBD5E1 ), // slate-300 (borders)
197- error: Color (0xFFDC2626 ), // red-600
201+ outline: Color (0xFFCBD5E1 ), // slate-300 (borders)
202+ error: Color (0xFFDC2626 ), // red-600
198203 onError: Colors .white,
199204);
200205
@@ -206,9 +211,8 @@ class MeshMapperApp extends StatelessWidget {
206211 @override
207212 Widget build (BuildContext context) {
208213 // Create platform-appropriate Bluetooth service
209- final BluetoothService bluetoothService = kIsWeb
210- ? WebBluetoothService ()
211- : MobileBluetoothService ();
214+ final BluetoothService bluetoothService =
215+ kIsWeb ? WebBluetoothService () : MobileBluetoothService ();
212216
213217 return MultiProvider (
214218 providers: [
@@ -260,7 +264,8 @@ class _ThemedAppState extends State<_ThemedApp> {
260264 scaffoldBackgroundColor: const Color (0xFFF1F5F9 ), // slate-100
261265 appBarTheme: const AppBarTheme (
262266 backgroundColor: Color (0xFFF8FAFC ), // slate-50
263- foregroundColor: Color (0xFF0F172A ), // slate-900 (darker for contrast)
267+ foregroundColor:
268+ Color (0xFF0F172A ), // slate-900 (darker for contrast)
264269 ),
265270 cardTheme: CardThemeData (
266271 color: const Color (0xFFF8FAFC ), // slate-50
0 commit comments