fix(web): use svg icon for copy button feedback

Amolith created

Assisted-by: Claude Sonnet 4.5 via Crush

Change summary

static/app.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

Detailed changes

static/app.js 🔗

@@ -15,6 +15,8 @@ let selectedPosition = null; // Position to restore after voting
 let lastSyncTime = null; // For connection status
 let isReady = false; // Track if initial state received
 
+const CHECK_ICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check"><polyline points="20 6 9 17 4 12"></polyline></svg>`;
+
 const startScreen = document.getElementById('start-screen');
 const listScreen = document.getElementById('list-screen');
 const roomTitleEl = document.getElementById('room-title');
@@ -56,7 +58,7 @@ document.getElementById('copy-btn').addEventListener('click', async () => {
     await navigator.clipboard.writeText(itemNames);
     const btn = document.getElementById('copy-btn');
     const original = btn.innerHTML;
-    btn.textContent = '✓';
+    btn.innerHTML = CHECK_ICON_SVG;
     setTimeout(() => btn.innerHTML = original, 1000);
   } catch (err) {
     console.error('Failed to copy:', err);
@@ -69,7 +71,7 @@ document.getElementById('copy-link-btn').addEventListener('click', async () => {
     await navigator.clipboard.writeText(inviteLink);
     const btn = document.getElementById('copy-link-btn');
     const original = btn.innerHTML;
-    btn.textContent = '✓';
+    btn.innerHTML = CHECK_ICON_SVG;
     setTimeout(() => btn.innerHTML = original, 1000);
   } catch (err) {
     console.error('Failed to copy invite link:', err);