main.dart 2.8 KB

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