Add more logos
Deploy static content to Pages / deploy (push) Successful in 17s

This commit is contained in:
2026-10-21 00:46:02 +02:00
parent 586cf3b674
commit 220568e69b
7 changed files with 838 additions and 17 deletions
BIN
View File
Binary file not shown.
+16
View File
@@ -5,6 +5,7 @@ import { useCards } from '@/stores/cards.ts'
import { ref } from 'vue'
import {
VaButton,
VaButtonToggle,
VaCard,
VaCardContent,
VaColorInput,
@@ -25,6 +26,12 @@ function presetChange(card: CardT, preset: keyof typeof presets | 'none') {
const active = ref(-1)
const print = () => window.print()
const logoOptions = [
{ label: 'Logo 3', value: '3' },
{ label: 'Logo 4', value: '4' },
{ label: 'No Logo', value: '' },
]
</script>
<template>
@@ -43,6 +50,15 @@ const print = () => window.print()
>
<VaCardContent class="flex flex-col gap-4">
<VaInput v-model="card.title" :label="`Title Card ${i + 1}`" clearable />
<p>Logo type</p>
<VaButtonToggle
v-model="card.type"
:label="`type ${i + 1}`"
preset="secondary"
border-color="primary"
:options="logoOptions"
grow
/>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-4">
<VaInput v-model="card.name" label="Name" class="col-span-2" clearable />
<VaCounter
+22 -15
View File
@@ -1,6 +1,7 @@
export type Preset = Pick<CardT, 'color' | 'bgColor' | 'textColor' | 'nameColor' | 'title'>
export type Preset = Pick<CardT, 'type' | 'color' | 'bgColor' | 'textColor' | 'nameColor' | 'title'>
export const presets = {
default: {
type: '4',
bgColor: '#000000',
color: '#ffffff',
textColor: '#ffffff',
@@ -8,13 +9,31 @@ export const presets = {
title: 'Fachschaft 4',
},
inverted: {
type: '4',
bgColor: '#ffffff',
color: '#000000',
textColor: '#000000',
nameColor: '#ffffff',
title: 'Fachschaft 4',
},
inverted3: {
type: '3',
bgColor: '#ffffff',
color: '#000000',
textColor: '#000000',
nameColor: '#ffffff',
title: 'Fachschaft 3',
},
helping: {
type: '4',
bgColor: '#000000',
color: '#ffffff',
textColor: '#ffffff',
nameColor: '#000000',
title: 'Helping Hand',
},
helping3: {
type: '3',
bgColor: '#000000',
color: '#ffffff',
textColor: '#ffffff',
@@ -22,26 +41,13 @@ export const presets = {
title: 'Helping Hand',
},
awareness: {
type: '4',
bgColor: '#3e1c59',
color: '#6f309f',
textColor: '#ffffff',
nameColor: '#ffffff',
title: 'Awareness',
},
awareness2: {
bgColor: '#5a5a5a',
color: '#4a4a4a',
textColor: '#ffffff',
nameColor: '#ffffff',
title: 'Awareness',
},
security: {
bgColor: '#8d851c',
color: '#e8db0b',
textColor: '#000000',
nameColor: '#000000',
title: 'Security',
},
// TODO: add new types
} satisfies Record<string, Preset>
@@ -50,6 +56,7 @@ export function validPreset(key: string): key is keyof typeof presets {
}
export type CardT = {
type: string
title: string
color: string
bgColor: string
+10
View File
@@ -0,0 +1,10 @@
<template>
<svg
id="nologo"
width="1000"
height="1000"
viewBox="0 0 1000 999.99996"
xmlns="http://www.w3.org/2000/svg"
class="w-14 h-14 ml-4"
></svg>
</template>
+6 -2
View File
@@ -1,6 +1,8 @@
<script setup lang="ts">
import Logo from '@/components/logo.vue'
import Logo4 from '@/components/logo4.vue'
import Logo3 from '@/components/logo3.vue'
import type { CardT } from '@/colors.ts'
import NoLogo from '@/components/NoLogo.vue'
const card = defineModel<CardT>({ required: true })
const props = defineProps<{
@@ -18,7 +20,9 @@ const props = defineProps<{
class="h-14 bg-gray-600 flex flex-row space-between align-center relative"
:style="{ backgroundColor: card.bgColor }"
>
<logo class="absolute top-0 left-0" :color="card.textColor" />
<logo3 v-if="card.type === '3'" class="absolute top-0 left-0" :color="card.textColor" />
<logo4 v-else-if="card.type === '4'" class="absolute top-0 left-0" :color="card.textColor" />
<no-logo v-else class="absolute top-0 left-0" />
<p
class="text-center w-full mx-16 align-center h-fit my-auto text-white text-5xl font-bold eng font-medium pt-3"
:style="{ color: card.textColor }"
File diff suppressed because one or more lines are too long