From ec33b7bcb8b3cf5aec30ff44f7faa5eef18b8405 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 12:26:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(migrations):=20nav.apps=20demo=20placeholde?= =?UTF-8?q?rs=20=E2=86=92=20Phosphor=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The four entries pointing at /images/demo/logos/{1-4}.svg (gsc-meet, gsc-ai-hub, gsc-surveillance, gsc-dam) shipped icon URLs that don't resolve in any consumer app's public/, producing 404s in every AdminShell app-switcher render. Replaced with Phosphor classes + bg-*-lt tinted tiles, matching the existing gsc-voice/gsc-archive pattern in the same seed. Co-Authored-By: Claude Opus 4.7 (1M context) --- migrations/nav-apps-seed.up.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/migrations/nav-apps-seed.up.sql b/migrations/nav-apps-seed.up.sql index 91eb9bf..5015634 100644 --- a/migrations/nav-apps-seed.up.sql +++ b/migrations/nav-apps-seed.up.sql @@ -12,12 +12,12 @@ INSERT INTO nav.apps (key, name, description, url, icon_class, icon_url, icon_bg VALUES ('gsc-crm', 'CRM', 'Customer relationship management', 'https://crm.gosec.internal', NULL, 'https://assets.gosec.cloud/logos/crm.svg', NULL, 10, TRUE), ('gsc-chronos', 'Chronos', 'Time tracking and timesheets', 'https://chronos.gosec.internal', NULL, 'https://assets.gosec.cloud/logos/chronos.svg', NULL, 20, TRUE), - ('gsc-meet', 'GSC Meet', 'Video conferencing with AI features', '/apps/gsc-meet', NULL, '/images/demo/logos/1.svg', NULL, 30, TRUE), - ('gsc-voice', 'Voice', 'PBX and telephony management', '/apps/gsc-voice', 'ph-phone', NULL, 'bg-primary-lt', 40, TRUE), - ('gsc-ai-hub', 'AI Hub', 'AI models and services management', '/apps/gsc-ai-hub', NULL, '/images/demo/logos/2.svg', NULL, 50, TRUE), - ('gsc-surveillance', 'Surveillance', 'Video surveillance and security', '/apps/surveillance', NULL, '/images/demo/logos/3.svg', NULL, 60, TRUE), - ('gsc-archive', 'Archive', 'Email archiving and eDiscovery', '/apps/gsc-archive', 'ph-archive-box', NULL, 'bg-info-lt', 70, TRUE), - ('gsc-dam', 'Digital Asset Manager', 'Media and asset management platform', '/apps/gsc-dam', NULL, '/images/demo/logos/4.svg', NULL, 80, TRUE) + ('gsc-meet', 'GSC Meet', 'Video conferencing with AI features', '/apps/gsc-meet', 'ph-video-camera', NULL, 'bg-success-lt', 30, TRUE), + ('gsc-voice', 'Voice', 'PBX and telephony management', '/apps/gsc-voice', 'ph-phone', NULL, 'bg-primary-lt', 40, TRUE), + ('gsc-ai-hub', 'AI Hub', 'AI models and services management', '/apps/gsc-ai-hub', 'ph-brain', NULL, 'bg-warning-lt', 50, TRUE), + ('gsc-surveillance', 'Surveillance', 'Video surveillance and security', '/apps/surveillance', 'ph-shield-check', NULL, 'bg-danger-lt', 60, TRUE), + ('gsc-archive', 'Archive', 'Email archiving and eDiscovery', '/apps/gsc-archive', 'ph-archive-box', NULL, 'bg-info-lt', 70, TRUE), + ('gsc-dam', 'Digital Asset Manager', 'Media and asset management platform', '/apps/gsc-dam', 'ph-images-square', NULL, 'bg-secondary-lt', 80, TRUE) ON CONFLICT (key) DO UPDATE SET name = EXCLUDED.name, description = EXCLUDED.description,