chore: use cached derived data in level bar when available

This commit is contained in:
ggurdin 2026-01-20 12:01:09 -05:00
parent c3afbd2270
commit 91701b1834
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
2 changed files with 10 additions and 6 deletions

View file

@ -214,6 +214,8 @@ class AnalyticsDataService {
await _syncController?.waitForSync(analyticsRoomID);
}
DerivedAnalyticsDataModel? get cachedDerivedData => _cachedDerivedStats;
Future<DerivedAnalyticsDataModel> get derivedData async {
await _ensureInitialized();

View file

@ -206,21 +206,23 @@ class LearningProgressIndicators extends StatelessWidget {
child: FutureBuilder(
future: analyticsService.derivedData,
builder: (context, snapshot) {
final cached =
analyticsService.cachedDerivedData;
final data = snapshot.data ?? cached;
return Row(
spacing: 8.0,
children: [
Expanded(
child: LearningProgressBar(
height: 24.0,
loading: !snapshot.hasData,
progress: snapshot
.data?.levelProgress ??
0.0,
loading: data == null,
progress:
data?.levelProgress ?? 0.0,
),
),
if (snapshot.hasData)
if (data != null)
Text(
"${snapshot.data!.level}",
"${data.level}",
style: Theme.of(context)
.textTheme
.titleLarge