feat(web): офлайн-режим с кешем эскизов и превью

Добавлен service worker: оболочка приложения, ответы API и варианты
изображений (эскиз, превью, средний) сохраняются в офлайн-кеше браузера.
Ключ кеша картинки — путь объекта без подписи, поэтому обновление подписи
не плодит записи; оригиналы и видео не кешируются. Кеш ограничен по размеру
и вытесняет старые записи, при выходе из аккаунта очищается, а в верхней
панели появляется индикатор «Офлайн».

Добавлен манифест PWA; манифест отдаётся с типом application/manifest+json.
This commit is contained in:
iu
2026-10-20 22:27:24 +03:00
parent 961dff15da
commit afaaaab5f0
9 changed files with 373 additions and 1 deletions
+17
View File
@@ -0,0 +1,17 @@
{
"name": "Galo — фотоальбом",
"short_name": "Galo",
"description": "Самодостаточный фотоальбом: альбомы, сетка, просмотр и офлайн-режим.",
"lang": "ru",
"start_url": "/",
"scope": "/",
"display": "standalone",
"orientation": "any",
"background_color": "#171717",
"theme_color": "#171717",
"icons": [
{ "src": "/favicon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" },
{ "src": "/favicon.png", "sizes": "32x32", "type": "image/png" },
{ "src": "/apple-touch-icon.png", "sizes": "180x180", "type": "image/png" }
]
}