feat(frontend): admin dashboard + içerik kataloğu UI, realtime sync
- index.css: IBM Plex Sans + Bricolage Grotesque font'ları import edildi;
CSS custom property sistemi (--bg-base, --accent-main vb.) tanımlandı;
body'ye fixed radial gradient + grid overlay arka plan eklendi.
- main.tsx: MantineProvider tema güncellendi — IBM Plex Sans/Bricolage
Grotesque font ailesi, responsive heading boyutları, özel radius/shadow
değerleri ayarlandı.
- App.css: Gereksiz yorum temizlendi, stil yönetimi route-level CSS'e taşındı.
- MoviesPage.tsx (büyük güncelleme):
• Katalog görünümü: film/dizi grid, arama, sıralama, backdrop modal.
• Admin Dashboard görünümü: cache özeti, content istatistikleri, job
durum sayaçları, failed job listesi, cache expiry tablosu, metrics
(hit/miss oranı, kaynak dağılımı).
• Admin aksiyonlar: cache temizleme, cache ısıtma, başarısız job
yeniden kuyruklama, eski içerik yenileme.
• Socket.IO entegrasyonu: content:event dinlenerek katalog anlık
güncelleniyor; metrics:updated ile dashboard metrikleri canlı akıyor.
• Reconnect davranışı: bağlantı kopunca her görünüm kendi snapshot'ını
otomatik yeniliyor.
- movies-page.css (yeni): MoviesPage'e özel kart, backdrop, istatistik
kutusu ve animasyon stilleri.
- vite.config.ts: /socket.io proxy kuralı eklendi (ws: true) — dev
sunucusu üzerinden WebSocket bağlantısı backend'e yönlendiriliyor.
- frontend/.env.example (yeni): VITE_API_BASE_URL, VITE_WEB_API_KEY,
VITE_ADMIN_API_KEY değişken şablonu eklendi.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,11 @@ export default defineConfig({
|
||||
target: 'http://localhost:3000',
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/socket.io': {
|
||||
target: 'http://localhost:3000',
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
css: {
|
||||
|
||||
Reference in New Issue
Block a user