import 'package:hl_lieferservice/data/network/backend_environment.dart'; import 'package:hl_lieferservice/feature/feature_flags/feature_flags.dart'; /// Lifecycle-States des App-Bootstraps. /// /// `AppConfigLoaded` heißt: Server-Config ist gelesen, die aktive Umgebung /// steht fest, das Networking dafür ist im Locator registriert und die /// Feature-Schalter sind geladen. abstract class AppState { const AppState(); } class AppInitial extends AppState { const AppInitial(); } class AppConfigLoading extends AppState { const AppConfigLoading(); } class AppConfigLoaded extends AppState { const AppConfigLoaded({ required this.catalog, required this.active, required this.featureFlags, }); /// Alle auswählbaren Umgebungen aus der Config-Datei. final ServerCatalog catalog; /// Die Umgebung, gegen die die App gerade spricht. final BackendEnvironment active; /// Feature-Schalter aus `assets/feature_flags.json`. final FeatureFlags featureFlags; } class AppConfigLoadingFailed extends AppState { const AppConfigLoadingFailed({required this.message}); final String message; }