"use client"; import { Button } from "@/components/ui/button"; import type { useFurnitureJobs } from "./use-furniture-jobs"; export function FurnitureJobHistory({ state, }: { state: ReturnType; }) { return (
Import history ·{" "} { state.jobs.filter( (j) => j.state === "queued" || j.state === "running", ).length }{" "} active
{state.error &&

{state.error}

} {!state.jobs.length &&

No background imports yet.

} {state.jobs.map((job) => { const done = job.items.filter((i) => i.state === "done"), failed = job.items.filter((i) => i.state === "failed"); return (
{new Date(job.createdAt).toLocaleString()} · {job.state} ·{" "} {done.length}/{job.items.length} imported · {failed.length}{" "} failed
    {job.items.map((item) => (
  • {item.classname} · {item.state} {item.itemId ? ` · ID ${item.itemId}` : ""} {item.error && (

    {item.error}

    )} {[...new Set(item.warnings ?? [])].map((warning) => (

    {warning}

    ))}
  • ))}
{failed.length > 0 && job.state !== "running" && ( )}
); })}
); }