webui: split sketch-tool-card into per-tool cards
diff --git a/loop/webui/src/web-components/sketch-timeline-message.ts b/loop/webui/src/web-components/sketch-timeline-message.ts
index ea32015..88e9f14 100644
--- a/loop/webui/src/web-components/sketch-timeline-message.ts
+++ b/loop/webui/src/web-components/sketch-timeline-message.ts
@@ -559,27 +559,31 @@
 
 function copyButton(textToCopy: string) {
   // Add click event listener to handle copying
-  const ret = html`<button class="copy-button" title="Copy text to clipboard" @click=${(
-    e: Event,
-  ) => {
-    e.stopPropagation();
-    const copyButton = e.currentTarget as HTMLButtonElement;
-    navigator.clipboard
-      .writeText(textToCopy)
-      .then(() => {
-        copyButton.textContent = "Copied!";
-        setTimeout(() => {
-          copyButton.textContent = "Copy";
-        }, 2000);
-      })
-      .catch((err) => {
-        console.error("Failed to copy text: ", err);
-        copyButton.textContent = "Failed";
-        setTimeout(() => {
-          copyButton.textContent = "Copy";
-        }, 2000);
-      });
-  }}>Copy</button`;
+  const ret = html`<button
+    class="copy-button"
+    title="Copy text to clipboard"
+    @click=${(e: Event) => {
+      e.stopPropagation();
+      const copyButton = e.currentTarget as HTMLButtonElement;
+      navigator.clipboard
+        .writeText(textToCopy)
+        .then(() => {
+          copyButton.textContent = "Copied!";
+          setTimeout(() => {
+            copyButton.textContent = "Copy";
+          }, 2000);
+        })
+        .catch((err) => {
+          console.error("Failed to copy text: ", err);
+          copyButton.textContent = "Failed";
+          setTimeout(() => {
+            copyButton.textContent = "Copy";
+          }, 2000);
+        });
+    }}
+  >
+    Copy
+  </button>`;
 
   return ret;
 }