Implementation
Future<AppInitializationResult> call() async {
try {
// 1. Verify and load component seed data if needed
final hasSeed = await _componentRepository.hasSeedData();
if (!hasSeed) {
await _componentRepository.loadSeedData();
}
// 2. Determine if user needs onboarding
final hasCompletedOnboarding =
_prefs.getBool(_onboardingCompletedKey) ?? false;
return AppInitializationResult.success(
shouldShowOnboarding: !hasCompletedOnboarding,
);
} catch (e, stackTrace) {
return AppInitializationResult.failure(
error: e.toString(),
stackTrace: stackTrace,
);
}
}