- 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>
27 lines
499 B
TypeScript
27 lines
499 B
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:3000',
|
|
changeOrigin: true,
|
|
},
|
|
'/socket.io': {
|
|
target: 'http://localhost:3000',
|
|
changeOrigin: true,
|
|
ws: true,
|
|
},
|
|
},
|
|
},
|
|
css: {
|
|
modules: {
|
|
localsConvention: 'camelCase',
|
|
},
|
|
},
|
|
})
|