"use client"
import { ImageIcon, Monitor, Info, FileText, Link, Calendar } from "lucide-react"
import { BasicInfoData } from "./non-steam-basic-info-step"
import { PlatformSupportItem } from "./non-steam-platform-step"
interface NonSteamReviewStepProps {
basicInfo: BasicInfoData
headerImage: string
capsuleImage: string
platformSupport: PlatformSupportItem[]
onSubmit: () => void
isSubmitting: boolean
error: string | null
}
function SectionHeader({ icon: Icon, label }: { icon: React.ElementType; label: string }) {
return (
{label}
)
}
function SummaryRow({ label, value }: { label: string; value: React.ReactNode }) {
return (
{label}
{value}
)
}
const SOURCE_LABELS: Record = {
manual: "Manual Entry",
gog: "GOG",
epic: "Epic Games Store",
}
const PROTON_LABELS: Record = {
native: "Native",
proton: "Proton",
unsupported: "Unsupported",
unknown: "Unknown",
}
export function NonSteamReviewStep({
basicInfo,
headerImage,
capsuleImage,
platformSupport,
onSubmit,
isSubmitting,
error,
}: NonSteamReviewStepProps) {
return (
Review & Submit
Review all details before submitting the game to DeckyVault.
{/* Basic Info */}
0 ? basicInfo.genres.join(", ") : "—"
}
/>
{basicInfo.storeUrl && (
{basicInfo.storeUrl}
}
/>
)}
{basicInfo.description && (
Description
{basicInfo.description}
)}
{/* Cover Art */}
{(headerImage || capsuleImage) ? (
{/* eslint-disable-next-line @next/next/no-img-element */}
) : (
No cover art selected
)}
{/* Platform Support */}
{platformSupport.length > 0 ? (
{platformSupport.map((ps) => (
{ps.isSupported ? (
<>
{ps.hardwareSlug}
·
{PROTON_LABELS[ps.protonStatus] || ps.protonStatus}
>
) : (
<>{ps.hardwareSlug} — Unsupported>
)}
))}
) : (
No platform support configured
)}
{/* Error */}
{error && (
{error}
)}
{/* Submit */}
)
}