- {thumbnailAsset?.url ? (
+ {thumbnailAsset?.url && !isGeneratingImage ? (
-
-
Görsel Henüz Üretilmedi
+
+ {isGeneratingImage ? (
+
+
+
+ AI Görsel Üretiyor...
+
+
+ ) : (
+ <>
+
+
Görsel Henüz Üretilmedi
+ >
+ )}
)}
diff --git a/src/constants/cinematic-references.ts b/src/constants/cinematic-references.ts
new file mode 100644
index 0000000..927a003
--- /dev/null
+++ b/src/constants/cinematic-references.ts
@@ -0,0 +1,30 @@
+export const CINEMATIC_REFERENCES = [
+ // Yönetmen Stilleri
+ { value: 'Denis Villeneuve', label: 'Denis Villeneuve (Blade Runner 2049, Dune)' },
+ { value: 'Christopher Nolan', label: 'Christopher Nolan (Interstellar, Inception)' },
+ { value: 'Wes Anderson', label: 'Wes Anderson (Simetri, Pastel Renkler)' },
+ { value: 'Stanley Kubrick', label: 'Stanley Kubrick (Tek Nokta Perspektifi, Derinlik)' },
+ { value: 'Quentin Tarantino', label: 'Quentin Tarantino (Dinamik Açılar, Canlı Renkler)' },
+ { value: 'Zack Snyder', label: 'Zack Snyder (Karanlık, Ağır Çekim, Yüksek Kontrast)' },
+ { value: 'Hayao Miyazaki', label: 'Hayao Miyazaki / Studio Ghibli (Anime, Sıcak, Büyülü)' },
+ { value: 'Tim Burton', label: 'Tim Burton (Gotik, Ekspresyonist)' },
+ { value: 'Andrei Tarkovsky', label: 'Andrei Tarkovsky (Şiirsel, Yavaş, Atmosferik)' },
+ { value: 'David Fincher', label: 'David Fincher (Karanlık, Yeşil/Sarı Tonlar)' },
+ { value: 'George Miller', label: 'George Miller (Mad Max, Kaotik, Çöl Tonları)' },
+ { value: 'Ridley Scott', label: 'Ridley Scott (Epik, Yoğun Işık, Dumanlı)' },
+ // Film ve Oyun Stilleri
+ { value: 'The Matrix', label: 'The Matrix (Yeşil Filtre, Cyberpunk)' },
+ { value: 'Cyberpunk 2077', label: 'Cyberpunk 2077 (Neon Işıklar, Fütüristik)' },
+ { value: 'Stranger Things', label: 'Stranger Things (80ler Retro, Synthwave)' },
+ { value: 'Arcane', label: 'Arcane (Boyanmış Animasyon, Steampunk)' },
+ { value: 'Spider-Verse', label: 'Spider-Verse (Çizgi Roman Stili, Dinamik Kareler)' },
+ { value: 'Lord of the Rings', label: 'Lord of the Rings (Epik Fantastik, Geniş Açılar)' },
+ { value: 'Sopranos', label: 'Cinéma Vérité (Gerçekçi Belgesel Stili)' },
+ { value: 'Sin City', label: 'Sin City (Siyah Beyaz, Kırmızı Vurgu)' },
+ // Dönem ve Sanat Stilleri
+ { value: 'Noir', label: 'Film Noir (1940\'lar Suç, Siyah Beyaz)' },
+ { value: 'Vintage 1970s', label: '70ler Vintage (Grenli, Sıcak Tonlar)' },
+ { value: 'Vaporwave', label: 'Vaporwave (Mor, Pembe, Retro-PC)' },
+ { value: 'Anime 90s', label: '90lar Anime (VHS Efektli, Nostaljik)' },
+ { value: 'Pixar 3D', label: 'Pixar 3D (Tatlı, Yuvarlak Hatlar, Yumuşak Işık)' },
+];
diff --git a/src/lib/api/api-service.ts b/src/lib/api/api-service.ts
index 44a6cd8..9a370b7 100644
--- a/src/lib/api/api-service.ts
+++ b/src/lib/api/api-service.ts
@@ -16,6 +16,7 @@ export interface Project {
language: string;
aspectRatio: string;
videoStyle: string;
+ cinematicReference?: string;
targetDuration: number;
creditsUsed: number;
thumbnailUrl?: string;
@@ -135,17 +136,28 @@ export interface PaginatedResponse
{
export interface CreateProjectPayload {
title: string;
description?: string;
- topic?: string;
- prompt?: string;
+ prompt: string;
language?: string;
aspectRatio?: string;
- style?: string;
videoStyle?: string;
+ cinematicReference?: string;
targetDuration?: number;
seoKeywords?: string[];
referenceUrl?: string;
}
+export interface UpdateProjectPayload {
+ title?: string;
+ description?: string;
+ prompt?: string;
+ language?: string;
+ aspectRatio?: string;
+ videoStyle?: string;
+ cinematicReference?: string;
+ targetDuration?: number;
+ seoKeywords?: string[];
+}
+
export interface CreditBalance {
balance: number;
remaining: number;
@@ -232,6 +244,7 @@ export interface CreateFromTweetPayload {
language?: string;
aspectRatio?: string;
videoStyle?: string;
+ cinematicReference?: string;
targetDuration?: number;
}