feat: entity cache system, nav UX improvements, split CLAUDE.md

- Add $state-based entity cache layer with 30s TTL, request deduplication,
  and local mutation helpers (entity-cache.svelte.ts + caches.svelte.ts)
- Wire all 10 page components to use shared caches for cross-page data
- Add slide animation for nav tree expand/collapse with rotating chevron
- Remove aggregate count badges from container nav nodes (keep on leaves)
- Convert Targets from flat leaf to group with per-type children
  (Telegram, Webhook, Email, Discord, Slack, ntfy, Matrix)
- Add URL-based type filtering on Targets page with per-type descriptions
- Add Bots group children for Email and Matrix alongside Telegram
- Tab-based routing for bots page (?tab=telegram/email/matrix)
- Add per-type target counts and email/matrix bot counts to /status/counts
- Split CLAUDE.md into focused context files under .claude/docs/
- Fix .gitignore: scope lib/ to root, allow .claude/docs/ tracking
- Clear all caches on logout
- Reset form state when switching target type tabs
This commit is contained in:
2026-03-21 23:35:50 +03:00
parent 2c740ff2d2
commit 563716fa76
25 changed files with 551 additions and 155 deletions
+16 -2
View File
@@ -26,7 +26,14 @@
"telegram": "Telegram",
"email": "Email",
"matrix": "Matrix",
"common": "Common"
"common": "Common",
"targetTelegram": "Telegram",
"targetWebhook": "Webhook",
"targetEmail": "Email",
"targetDiscord": "Discord",
"targetSlack": "Slack",
"targetNtfy": "ntfy",
"targetMatrix": "Matrix"
},
"auth": {
"signIn": "Sign in",
@@ -188,7 +195,14 @@
},
"targets": {
"title": "Targets",
"description": "Notification destinations (Telegram, Discord, Slack, Email, ntfy, Matrix, Webhooks)",
"description": "Notification delivery destinations",
"descTelegram": "Telegram chat destinations for notifications",
"descWebhook": "HTTP webhook endpoints for notification delivery",
"descEmail": "Email recipients for notifications",
"descDiscord": "Discord channel webhooks for notifications",
"descSlack": "Slack channel webhooks for notifications",
"descNtfy": "ntfy push notification topics",
"descMatrix": "Matrix room destinations for notifications",
"addTarget": "Add Target",
"cancel": "Cancel",
"type": "Type",