10 Commits

Author SHA1 Message Date
houseassassin bbc423d9c7 feat: Telegram Login Widget on /login page 2026-05-20 12:39:24 +03:00
houseassassin f3c80de219 fix: security fixes — 401 handler with token refresh, action error feedback in Keys
- client.ts: handle 401 responses by attempting token refresh, then logout and redirect to /login on failure
- Keys.tsx: add actionError state, surface API errors from handleRename and handleFreeze with visible error banner

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 12:36:26 +03:00
houseassassin 42c9954585 feat: initial production deploy to cricket-vpn.ru 2026-05-20 12:30:18 +03:00
houseassassin 68c0210a28 feat: complete dashboard pages (dashboard, keys, devices, payments, servers, profile)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 12:29:03 +03:00
houseassassin 5f1e06a793 feat: Login and Register pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 12:26:15 +03:00
houseassassin 0be6b30713 feat: landing page (hero, features, pricing, how-to, FAQ) 2026-05-20 12:22:58 +03:00
houseassassin 51f459c230 feat: Navbar, Sidebar, Footer layout components 2026-05-20 12:19:14 +03:00
houseassassin 3433cd60fe feat: UI component library (GlassCard, Button, Input, QRModal)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 12:17:51 +03:00
houseassassin 6b626eca95 feat: auth store, API client, router setup 2026-05-20 12:16:30 +03:00
houseassassin 63ace81e82 feat: scaffold Vite + React + TypeScript project 2026-05-20 12:14:27 +03:00