generated from fahricansecer/boilerplate-fe
This commit is contained in:
@@ -46,6 +46,7 @@ export default function DocumentToVideoPage() {
|
|||||||
|
|
||||||
const [file, setFile] = useState<File | null>(null);
|
const [file, setFile] = useState<File | null>(null);
|
||||||
const [style, setStyle] = useState("CINEMATIC");
|
const [style, setStyle] = useState("CINEMATIC");
|
||||||
|
const [cinematicReference, setCinematicReference] = useState("");
|
||||||
const [duration, setDuration] = useState(60);
|
const [duration, setDuration] = useState(60);
|
||||||
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
||||||
const [language, setLanguage] = useState("tr");
|
const [language, setLanguage] = useState("tr");
|
||||||
@@ -68,6 +69,7 @@ export default function DocumentToVideoPage() {
|
|||||||
language,
|
language,
|
||||||
aspectRatio,
|
aspectRatio,
|
||||||
videoStyle: style,
|
videoStyle: style,
|
||||||
|
cinematicReference: cinematicReference ? cinematicReference : undefined,
|
||||||
targetDuration: duration,
|
targetDuration: duration,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -162,6 +164,20 @@ export default function DocumentToVideoPage() {
|
|||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
{style === "CINEMATIC" && (
|
||||||
|
<div className="pt-3 mt-3 border-t border-[var(--color-border-faint)]">
|
||||||
|
<label className="text-xs font-medium text-[var(--color-text-secondary)] mb-2 block">
|
||||||
|
Özel Sinematik Referans (Opsiyonel)
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Örn: Wes Anderson, Matrix, Neon Cyberpunk..."
|
||||||
|
value={cinematicReference}
|
||||||
|
onChange={(e) => setCinematicReference(e.target.value)}
|
||||||
|
className="w-full bg-[var(--color-bg-elevated)] border border-[var(--color-border-faint)] rounded-xl py-2 px-3 text-sm focus:border-blue-500/50 outline-none transition-colors"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="card p-5 space-y-4">
|
<div className="card p-5 space-y-4">
|
||||||
|
|||||||
@@ -107,10 +107,10 @@ export default function NewProjectPage() {
|
|||||||
|
|
||||||
const [currentStep, setCurrentStep] = useState(0);
|
const [currentStep, setCurrentStep] = useState(0);
|
||||||
|
|
||||||
// Form state
|
|
||||||
const [topic, setTopic] = useState("");
|
const [topic, setTopic] = useState("");
|
||||||
const [language, setLanguage] = useState("tr");
|
const [language, setLanguage] = useState("tr");
|
||||||
const [style, setStyle] = useState("CINEMATIC");
|
const [style, setStyle] = useState("CINEMATIC");
|
||||||
|
const [cinematicReference, setCinematicReference] = useState("");
|
||||||
const [duration, setDuration] = useState(60);
|
const [duration, setDuration] = useState(60);
|
||||||
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
||||||
|
|
||||||
@@ -145,6 +145,7 @@ export default function NewProjectPage() {
|
|||||||
prompt: topic, // ← topic → prompt (backend alanı)
|
prompt: topic, // ← topic → prompt (backend alanı)
|
||||||
language,
|
language,
|
||||||
videoStyle: style, // ← style → videoStyle (backend alanı)
|
videoStyle: style, // ← style → videoStyle (backend alanı)
|
||||||
|
cinematicReference: cinematicReference ? cinematicReference : undefined,
|
||||||
targetDuration: duration,
|
targetDuration: duration,
|
||||||
aspectRatio,
|
aspectRatio,
|
||||||
});
|
});
|
||||||
@@ -355,6 +356,20 @@ export default function NewProjectPage() {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
{style === "CINEMATIC" && (
|
||||||
|
<div className="pt-3 mt-3 border-t border-[var(--color-border-faint)]">
|
||||||
|
<label className="text-xs font-medium text-[var(--color-text-secondary)] mb-2 block">
|
||||||
|
Özel Sinematik Referans (Opsiyonel)
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Örn: Wes Anderson, Matrix, Neon Cyberpunk..."
|
||||||
|
value={cinematicReference}
|
||||||
|
onChange={(e) => setCinematicReference(e.target.value)}
|
||||||
|
className="w-full bg-[var(--color-bg-elevated)] border border-[var(--color-border-faint)] rounded-md py-1.5 px-3 text-sm focus:border-violet-500/50 outline-none transition-colors"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Süre */}
|
{/* Süre */}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export default function XToVideoPage() {
|
|||||||
|
|
||||||
const [tweetUrl, setTweetUrl] = useState("");
|
const [tweetUrl, setTweetUrl] = useState("");
|
||||||
const [style, setStyle] = useState("CINEMATIC");
|
const [style, setStyle] = useState("CINEMATIC");
|
||||||
|
const [cinematicReference, setCinematicReference] = useState("");
|
||||||
const [duration, setDuration] = useState(60);
|
const [duration, setDuration] = useState(60);
|
||||||
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
||||||
const [language, setLanguage] = useState("tr");
|
const [language, setLanguage] = useState("tr");
|
||||||
@@ -85,6 +86,7 @@ export default function XToVideoPage() {
|
|||||||
language,
|
language,
|
||||||
aspectRatio,
|
aspectRatio,
|
||||||
videoStyle: style,
|
videoStyle: style,
|
||||||
|
cinematicReference: cinematicReference ? cinematicReference : undefined,
|
||||||
targetDuration: duration,
|
targetDuration: duration,
|
||||||
});
|
});
|
||||||
toast.success("Tweet → Video projesi oluşturuldu!");
|
toast.success("Tweet → Video projesi oluşturuldu!");
|
||||||
@@ -315,6 +317,20 @@ export default function XToVideoPage() {
|
|||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
{style === "CINEMATIC" && (
|
||||||
|
<div className="pt-3 mt-3 border-t border-[var(--color-border-faint)]">
|
||||||
|
<label className="text-xs font-medium text-[var(--color-text-secondary)] mb-2 block">
|
||||||
|
Özel Sinematik Referans (Opsiyonel)
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Örn: Wes Anderson, Matrix, Neon Cyberpunk..."
|
||||||
|
value={cinematicReference}
|
||||||
|
onChange={(e) => setCinematicReference(e.target.value)}
|
||||||
|
className="w-full bg-[var(--color-bg-elevated)] border border-[var(--color-border-faint)] rounded-xl py-2 px-3 text-sm focus:border-violet-500/50 outline-none transition-colors"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Duration + Aspect Ratio */}
|
{/* Duration + Aspect Ratio */}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ export default function YoutubeToVideoPage() {
|
|||||||
|
|
||||||
const [youtubeUrl, setYoutubeUrl] = useState("");
|
const [youtubeUrl, setYoutubeUrl] = useState("");
|
||||||
const [style, setStyle] = useState("CINEMATIC");
|
const [style, setStyle] = useState("CINEMATIC");
|
||||||
|
const [cinematicReference, setCinematicReference] = useState("");
|
||||||
const [duration, setDuration] = useState(60);
|
const [duration, setDuration] = useState(60);
|
||||||
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
const [aspectRatio, setAspectRatio] = useState("PORTRAIT_9_16");
|
||||||
const [language, setLanguage] = useState("tr");
|
const [language, setLanguage] = useState("tr");
|
||||||
@@ -64,6 +65,7 @@ export default function YoutubeToVideoPage() {
|
|||||||
language,
|
language,
|
||||||
aspectRatio,
|
aspectRatio,
|
||||||
videoStyle: style,
|
videoStyle: style,
|
||||||
|
cinematicReference: cinematicReference ? cinematicReference : undefined,
|
||||||
targetDuration: duration,
|
targetDuration: duration,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -159,6 +161,20 @@ export default function YoutubeToVideoPage() {
|
|||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
{style === "CINEMATIC" && (
|
||||||
|
<div className="pt-3 mt-3 border-t border-[var(--color-border-faint)]">
|
||||||
|
<label className="text-xs font-medium text-[var(--color-text-secondary)] mb-2 block">
|
||||||
|
Özel Sinematik Referans (Opsiyonel)
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Örn: Wes Anderson, Matrix, Neon Cyberpunk..."
|
||||||
|
value={cinematicReference}
|
||||||
|
onChange={(e) => setCinematicReference(e.target.value)}
|
||||||
|
className="w-full bg-[var(--color-bg-elevated)] border border-[var(--color-border-faint)] rounded-xl py-2 px-3 text-sm focus:border-red-500/50 outline-none transition-colors"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="card p-5 space-y-4">
|
<div className="card p-5 space-y-4">
|
||||||
|
|||||||
Reference in New Issue
Block a user