initial onboarding

This commit is contained in:
Fabian Freund
2025-06-14 23:33:24 +02:00
parent 11a1e8e5f5
commit bce9f0b3a5
26 changed files with 918 additions and 12 deletions
+26 -2
View File
@@ -2,10 +2,34 @@ import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/user/domain/repositories/onboarding.dart';
part 'router.g.dart';
@Riverpod(keepAlive: true)
GoRouter router(Ref ref) {
return GoRouter(debugLogDiagnostics: true, routes: $appRoutes);
Future<GoRouter> router(Ref ref) async {
String? initialLocation;
final onboardingMandatory = await ref
.read(onboardingRepositoryProvider.notifier)
.isOutdated();
if (onboardingMandatory) {
final current = await ref
.read(onboardingRepositoryProvider.notifier)
.getCurrentRevision();
final route = OnboardingRoute(
currentRevision: current ?? -1,
targetRevision: OnboardingRepository.targetRevision,
);
initialLocation = route.location;
}
return GoRouter(
debugLogDiagnostics: true,
routes: $appRoutes,
initialLocation: initialLocation,
);
}
+3 -3
View File
@@ -6,11 +6,11 @@ part of 'router.dart';
// RiverpodGenerator
// **************************************************************************
String _$routerHash() => r'25fc899b87c080600f6e1d87d510db333378bdfd';
String _$routerHash() => r'ce7cc5b5f236781a06867a852a08ed03d3582022';
/// See also [router].
@ProviderFor(router)
final routerProvider = Provider<GoRouter>.internal(
final routerProvider = FutureProvider<GoRouter>.internal(
router,
name: r'routerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
@@ -22,6 +22,6 @@ final routerProvider = Provider<GoRouter>.internal(
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef RouterRef = ProviderRef<GoRouter>;
typedef RouterRef = FutureProviderRef<GoRouter>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package