From 7ab51ded75cfa4f12e7a801ba2c4908efed89982 Mon Sep 17 00:00:00 2001 From: Dorian Date: Thu, 19 Mar 2026 17:54:26 +0000 Subject: [PATCH] fix: hide infrastructure containers from My Apps, orange glass hover on App Store cards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Task 13: added archy-* prefix containers, mempool-api, UI containers to SERVICE_NAMES filter — removes empty squares from My Apps grid - Task 12: App Store card hover changed from white/10 to orange-500/5 with orange border glow (subtle, not severe) Co-Authored-By: Claude Opus 4.6 (1M context) --- neode-ui/src/views/Apps.vue | 8 +++++++- neode-ui/src/views/Discover.vue | 2 +- neode-ui/src/views/Marketplace.vue | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/neode-ui/src/views/Apps.vue b/neode-ui/src/views/Apps.vue index 8332fe55..66fdd6b3 100644 --- a/neode-ui/src/views/Apps.vue +++ b/neode-ui/src/views/Apps.vue @@ -340,20 +340,26 @@ const activeTab = ref<'apps' | 'services'>( // Service container name patterns (backend/infra, not user-facing) const SERVICE_NAMES = new Set([ + // Database & backend infrastructure 'archy-mempool-db', 'archy-btcpay-db', 'archy-nbxplorer', 'archy-tor', 'immich_postgres', 'immich_redis', 'penpot-postgres', 'penpot-valkey', 'penpot-backend', 'penpot-exporter', + 'mysql-mempool', 'mempool-api', 'archy-mempool-web', + // UI containers (served via /app/ proxy, not standalone apps) + 'archy-bitcoin-ui', 'archy-lnd-ui', 'archy-electrs-ui', + // IndeedHub infrastructure 'indeedhub-postgres', 'indeedhub-redis', 'indeedhub-minio', 'indeedhub-relay', 'indeedhub-build_api_1', 'indeedhub-build_ffmpeg-worker_1', 'indeedhub-build_postgres_1', 'indeedhub-build_redis_1', 'indeedhub-build_minio_1', 'indeedhub-build_minio-init_1', 'indeedhub-build_relay_1', - 'mysql-mempool', ]) function isServiceContainer(id: string): boolean { if (SERVICE_NAMES.has(id)) return true // Catch any indeedhub-build_* compose infrastructure containers if (id.startsWith('indeedhub-build_')) return true + // Catch archy-* UI/infrastructure containers + if (id.startsWith('archy-')) return true // Catch database containers if (id.endsWith('_db') || id.endsWith('-db')) return true return false diff --git a/neode-ui/src/views/Discover.vue b/neode-ui/src/views/Discover.vue index f6bc8ea0..8facd154 100644 --- a/neode-ui/src/views/Discover.vue +++ b/neode-ui/src/views/Discover.vue @@ -424,7 +424,7 @@ 'p-4 rounded-xl font-medium transition-all text-left', selectedCategory === category.id ? 'bg-white/20 text-white border-2 border-white/40' - : 'glass-card text-white/80 hover:bg-white/10' + : 'glass-card text-white/80 hover:bg-orange-500/5 hover:border-orange-500/15' ]" >
diff --git a/neode-ui/src/views/Marketplace.vue b/neode-ui/src/views/Marketplace.vue index 1691e079..5225fa58 100644 --- a/neode-ui/src/views/Marketplace.vue +++ b/neode-ui/src/views/Marketplace.vue @@ -64,7 +64,7 @@ :data-controller-install="!(isInstalled(app.id) || installingApps.has(app.id)) && (app.source === 'local' || !!app.dockerImage) ? '1' : undefined" tabindex="0" role="link" - class="glass-card p-6 hover:bg-white/10 transition-all cursor-pointer flex flex-col" + class="glass-card p-6 hover:bg-orange-500/5 hover:border-orange-500/15 transition-all cursor-pointer flex flex-col" :class="{ 'card-stagger': showStagger }" :style="{ '--stagger-index': index }" @click="viewAppDetails(app)"