improved environment management

This commit is contained in:
2026-03-27 19:46:45 +02:00
parent d010ec75eb
commit 15f8e0dfd0
7 changed files with 120 additions and 55 deletions

View File

@@ -29,21 +29,34 @@ import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
const String testEnv = "assets/.env";
const String liveEnv = "assets/.env";
const String testEnv = 'assets/.env.test';
const String liveEnv = 'assets/.env.live';
const String appEnv = String.fromEnvironment('APP_ENV', defaultValue: 'test');
String resolveEnvFile(String env) {
switch (env.toLowerCase()) {
case 'live':
return liveEnv;
case 'test':
default:
return testEnv;
}
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await dotenv.load(fileName: testEnv);
await dotenv.load(fileName: resolveEnvFile(appEnv));
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider<TransactionController>(create: (_) => TransactionController()),
ChangeNotifierProvider<OnboardingController>(create: (_) => OnboardingController()),
ChangeNotifierProvider<TransactionController>(
create: (_) => TransactionController(),
),
ChangeNotifierProvider<OnboardingController>(
create: (_) => OnboardingController(),
),
],
child: const MyApp(),
),