"use client" import { motion } from "motion/react" import { Send, Loader2, AlertCircle, Monitor, Gauge, SlidersHorizontal, Terminal, FileText } from "lucide-react" import { TiptapEditor } from "@/components/tiptap-editor" import type { SettingCategory } from "@/components/wizard/settings-editor" import type { PerformanceData } from "./performance-step" import type { EnvironmentData } from "./environment-step" export interface ReviewData { hardwareSlug: string hardwareName: string performance: PerformanceData settings: SettingCategory[] environment: EnvironmentData } interface ReviewStepProps { data: ReviewData userNotes: string onUserNotesChange: (notes: string) => void 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}
) } function formatNumber(val: number | undefined): string { if (val === undefined || val === null) return "Not set" return String(val) } export function ReviewStep({ data, userNotes, onUserNotesChange, onSubmit, isSubmitting, error, }: ReviewStepProps) { const { hardwareName, performance, environment, settings } = data const fsrLabel = environment.fsrVersion === "none" ? "None" : environment.fsrVersion === "fsr1" ? "FSR 1" : environment.fsrVersion === "fsr2" ? "FSR 2" : environment.fsrVersion === "fsr3" ? "FSR 3" : "Not set" const frameGenLabel = environment.frameGenMethod === "none" ? "None" : environment.frameGenMethod === "fsr_fg" ? "FSR Frame Generation" : environment.frameGenMethod === "dlss_fg" ? "DLSS Frame Generation" : "Not set" return (

Review & Submit

Review your submission details below. Add any additional notes and click Submit when ready.

{/* Summary Cards */}
{/* Hardware */}
{/* Performance */}
{/* Environment */}
{environment.launchOptions && ( {environment.launchOptions} } /> )}
{/* Settings */}
{settings.length === 0 ? (

No settings configured

) : (
{settings.map((cat) => (

{cat.category}

{cat.settings.map((s) => ( {s.title}: {String(s.value)} ))}
))}
)}
{/* User Notes */}
onUserNotesChange(JSON.stringify(json))} placeholder="Add any extra details about your experience..." />
{/* Error */} {error && (

{error}

)} {/* Submit Button */}
) }