From 292235a9234fc71a6981ac45055b6d4d0f9f021f Mon Sep 17 00:00:00 2001 From: Marius Tarau Date: Tue, 17 Feb 2026 17:02:03 +0200 Subject: [PATCH] Add company logos and Portainer URL Move SDT and Urban Switch logo SVGs to public/logos/ with theme-aware variants. Add logo fields to Company config. Update sidebar header to show theme-responsive logo. Add Portainer URL (port 9000) to external tools config. Co-Authored-By: Claude Opus 4.6 --- .env.example | 2 +- .../logos/logo-sdt-dark.svg | 0 .../logos/logo-sdt-light.svg | 0 .../logos/logo-us-dark.svg | 0 .../logos/logo-us-light.svg | 0 src/config/companies.ts | 12 +++++++++ src/config/external-tools.ts | 2 +- src/shared/components/layout/sidebar.tsx | 27 ++++++++++++++++++- 8 files changed, 40 insertions(+), 3 deletions(-) rename logo-sdt-dark.svg => public/logos/logo-sdt-dark.svg (100%) rename logo-sdt-light.svg => public/logos/logo-sdt-light.svg (100%) rename logo-us-dark.svg => public/logos/logo-us-dark.svg (100%) rename logo-us-light.svg => public/logos/logo-us-light.svg (100%) diff --git a/.env.example b/.env.example index 8c1405d..87e207d 100644 --- a/.env.example +++ b/.env.example @@ -44,7 +44,7 @@ NEXT_PUBLIC_STORAGE_ADAPTER=localStorage # External tool URLs (displayed in dashboard) NEXT_PUBLIC_GITEA_URL=http://10.10.10.166:3002 -# NEXT_PUBLIC_PORTAINER_URL= +NEXT_PUBLIC_PORTAINER_URL=http://10.10.10.166:9000 NEXT_PUBLIC_MINIO_URL=http://10.10.10.166:9003 NEXT_PUBLIC_N8N_URL=http://10.10.10.166:5678 NEXT_PUBLIC_STIRLING_PDF_URL=http://10.10.10.166:8087 diff --git a/logo-sdt-dark.svg b/public/logos/logo-sdt-dark.svg similarity index 100% rename from logo-sdt-dark.svg rename to public/logos/logo-sdt-dark.svg diff --git a/logo-sdt-light.svg b/public/logos/logo-sdt-light.svg similarity index 100% rename from logo-sdt-light.svg rename to public/logos/logo-sdt-light.svg diff --git a/logo-us-dark.svg b/public/logos/logo-us-dark.svg similarity index 100% rename from logo-us-dark.svg rename to public/logos/logo-us-dark.svg diff --git a/logo-us-light.svg b/public/logos/logo-us-light.svg similarity index 100% rename from logo-us-light.svg rename to public/logos/logo-us-light.svg diff --git a/src/config/companies.ts b/src/config/companies.ts index 8b0dc8c..292116b 100644 --- a/src/config/companies.ts +++ b/src/config/companies.ts @@ -8,6 +8,10 @@ export interface Company { color: string; address: string; city: string; + logo?: { + light: string; // logo for light backgrounds + dark: string; // logo for dark backgrounds + }; } export const COMPANIES: Record = { @@ -28,6 +32,10 @@ export const COMPANIES: Record = { color: '#6366f1', address: '', city: 'Cluj-Napoca', + logo: { + light: '/logos/logo-us-light.svg', + dark: '/logos/logo-us-dark.svg', + }, }, 'studii-de-teren': { id: 'studii-de-teren', @@ -37,6 +45,10 @@ export const COMPANIES: Record = { color: '#f59e0b', address: '', city: 'Cluj-Napoca', + logo: { + light: '/logos/logo-sdt-dark.svg', + dark: '/logos/logo-sdt-light.svg', + }, }, group: { id: 'group', diff --git a/src/config/external-tools.ts b/src/config/external-tools.ts index 2d6c9e2..84e78e8 100644 --- a/src/config/external-tools.ts +++ b/src/config/external-tools.ts @@ -20,7 +20,7 @@ export const EXTERNAL_TOOLS: ExternalTool[] = [ id: 'portainer', name: 'Portainer', description: 'Management containere Docker', - url: '', + url: 'http://10.10.10.166:9000', icon: 'container', category: 'dev', }, diff --git a/src/shared/components/layout/sidebar.tsx b/src/shared/components/layout/sidebar.tsx index e9bcc91..dd4c0c6 100644 --- a/src/shared/components/layout/sidebar.tsx +++ b/src/shared/components/layout/sidebar.tsx @@ -1,10 +1,13 @@ 'use client'; +import Image from 'next/image'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; +import { useTheme } from 'next-themes'; import { useMemo } from 'react'; import * as Icons from 'lucide-react'; import { buildNavigation } from '@/config/navigation'; +import { COMPANIES } from '@/config/companies'; import { useFeatureFlag } from '@/core/feature-flags'; import { cn } from '@/shared/lib/utils'; import { ScrollArea } from '@/shared/components/ui/scroll-area'; @@ -37,6 +40,28 @@ function NavItem({ item, isActive }: { item: { id: string; label: string; icon: ); } +function SidebarLogo() { + const { resolvedTheme } = useTheme(); + const sdt = COMPANIES['studii-de-teren']; + const logoSrc = sdt.logo + ? (resolvedTheme === 'dark' ? sdt.logo.dark : sdt.logo.light) + : null; + + if (!logoSrc) { + return ; + } + + return ( + {sdt.shortName} + ); +} + export function Sidebar() { const pathname = usePathname(); const navGroups = useMemo(() => buildNavigation(), []); @@ -44,7 +69,7 @@ export function Sidebar() { return (