fix: hide infrastructure containers from My Apps, orange glass hover on App Store cards
- 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) <noreply@anthropic.com>
This commit is contained in:
parent
8083386a93
commit
7ab51ded75
@ -340,20 +340,26 @@ const activeTab = ref<'apps' | 'services'>(
|
|||||||
|
|
||||||
// Service container name patterns (backend/infra, not user-facing)
|
// Service container name patterns (backend/infra, not user-facing)
|
||||||
const SERVICE_NAMES = new Set([
|
const SERVICE_NAMES = new Set([
|
||||||
|
// Database & backend infrastructure
|
||||||
'archy-mempool-db', 'archy-btcpay-db', 'archy-nbxplorer', 'archy-tor',
|
'archy-mempool-db', 'archy-btcpay-db', 'archy-nbxplorer', 'archy-tor',
|
||||||
'immich_postgres', 'immich_redis',
|
'immich_postgres', 'immich_redis',
|
||||||
'penpot-postgres', 'penpot-valkey', 'penpot-backend', 'penpot-exporter',
|
'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-postgres', 'indeedhub-redis', 'indeedhub-minio',
|
||||||
'indeedhub-relay', 'indeedhub-build_api_1', 'indeedhub-build_ffmpeg-worker_1',
|
'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_postgres_1', 'indeedhub-build_redis_1', 'indeedhub-build_minio_1',
|
||||||
'indeedhub-build_minio-init_1', 'indeedhub-build_relay_1',
|
'indeedhub-build_minio-init_1', 'indeedhub-build_relay_1',
|
||||||
'mysql-mempool',
|
|
||||||
])
|
])
|
||||||
|
|
||||||
function isServiceContainer(id: string): boolean {
|
function isServiceContainer(id: string): boolean {
|
||||||
if (SERVICE_NAMES.has(id)) return true
|
if (SERVICE_NAMES.has(id)) return true
|
||||||
// Catch any indeedhub-build_* compose infrastructure containers
|
// Catch any indeedhub-build_* compose infrastructure containers
|
||||||
if (id.startsWith('indeedhub-build_')) return true
|
if (id.startsWith('indeedhub-build_')) return true
|
||||||
|
// Catch archy-* UI/infrastructure containers
|
||||||
|
if (id.startsWith('archy-')) return true
|
||||||
// Catch database containers
|
// Catch database containers
|
||||||
if (id.endsWith('_db') || id.endsWith('-db')) return true
|
if (id.endsWith('_db') || id.endsWith('-db')) return true
|
||||||
return false
|
return false
|
||||||
|
|||||||
@ -424,7 +424,7 @@
|
|||||||
'p-4 rounded-xl font-medium transition-all text-left',
|
'p-4 rounded-xl font-medium transition-all text-left',
|
||||||
selectedCategory === category.id
|
selectedCategory === category.id
|
||||||
? 'bg-white/20 text-white border-2 border-white/40'
|
? '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'
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
|
|||||||
@ -64,7 +64,7 @@
|
|||||||
:data-controller-install="!(isInstalled(app.id) || installingApps.has(app.id)) && (app.source === 'local' || !!app.dockerImage) ? '1' : undefined"
|
:data-controller-install="!(isInstalled(app.id) || installingApps.has(app.id)) && (app.source === 'local' || !!app.dockerImage) ? '1' : undefined"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
role="link"
|
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 }"
|
:class="{ 'card-stagger': showStagger }"
|
||||||
:style="{ '--stagger-index': index }"
|
:style="{ '--stagger-index': index }"
|
||||||
@click="viewAppDetails(app)"
|
@click="viewAppDetails(app)"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user