chore: use cached derived data in level bar when available
This commit is contained in:
parent
c3afbd2270
commit
91701b1834
2 changed files with 10 additions and 6 deletions
|
|
@ -214,6 +214,8 @@ class AnalyticsDataService {
|
|||
await _syncController?.waitForSync(analyticsRoomID);
|
||||
}
|
||||
|
||||
DerivedAnalyticsDataModel? get cachedDerivedData => _cachedDerivedStats;
|
||||
|
||||
Future<DerivedAnalyticsDataModel> get derivedData async {
|
||||
await _ensureInitialized();
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue