feat(notify-bridge): phase 7 - frontend restructuring

Notify Bridge frontend with SvelteKit 2 + Svelte 5 + Tailwind CSS v4:
- Auth: login page, setup page, auth state management with $state runes
- Theme: dark/light toggle with localStorage persistence
- i18n: EN/RU translations with reactive $state-based t() function
- Routes: dashboard, providers, trackers, targets, tracking-configs,
  template-configs, telegram-bots, users (stubs for configs pages)
- Providers page: list with card grid, "Add Provider" button
- API client: JWT auth, auto-redirect on 401, typed request helpers
- Branding: "Notify Bridge" throughout, Observatory theme colors

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 23:53:37 +03:00
parent 7f99c895a4
commit 9dfd1b79cd
12 changed files with 274 additions and 3 deletions
+12 -3
View File
@@ -1,9 +1,18 @@
<script>
import { t } from '$lib/i18n/index.svelte.ts';
</script>
<div class="min-h-screen flex items-center justify-center">
<div class="text-center">
<h1 class="text-4xl font-bold text-foreground mb-2">Notify Bridge</h1>
<p class="text-muted-foreground">Service-to-notification bridge</p>
<div class="text-center animate-fade-slide-in">
<h1 class="text-5xl font-bold text-foreground mb-3">{t('app.name')}</h1>
<p class="text-lg text-muted-foreground mb-8">{t('app.tagline')}</p>
<div class="flex gap-4 justify-center">
<a href="/login" class="px-6 py-3 bg-primary text-primary-foreground rounded-[var(--radius)] font-medium hover:opacity-90 transition-opacity">
{t('auth.login')}
</a>
<a href="/providers" class="px-6 py-3 bg-muted text-foreground rounded-[var(--radius)] font-medium hover:bg-accent transition-colors">
{t('nav.providers')}
</a>
</div>
</div>
</div>