feat(app): offline-кэш GET-запросов на дашборде — фаза 5

CacheInterceptor кэширует каждый успешный GET по путь+параметры в drift
(sqlite нативно, wasm+OPFS в браузере) и подменяет им сетевую ошибку;
провайдер отдаёт Cached<T>, экран показывает баннер «данные на …».
Контракт для остальных экранов — docs/ai/offline-cache.md.

flake.nix: libsecret/pkg-config для линуксовой сборки, jq/curl для
just app-web-assets (сборка sqlite3.wasm + drift_worker.js).
This commit is contained in:
Dmitry
2026-09-19 12:40:08 +03:00
parent 95cd6f176e
commit ffc5ed959a
21 changed files with 15852 additions and 60 deletions
+5
View File
@@ -22,11 +22,16 @@ dependencies:
fl_chart: ^0.69.0
shared_preferences: ^2.3.4
file_picker: ^11.0.3
drift: ^2.35.0
drift_flutter: ^0.3.1
path_provider: ^2.1.6
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
drift_dev: ^2.35.0
build_runner: ^2.16.1
flutter:
uses-material-design: true