import 'package:onufitness/environment/app_environment.dart'; import 'package:onufitness/environment/development_config.dart'; import 'package:onufitness/environment/production_config.dart'; import 'package:onufitness/environment/uat_config.dart'; abstract class EnvironmentConfig { String get apiBaseUrl; String get webUrl; String get sentryDsn; String get environment; bool get enableLogging; bool get useSentry; // App-wide configurations String get googleIosClientId; String get agoraAppId; String get agoraChatAppKey; int get streamEndsTime; } class EnvironmentConfigFactory { static EnvironmentConfig getConfig() { switch (AppEnvironment.current) { case Environment.development: return DevelopmentConfig(); case Environment.uat: return UATConfig(); case Environment.production: return ProductionConfig(); } } }