blob: 860ef7550bc625ad7104d1bb7606ba26ecfa01d6 [file] [log] [blame]
Pokey Ruleef58e062025-05-07 13:32:58 +01001import { LitElement, html } from "lit";
2import { customElement, property } from "lit/decorators.js";
3import { ToolCall } from "../types";
4
5
6@customElement("sketch-tool-card-done")
7export class SketchToolCardDone extends LitElement {
8 @property() toolCall: ToolCall;
9 @property() open: boolean;
10
11 render() {
12 const doneInput = JSON.parse(this.toolCall.input);
13 return html`<sketch-tool-card .open=${this.open} .toolCall=${this.toolCall}>
14 <span slot="summary" class="summary-text"></span>
15 <div slot="result">
16 ${Object.keys(doneInput.checklist_items).map((key) => {
17 const item = doneInput.checklist_items[key];
18 let statusIcon = "⛔";
19 if (item.status == "yes") {
20 statusIcon = "👍";
21 } else if (item.status == "not applicable") {
22 statusIcon = "🤷‍♂️";
23 }
24 return html`<div>
25 <span>${statusIcon}</span> ${key}:${item.status}
26 </div>`;
27 })}
28 </div>
29 </sketch-tool-card>`;
30 }
31}
32
33declare global {
34 interface HTMLElementTagNameMap {
35 "sketch-tool-card-done": SketchToolCardDone;
36 }
37}