feat(logo): consolidate logo imports into a single export file
All checks were successful
container-scan / Container Scan (pull_request) Successful in 7m48s
docker-build / docker (pull_request) Successful in 9m1s

This commit is contained in:
Maximilian Liebmann 2025-06-05 17:22:03 +02:00
parent 4f8f9b035b
commit df9066df6c
3 changed files with 22 additions and 41 deletions

View file

@ -0,0 +1,16 @@
export { default as logo_colored_combo_light } from '@/assets/logo/logo_colored_combo_light.svg';
export { default as logo_colored_combo_dark } from '@/assets/logo/logo_colored_combo_dark.svg';
export { default as logo_colored_primary_light } from '@/assets/logo/logo_colored_primary_light.svg';
export { default as logo_colored_primary_dark } from '@/assets/logo/logo_colored_primary_dark.svg';
export { default as logo_colored_secondary_light } from '@/assets/logo/logo_colored_secondary_light.svg';
export { default as logo_colored_secondary_dark } from '@/assets/logo/logo_colored_secondary_dark.svg';
export { default as logo_mono_combo_light } from '@/assets/logo/logo_mono_combo_light.svg';
export { default as logo_mono_combo_dark } from '@/assets/logo/logo_mono_combo_dark.svg';
export { default as logo_mono_primary_light } from '@/assets/logo/logo_mono_primary_light.svg';
export { default as logo_mono_primary_dark } from '@/assets/logo/logo_mono_primary_dark.svg';
export { default as logo_mono_secondary_light } from '@/assets/logo/logo_mono_secondary_light.svg';
export { default as logo_mono_secondary_dark } from '@/assets/logo/logo_mono_secondary_dark.svg';
export { default as logo_mono_submark_light } from '@/assets/logo/logo_mono_submark_light.svg';
export { default as logo_mono_submark_dark } from '@/assets/logo/logo_mono_submark_dark.svg';
export { default as logo_colored_submark_light } from '@/assets/logo/logo_colored_submark_light.svg';
export { default as logo_colored_submark_dark } from '@/assets/logo/logo_colored_submark_dark.svg';

View file

@ -15,9 +15,6 @@ const buttonVariants = cva(
'bg-secondary text-text-alt shadow-xs hover:bg-hover-secondary active:bg-active-secondary',
outline:
'border-2 border-primary bg-transparent text-text shadow-xs hover:bg-primary hover:border-neutral-000 hover:border-1.5 hover:text-neutral-000 active:bg-active-primary',
/*destructive:
'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',
*/
ghost:
'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
link: 'text-text underline-offset-4 hover:underline',

View file

@ -3,22 +3,7 @@
import React, { useEffect, useState } from 'react';
import Image, { ImageProps } from 'next/image';
import logo_colored_combo_light from '@/assets/logo/logo_colored_combo_light.svg';
import logo_colored_combo_dark from '@/assets/logo/logo_colored_combo_dark.svg';
import logo_colored_primary_light from '@/assets/logo/logo_colored_primary_light.svg';
import logo_colored_primary_dark from '@/assets/logo/logo_colored_primary_dark.svg';
import logo_colored_secondary_light from '@/assets/logo/logo_colored_secondary_light.svg';
import logo_colored_secondary_dark from '@/assets/logo/logo_colored_secondary_dark.svg';
import logo_mono_combo_light from '@/assets/logo/logo_mono_combo_light.svg';
import logo_mono_combo_dark from '@/assets/logo/logo_mono_combo_dark.svg';
import logo_mono_primary_light from '@/assets/logo/logo_mono_primary_light.svg';
import logo_mono_primary_dark from '@/assets/logo/logo_mono_primary_dark.svg';
import logo_mono_secondary_light from '@/assets/logo/logo_mono_secondary_light.svg';
import logo_mono_secondary_dark from '@/assets/logo/logo_mono_secondary_dark.svg';
import logo_mono_submark_light from '@/assets/logo/logo_mono_submark_light.svg';
import logo_mono_submark_dark from '@/assets/logo/logo_mono_submark_dark.svg';
import logo_colored_submark_light from '@/assets/logo/logo_colored_submark_light.svg';
import logo_colored_submark_dark from '@/assets/logo/logo_colored_submark_dark.svg';
import * as logoAssets from '@/assets/logo/logo-export';
import { useTheme } from 'next-themes';
type ColorType = 'colored' | 'monochrome';
@ -47,7 +32,9 @@ export default function Logo({
...imageProps
}: LogoProps) {
const [mounted, setMounted] = useState(false);
let { resolvedTheme: theme } = useTheme();
let { resolvedTheme: theme } = useTheme() as {
resolvedTheme?: Theme;
};
useEffect(() => {
setMounted(true);
@ -84,29 +71,10 @@ export default function Logo({
const colorTypeInFilename = colorType === 'monochrome' ? 'mono' : colorType;
const defaultAltText = `Logo: ${colorType} ${logoType} ${theme}`;
const varName = `logo_${colorTypeInFilename}_${logoType}_${theme}`;
const logoAssets = {
logo_colored_combo_light,
logo_colored_combo_dark,
logo_colored_primary_light,
logo_colored_primary_dark,
logo_colored_secondary_light,
logo_colored_secondary_dark,
logo_mono_combo_light,
logo_mono_combo_dark,
logo_mono_primary_light,
logo_mono_primary_dark,
logo_mono_secondary_light,
logo_mono_secondary_dark,
logo_mono_submark_light,
logo_mono_submark_dark,
logo_colored_submark_light,
logo_colored_submark_dark,
};
const varName = `logo_${colorTypeInFilename}_${logoType}_${theme}` as const;
// Match the varName with the Logo-Asset name and store it in "logoVar"
const logoVar = logoAssets[varName as keyof typeof logoAssets];
const logoVar = logoAssets[varName];
if (!logoVar) {
console.error(`Logo: Could not find logo asset for ${varName}`);