call method

Future<AppInitializationResult> call()

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,
    );
  }
}