add ticker page bloc and avatar disk cache

This commit is contained in:
2026-07-12 23:18:53 +02:00
parent 94794ff092
commit 9b5198c6db
18 changed files with 944 additions and 233 deletions
@@ -0,0 +1,23 @@
import 'dart:typed_data';
import '../../../../../api/demo/data/demo_ticker.dart';
import '../../../../../api/demo/demo_mode.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page/get_ticker_page.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page/get_ticker_page_response.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page_file/get_ticker_page_file.dart';
import '../../../infrastructure/repository/repository.dart';
import '../bloc/ticker_page_state.dart';
/// Split from [TickerRepository] because the loadable base binds a repository
/// to its state type, and the per-page bloc is typed on [TickerPageState].
class TickerPageRepository extends Repository<TickerPageState> {
Future<TickerPageResponse> getPage(String slug) {
if (DemoMode.active) return Future.value(DemoTicker.page(slug));
return GetTickerPage(slug).run();
}
Future<Uint8List> getPageFile(String slug) {
if (DemoMode.active) return Future.value(Uint8List(0));
return GetTickerPageFile(slug).run();
}
}
@@ -1,14 +1,9 @@
import 'dart:typed_data';
import '../../../../../api/demo/data/demo_ticker.dart';
import '../../../../../api/demo/demo_mode.dart';
import '../../../../../api/marianumconnect/queries/get_ticker/get_ticker.dart';
import '../../../../../api/marianumconnect/queries/get_ticker/get_ticker_response.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_nav/get_ticker_nav.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_nav/get_ticker_nav_response.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page/get_ticker_page.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page/get_ticker_page_response.dart';
import '../../../../../api/marianumconnect/queries/get_ticker_page_file/get_ticker_page_file.dart';
import '../../../infrastructure/repository/repository.dart';
import '../bloc/ticker_state.dart';
@@ -22,14 +17,4 @@ class TickerRepository extends Repository<TickerState> {
if (DemoMode.active) return Future.value(DemoTicker.nav());
return GetTickerNav().run();
}
Future<TickerPageResponse> getPage(String slug) {
if (DemoMode.active) return Future.value(DemoTicker.page(slug));
return GetTickerPage(slug).run();
}
Future<Uint8List> getPageFile(String slug) {
if (DemoMode.active) return Future.value(Uint8List(0));
return GetTickerPageFile(slug).run();
}
}