@@ -12,42 +12,63 @@ import 'package:supabase_flutter/supabase_flutter.dart';
1212
1313Future <void > main () async {
1414 WidgetsFlutterBinding .ensureInitialized ();
15+
16+ // Load .env file
1517 await dotenv.load (fileName: '.env' );
16- String supabaseUrl = dotenv.env["SUPABASE_URL" ] ?? "Url" ;
17- String supabaseApiKey = dotenv.env["SUPABASE_KEY" ] ?? "your_api_key" ;
1818
19- final instance = await Supabase .initialize (
20- url: supabaseUrl,
21- anonKey: supabaseApiKey,
22- );
19+ // Get environment variables with fallback
20+ String supabaseUrl = dotenv.env['SUPABASE_URL' ] ?? 'https://default.supabase.co' ; // Fallback URL
21+ String supabaseApiKey = dotenv.env['SUPABASE_KEY' ] ?? 'your_api_key' ;
2322
24- runApp (MultiProvider (
25- providers: [
26- ChangeNotifierProvider <SupabaseService >(
27- create: (_) => SupabaseService (instance.client)),
28- ChangeNotifierProxyProvider <SupabaseService , AuthenticationProvider >(
29- create: (ctx) => AuthenticationProvider (
30- Provider .of <SupabaseService >(ctx, listen: false )),
31- update: (context, supabaseService, previousAuth) =>
32- previousAuth ?? AuthenticationProvider (supabaseService),
33- ),
34- ChangeNotifierProxyProvider <SupabaseService , FlowmanageProvider >(
35- create: (context) => FlowmanageProvider (
36- Provider .of <SupabaseService >(context, listen: false )),
37- update: (context, supabaseService, previousFlowProvider) =>
38- previousFlowProvider ?? FlowmanageProvider (supabaseService)),
39- ChangeNotifierProxyProvider <FlowmanageProvider , WorkspaceProvider >(
40- create: (context) => WorkspaceProvider (
41- Provider .of <FlowmanageProvider >(context, listen: false )),
42- update: (context, flowManage, previousWorkspace) =>
43- previousWorkspace ?? WorkspaceProvider (flowManage),
23+ // Ensure the URL starts with a scheme (e.g., https://)
24+ if (! supabaseUrl.startsWith ('http://' ) && ! supabaseUrl.startsWith ('https://' )) {
25+ supabaseUrl = 'https://$supabaseUrl ' ;
26+ }
27+
28+ try {
29+ final instance = await Supabase .initialize (
30+ url: supabaseUrl,
31+ anonKey: supabaseApiKey,
32+ debug: true , // Enable debug logs to trace issues
33+ );
34+
35+ print ('Supabase initialized with URL: $supabaseUrl ' );
36+
37+ runApp (MultiProvider (
38+ providers: [
39+ ChangeNotifierProvider <SupabaseService >(
40+ create: (_) => SupabaseService (instance.client)),
41+ ChangeNotifierProxyProvider <SupabaseService , AuthenticationProvider >(
42+ create: (ctx) => AuthenticationProvider (
43+ Provider .of <SupabaseService >(ctx, listen: false )),
44+ update: (context, supabaseService, previousAuth) =>
45+ previousAuth ?? AuthenticationProvider (supabaseService),
46+ ),
47+ ChangeNotifierProxyProvider <SupabaseService , FlowmanageProvider >(
48+ create: (context) => FlowmanageProvider (
49+ Provider .of <SupabaseService >(context, listen: false )),
50+ update: (context, supabaseService, previousFlowProvider) =>
51+ previousFlowProvider ?? FlowmanageProvider (supabaseService)),
52+ ChangeNotifierProxyProvider <FlowmanageProvider , WorkspaceProvider >(
53+ create: (context) => WorkspaceProvider (
54+ Provider .of <FlowmanageProvider >(context, listen: false )),
55+ update: (context, flowManage, previousWorkspace) =>
56+ previousWorkspace ?? WorkspaceProvider (flowManage),
57+ ),
58+ ChangeNotifierProvider <DashboardProvider >(
59+ create: (_) => DashboardProvider ()),
60+ ChangeNotifierProvider <LoadingProvider >(create: (_) => LoadingProvider ()),
61+ ],
62+ child: MyApp (),
63+ ));
64+ } catch (e) {
65+ print ('Error initializing Supabase: $e ' );
66+ runApp (MaterialApp (
67+ home: Scaffold (
68+ body: Center (child: Text ('Error: $e ' )),
4469 ),
45- ChangeNotifierProvider <DashboardProvider >(
46- create: (_) => DashboardProvider ()),
47- ChangeNotifierProvider <LoadingProvider >(create: (_) => LoadingProvider ()),
48- ],
49- child: MyApp (),
50- ));
70+ ));
71+ }
5172}
5273
5374class MyApp extends StatefulWidget {
@@ -58,7 +79,6 @@ class MyApp extends StatefulWidget {
5879}
5980
6081class _MyAppState extends State <MyApp > {
61-
6282 @override
6383 Widget build (BuildContext context) {
6484 return MaterialApp (
0 commit comments