2026-04-13 09:55:14 -07:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
2026-04-14 14:33:48 -07:00
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
2026-04-13 09:55:14 -07:00
|
|
|
|
|
|
|
|
import 'app.dart';
|
2026-07-23 12:21:10 -07:00
|
|
|
import 'shared/client/client_headers.dart';
|
2026-04-14 14:33:48 -07:00
|
|
|
import 'shared/theme/theme_provider.dart';
|
2026-04-13 09:55:14 -07:00
|
|
|
|
2026-04-14 14:33:48 -07:00
|
|
|
void main() async {
|
2026-04-13 09:55:14 -07:00
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
|
|
2026-04-14 14:33:48 -07:00
|
|
|
// Pre-load preferences so the first frame uses the saved theme/accent.
|
2026-07-23 13:33:51 -07:00
|
|
|
final prefs = await SharedPreferences.getInstance();
|
|
|
|
|
var clientHeaders = ClientHeaders.empty;
|
|
|
|
|
try {
|
|
|
|
|
clientHeaders = await loadClientHeaders();
|
|
|
|
|
} catch (error) {
|
|
|
|
|
debugPrint('Could not load optional Buzz client headers: $error');
|
|
|
|
|
}
|
2026-04-14 14:33:48 -07:00
|
|
|
|
|
|
|
|
runApp(
|
|
|
|
|
ProviderScope(
|
2026-07-23 12:21:10 -07:00
|
|
|
overrides: [
|
|
|
|
|
savedPrefsProvider.overrideWithValue(prefs),
|
|
|
|
|
clientHeadersProvider.overrideWithValue(clientHeaders),
|
|
|
|
|
],
|
2026-04-14 14:33:48 -07:00
|
|
|
child: const App(),
|
|
|
|
|
),
|
|
|
|
|
);
|
2026-04-13 09:55:14 -07:00
|
|
|
}
|