Files
Handwerks_app/screens/app_logged_in_gate.dart
JUSN 9ddce354c0 Feature
ein paar feature aber datenbank macht probleme wenn man aufträge speichern möchge
2026-04-05 12:47:57 +02:00

56 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import '../services/app_preferences.dart';
import '../theme/app_theme.dart';
import 'onboarding/onboarding_screen.dart';
import 'shell/main_shell_screen.dart';
/// Zeigt einmalig das Onboarding, danach die Haupt-App.
class AppLoggedInGate extends StatefulWidget {
const AppLoggedInGate({super.key, required this.onLoggedOut});
final VoidCallback onLoggedOut;
@override
State<AppLoggedInGate> createState() => _AppLoggedInGateState();
}
class _AppLoggedInGateState extends State<AppLoggedInGate> {
bool _prefsReady = false;
bool _onboardingDone = false;
@override
void initState() {
super.initState();
_loadPrefs();
}
Future<void> _loadPrefs() async {
final done = await AppPreferences.isOnboardingDone();
if (!mounted) return;
setState(() {
_onboardingDone = done;
_prefsReady = true;
});
}
@override
Widget build(BuildContext context) {
if (!_prefsReady) {
return const Scaffold(
backgroundColor: AppTheme.background,
body: Center(child: CircularProgressIndicator()),
);
}
if (!_onboardingDone) {
return OnboardingScreen(
onComplete: () async {
await AppPreferences.setOnboardingDone();
if (mounted) setState(() => _onboardingDone = true);
},
);
}
return MainShellScreen(onLoggedOut: widget.onLoggedOut);
}
}