Implement creator studio and upload updates

This commit is contained in:
2026-04-04 10:12:02 +02:00
parent 1da7d3bf88
commit 0b216b7ecd
15107 changed files with 31206 additions and 626514 deletions

View File

@@ -85,6 +85,7 @@ export default function UploadWizard({
// ── File + screenshot state ───────────────────────────────────────────────
const [primaryFile, setPrimaryFile] = useState(null)
const [screenshots, setScreenshots] = useState([])
const [selectedScreenshotIndex, setSelectedScreenshotIndex] = useState(0)
// ── Metadata state ────────────────────────────────────────────────────────
const [metadata, setMetadata] = useState(initialMetadata)
@@ -112,6 +113,18 @@ export default function UploadWizard({
const canStartUpload = isValidForUpload(primaryFile, primaryErrors, isArchive, screenshotErrors)
useEffect(() => {
if (!Array.isArray(screenshots) || screenshots.length === 0) {
setSelectedScreenshotIndex(0)
return
}
setSelectedScreenshotIndex((prev) => {
if (!Number.isFinite(prev) || prev < 0) return 0
return Math.min(prev, screenshots.length - 1)
})
}, [screenshots])
// ── Machine hook ──────────────────────────────────────────────────────────
const {
machine,
@@ -124,6 +137,8 @@ export default function UploadWizard({
clearPolling,
} = useUploadMachine({
primaryFile,
screenshots,
selectedScreenshotIndex,
canStartUpload,
primaryType,
isArchive,
@@ -322,6 +337,7 @@ export default function UploadWizard({
resetMachine()
setPrimaryFile(null)
setScreenshots([])
setSelectedScreenshotIndex(0)
setMetadata(initialMetadata)
setIsUploadLocked(false)
hasAutoAdvancedRef.current = false
@@ -408,9 +424,11 @@ export default function UploadWizard({
onPrimaryFileChange={setPrimaryFile}
isArchive={isArchive}
screenshots={screenshots}
selectedScreenshotIndex={selectedScreenshotIndex}
screenshotErrors={screenshotErrors}
screenshotPerFileErrors={screenshotPerFileErrors}
onScreenshotsChange={setScreenshots}
onSelectedScreenshotChange={setSelectedScreenshotIndex}
machine={machine}
/>
)
@@ -425,6 +443,8 @@ export default function UploadWizard({
isArchive={isArchive}
fileMetadata={fileMetadata}
screenshots={screenshots}
selectedScreenshotIndex={selectedScreenshotIndex}
onSelectedScreenshotChange={setSelectedScreenshotIndex}
contentTypes={contentTypes}
metadata={metadata}
metadataErrors={metadataErrors}
@@ -456,6 +476,8 @@ export default function UploadWizard({
primaryPreviewUrl={primaryPreviewUrl}
isArchive={isArchive}
screenshots={screenshots}
selectedScreenshotIndex={selectedScreenshotIndex}
onSelectedScreenshotChange={setSelectedScreenshotIndex}
fileMetadata={fileMetadata}
metadata={metadata}
canPublish={canPublish}
@@ -607,6 +629,8 @@ export default function UploadWizard({
primaryPreviewUrl={primaryPreviewUrl}
isArchive={isArchive}
screenshots={screenshots}
selectedScreenshotIndex={selectedScreenshotIndex}
onSelectedScreenshotChange={setSelectedScreenshotIndex}
metadata={metadata}
machineState={machine.state}
uploadReady={uploadReady}
@@ -689,6 +713,8 @@ export default function UploadWizard({
primaryPreviewUrl={primaryPreviewUrl}
isArchive={isArchive}
screenshots={screenshots}
selectedScreenshotIndex={selectedScreenshotIndex}
onSelectedScreenshotChange={setSelectedScreenshotIndex}
metadata={metadata}
machineState={machine.state}
uploadReady={uploadReady}