MIF_E31221222/sigap-mobile/lib/main.dart

46 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:get_storage/get_storage.dart';
import 'package:mapbox_maps_flutter/mapbox_maps_flutter.dart';
import 'package:sigap/app.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
Future<void> main() async {
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
// Make sure status bar is properly set
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(statusBarColor: Colors.transparent),
);
// FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
// Load environment variables from the .env file
await dotenv.load(fileName: ".env");
// -- GetX Local Storage
await GetStorage.init();
// Initialize the authentication repository with Supabase
await Supabase.initialize(
url: dotenv.env['SUPABASE_URL'] ?? '',
anonKey: dotenv.env['SUPABASE_ANON_KEY'] ?? '',
authOptions: const FlutterAuthClientOptions(
authFlowType: AuthFlowType.pkce,
// detectSessionInUri: true,
),
realtimeClientOptions: RealtimeClientOptions(
logLevel: RealtimeLogLevel.info,
),
storageOptions: const StorageClientOptions(retryAttempts: 10),
);
// Initialize the Mapbox
String mapboxAccesToken = dotenv.env['MAPBOX_ACCESS_TOKEN'] ?? '';
MapboxOptions.setAccessToken(mapboxAccesToken);
runApp(const App());
}