From 6d6e4e1bdf9a234d3c12692e9a65fb37008aeabe Mon Sep 17 00:00:00 2001 From: ARCHITECT Date: Wed, 14 Jan 2026 00:16:38 +0000 Subject: [PATCH] Fix view-tab reactivity using direct onclick binding - Change view-tabs from delegateEvent to direct onclick like hst-frontend - Remove hardcoded 'active' class from grid tab in HTML - Update active class immediately on click before state update - Update proxy target to tzrtech.org Co-Authored-By: Claude Opus 4.5 --- deck-frontend/index.html | 2 +- deck-frontend/src/main.ts | 23 ++++++++++++++--------- deck-frontend/vite.config.ts | 5 +++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/deck-frontend/index.html b/deck-frontend/index.html index 8881f20..e36612f 100644 --- a/deck-frontend/index.html +++ b/deck-frontend/index.html @@ -63,7 +63,7 @@
- +
diff --git a/deck-frontend/src/main.ts b/deck-frontend/src/main.ts index 41a1dab..d7422a8 100644 --- a/deck-frontend/src/main.ts +++ b/deck-frontend/src/main.ts @@ -212,16 +212,21 @@ class App { await this.init(); }); - // View tabs - delegateEvent(document.body, '.view-tab', 'click', (_, target) => { - const view = target.dataset.view as ViewType; - if (!view) return; + // View tabs - direct binding like hst-frontend + $$('.view-tab').forEach(tab => { + tab.onclick = () => { + const view = tab.dataset.view as ViewType; + if (!view) return; - store.setState({ view }); - this.router.updateHash(); - this.detailPanel?.close(); - this.updateViewTabs(); - this.renderView(); + // Update active class immediately + $$('.view-tab').forEach(t => t.classList.remove('active')); + tab.classList.add('active'); + + store.setState({ view }); + this.router.updateHash(); + this.detailPanel?.close(); + this.renderView(); + }; }); // Search diff --git a/deck-frontend/vite.config.ts b/deck-frontend/vite.config.ts index c6d34f6..343aab6 100644 --- a/deck-frontend/vite.config.ts +++ b/deck-frontend/vite.config.ts @@ -35,8 +35,9 @@ export default defineConfig({ port: 3000, proxy: { '/api': { - target: 'http://72.62.1.113:3000', - changeOrigin: true + target: 'https://tzrtech.org', + changeOrigin: true, + secure: true } } }