3ad8ddaa25
Redesign frontend UI with Observatory theme
...
Validate / Hassfest (push) Successful in 3s
New teal-accent color system, DM Sans + JetBrains Mono typography,
glow effects, animated gradient login page, animated dashboard counters
with gradient-border stat cards, event timeline, sidebar with active
glow indicators, and polished components (modals, cards, snackbar).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 22:10:06 +03:00
e6ff0a423a
Phase 10: Telegram bot commands + Phase 11: Snackbar notifications
...
Validate / Hassfest (push) Successful in 3s
Phase 10 — Telegram Bot Commands:
- Add commands_config JSON field to TelegramBot model (enabled cmds,
default count, response mode, rate limits, locale)
- Create command handler with 14 commands: /status, /albums, /events,
/summary, /latest, /memory, /random, /search, /find, /person,
/place, /favorites, /people, /help
- Add search_smart, search_metadata, search_by_person, get_random,
download_asset, get_asset_thumbnail to ImmichClient
- Auto-register commands with Telegram setMyCommands API (EN+RU)
- Rate limiting per chat per command category
- Media mode: download thumbnails and send as photos to Telegram
- Webhook handler routes /commands before falling through to AI chat
- Frontend: expandable Commands section per bot with checkboxes,
count/mode/locale settings, rate limit inputs, sync button
Phase 11 — Snackbar Notifications:
- Create snackbar store (snackbar.svelte.ts) with $state rune
- Create Snackbar component with fly/fade transitions, typed colors
- Mount globally in +layout.svelte
- Replace all alert() calls with typed snackbar notifications
- Add success snacks to all CRUD operations across all pages
- 4 types: success (3s), error (5s), info (3s), warning (4s)
- Max 3 visible, auto-dismiss, manual dismiss via X button
Both: Add ~30 i18n keys (EN+RU) for commands UI and snack messages.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 21:39:05 +03:00