"use client"; function getRecordString(value: unknown, key: string): string | null { if (!value || typeof value !== "object") return null; const candidate = (value as Record)[key]; return typeof candidate === "string" && candidate.length > 0 ? candidate : null; } function getProgressLabel(status: unknown): string | null { if (!status || typeof status !== "object") return null; const progress = (status as Record).progress; return typeof progress === "number" && Number.isFinite(progress) ? `${Math.round(Math.min(1, Math.max(0, progress)) * 100)}%` : null; } export function FileDropPresentationMessages({ feedback, status, }: { feedback: unknown; status: unknown; }): React.JSX.Element | null { const feedbackMessage = getRecordString(feedback, "message"); const feedbackCode = getRecordString(feedback, "code"); const statusLabel = getRecordString(status, "label"); const progressLabel = getProgressLabel(status); if (!feedbackMessage && !statusLabel) return null; return (
{statusLabel ? (

{statusLabel} {progressLabel ? ` ${progressLabel}` : ""}

) : null} {feedbackMessage ? (

{feedbackMessage}

) : null}
); }