blob: 05dd061136325ae765b0b0ce7d1857fc81f09061 [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
Pokey Ruleef58e062025-05-07 13:32:58 +01005@customElement("sketch-tool-card-done")
6export class SketchToolCardDone extends LitElement {
7 @property() toolCall: ToolCall;
8 @property() open: boolean;
9
10 render() {
11 const doneInput = JSON.parse(this.toolCall.input);
12 return html`<sketch-tool-card .open=${this.open} .toolCall=${this.toolCall}>
13 <span slot="summary" class="summary-text"></span>
14 <div slot="result">
15 ${Object.keys(doneInput.checklist_items).map((key) => {
Autoformatter47fbca62025-05-07 12:38:12 +000016 const item = doneInput.checklist_items[key];
17 let statusIcon = "⛔";
18 if (item.status == "yes") {
19 statusIcon = "👍";
20 } else if (item.status == "not applicable") {
21 statusIcon = "🤷‍♂️";
22 }
23 return html`<div>
Pokey Ruleef58e062025-05-07 13:32:58 +010024 <span>${statusIcon}</span> ${key}:${item.status}
25 </div>`;
Autoformatter47fbca62025-05-07 12:38:12 +000026 })}
Pokey Ruleef58e062025-05-07 13:32:58 +010027 </div>
28 </sketch-tool-card>`;
29 }
30}
31
32declare global {
33 interface HTMLElementTagNameMap {
34 "sketch-tool-card-done": SketchToolCardDone;
35 }
36}