main.dart 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import 'dart:developer';
  2. import 'package:flutter_riverpod/flutter_riverpod.dart';
  3. import 'package:permission_handler/permission_handler.dart';
  4. import 'package:tp5/core/my_theme.dart';
  5. import 'package:tp5/csv/data.dart';
  6. import 'package:tp5/providers/airports.dart';
  7. import 'package:supabase_flutter/supabase_flutter.dart';
  8. import 'package:hive_flutter/hive_flutter.dart';
  9. import 'package:flutter/material.dart';
  10. import 'package:tp5/core/core.dart';
  11. import 'package:timezone/data/latest.dart' as tz;
  12. main() async {
  13. WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
  14. // FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
  15. await Permission.mediaLibrary.onDeniedCallback(() {
  16. // Your code
  17. }).onGrantedCallback(() {
  18. // Your code
  19. }).onPermanentlyDeniedCallback(() {
  20. // Your code
  21. }).onRestrictedCallback(() {
  22. // Your code
  23. }).onLimitedCallback(() {
  24. // Your code
  25. }).onProvisionalCallback(() {
  26. // Your code
  27. }).request();
  28. // await Permission.manageExternalStorage.onDeniedCallback(() {
  29. // // Your code
  30. // }).onGrantedCallback(() {
  31. // // Your code
  32. // }).onPermanentlyDeniedCallback(() {
  33. // // Your code
  34. // }).onRestrictedCallback(() {
  35. // // Your code
  36. // }).onLimitedCallback(() {
  37. // // Your code
  38. // }).onProvisionalCallback(() {
  39. // // Your code
  40. // }).request();
  41. // await Permission.storage.onDeniedCallback(() {
  42. // // Your code
  43. // }).onGrantedCallback(() {
  44. // // Your code
  45. // }).onPermanentlyDeniedCallback(() {
  46. // // Your code
  47. // }).onRestrictedCallback(() {
  48. // // Your code
  49. // }).onLimitedCallback(() {
  50. // // Your code
  51. // }).onProvisionalCallback(() {
  52. // // Your code
  53. // }).request();
  54. await Hive.initFlutter();
  55. await Hive.openBox("crewlink");
  56. await Hive.openBox("lido");
  57. await Hive.openBox("settings");
  58. await Hive.openBox("settings");
  59. await PathTo().initialize();
  60. await Airports.init();
  61. tz.initializeTimeZones();
  62. try {
  63. Supabase.initialize(
  64. url: 'http://baas.fares.cyou:8000',
  65. anonKey:
  66. 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE',
  67. debug: true);
  68. } catch (e) {
  69. log("Supabase: $e");
  70. }
  71. // FlutterNativeSplash.remove();
  72. runApp(const ProviderScope(child: MyApp()));
  73. }
  74. class MyApp extends ConsumerWidget {
  75. const MyApp({super.key});
  76. @override
  77. Widget build(BuildContext context, WidgetRef ref) {
  78. final routes = ref.read(routeProvider);
  79. final data = ref.read(dataProvider);
  80. return MaterialApp.router(
  81. title: 'TAR Pilot',
  82. debugShowCheckedModeBanner: false,
  83. theme: myTheme(context, false),
  84. darkTheme: myTheme(context, true),
  85. themeMode: ref.watch(appThemeProvider) ? ThemeMode.dark : ThemeMode.light,
  86. routerConfig: routes,
  87. );
  88. }
  89. }