Implement creator studio and upload updates
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import React, { useCallback } from 'react'
|
||||
import ArchiveScreenshotPicker from './ArchiveScreenshotPicker'
|
||||
import ReadinessChecklist from './ReadinessChecklist'
|
||||
import SchedulePublishPicker from './SchedulePublishPicker'
|
||||
import Checkbox from '../../Components/ui/Checkbox'
|
||||
@@ -36,6 +37,8 @@ export default function PublishPanel({
|
||||
primaryPreviewUrl = null,
|
||||
isArchive = false,
|
||||
screenshots = [],
|
||||
selectedScreenshotIndex = 0,
|
||||
onSelectedScreenshotChange,
|
||||
// Metadata
|
||||
metadata = {},
|
||||
// Readiness
|
||||
@@ -64,8 +67,6 @@ export default function PublishPanel({
|
||||
}) {
|
||||
const pill = STATUS_PILL[machineState] ?? null
|
||||
const hasPreview = Boolean(primaryPreviewUrl && !isArchive)
|
||||
const hasAnyPreview = hasPreview || (isArchive && screenshots.length > 0)
|
||||
const previewSrc = hasPreview ? primaryPreviewUrl : (screenshots[0]?.preview ?? screenshots[0] ?? null)
|
||||
|
||||
const title = String(metadata.title || '').trim()
|
||||
const hasTitle = Boolean(title)
|
||||
@@ -126,9 +127,9 @@ export default function PublishPanel({
|
||||
<div className="flex items-start gap-3">
|
||||
{/* Thumbnail */}
|
||||
<div className="shrink-0 h-[72px] w-[72px] overflow-hidden rounded-xl ring-1 ring-white/10 bg-black/30 flex items-center justify-center">
|
||||
{previewSrc ? (
|
||||
{hasPreview ? (
|
||||
<img
|
||||
src={previewSrc}
|
||||
src={primaryPreviewUrl}
|
||||
alt="Artwork preview"
|
||||
className="max-h-full max-w-full object-contain"
|
||||
loading="lazy"
|
||||
@@ -162,6 +163,19 @@ export default function PublishPanel({
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{isArchive && screenshots.length > 0 && (
|
||||
<div className="rounded-2xl border border-white/8 bg-white/[0.03] p-3">
|
||||
<ArchiveScreenshotPicker
|
||||
screenshots={screenshots}
|
||||
selectedIndex={selectedScreenshotIndex}
|
||||
onSelect={onSelectedScreenshotChange}
|
||||
compact
|
||||
title="Preview screenshot"
|
||||
description="Choose which screenshot should represent this archive in the publish panel."
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Divider */}
|
||||
<div className="border-t border-white/8" />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user