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
@@ -0,0 +1,34 @@
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/features/user/data/providers.dart';
part 'onboarding.g.dart';
@Riverpod(keepAlive: true)
class OnboardingRepository extends _$OnboardingRepository {
static const targetRevision = 1;
Future<int?> getCurrentRevision() {
return ref
.read(userDatabaseProvider)
.onboardingDao
.getLastRevision()
.getSingleOrNull();
}
Future<void> pushRevision(int revision) {
return ref
.read(userDatabaseProvider)
.onboardingDao
.pushRevision(revision, DateTime.now());
}
Future<bool> isOutdated() async {
final current = await getCurrentRevision();
return current != targetRevision;
}
@override
void build() {
return;
}
}