You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.8 KiB
TypeScript

// frontend/components/automation/SuggestView.tsx — auto.jsx SuggestView 이식
"use client";
import { Icon } from "@/components/Icon";
import type { SuggestionOut } from "@/lib/types";
import { Flow } from "./Flow";
export function SuggestView({
suggests,
accept,
dismiss,
}: {
suggests: SuggestionOut[];
accept: (s: SuggestionOut) => void;
dismiss: (s: SuggestionOut) => void;
}) {
return (
<div className="board">
<section className="card sp2">
<div className="ch">
<div className="ico">
<Icon name="brain" />
</div>
<div className="htext">
<h3> </h3>
<div className="sub"> </div>
</div>
<span className="count">{suggests.length}</span>
</div>
<div className="sg">
{suggests.map((s) => (
<div className="sg-card" key={s.id}>
<div className="sg-pat">
<Icon name="spark" />
<span>{s.pattern}</span>
</div>
<div className="sg-offer">
<div className="sg-name">{s.offer_name}</div>
<Flow small p={s.offer} />
</div>
<div className="sg-btns">
<button className="sg-yes" onClick={() => accept(s)}>
<Icon name="plus" />
</button>
<button className="sg-no" onClick={() => dismiss(s)}>
</button>
</div>
</div>
))}
{suggests.length === 0 && (
<div className="sg-empty">
<Icon name="tick" /> . .
</div>
)}
</div>
</section>
</div>
);
}