"use client"; import { memo } from "react"; import InputLabel from "../../type/InputLabel"; import type { UploadViewProps } from "./Upload.types"; function UploadView({ state, hasLabel, label, showHelpIcon = true, hintText, uploadButtonLabel, uploadAriaLabel, previewSrc, previewAlt, fileName, onClick, className = "", }: UploadViewProps) { const isActive = state !== "disabled"; const isDisabled = state === "disabled"; const hasPreview = typeof previewSrc === "string" && previewSrc.length > 0; const buttonBgClass = isActive ? "bg-[var(--color-surface-invert-primary)]" : "bg-[var(--color-surface-default-secondary)]"; const buttonTextColor = isActive ? "text-[color:var(--color-content-invert-primary)]" : "text-[color:var(--color-content-invert-tertiary)]"; const descriptionTextColor = isActive ? "text-[color:var(--color-content-default-primary)]" : "text-[color:var(--color-content-default-tertiary)]"; const iconColor = isActive ? "text-[color:var(--color-content-invert-primary)]" : "text-[color:var(--color-content-invert-tertiary)]"; return (
{hasPreview && fileName ? fileName : hintText}