Files
dezky/apps/website/components/landing/PartnerCard.vue
T
Ronni Baslund c9911cc262 feat(website): add Nuxt 4 marketing landing page
New standalone apps/website (Nuxt 4) serving the public marketing site at
dezky.local / www.dezky.local. The customer portal moves off the root domain
to app.dezky.local only.

Landing page ported from the Dezky design handoff: light theme, Danish
default, hero variant A, with a working da/en toggle. Self-contained colour
system threaded through components (utils/landingTokens.ts), full bilingual
copy (utils/landingCopy.ts), and shared state (composables/useLanding.ts).
Sections live under components/landing/* with the Node logo under
components/brand/*.

Wired into docker-compose (website service, volume, Traefik labels, network
aliases) and bootstrap.sh (hosts list + service URLs).
2026-06-05 10:58:25 +02:00

38 lines
1.6 KiB
Vue

<script setup lang="ts">
// A single "partner brand" row in the whitelabel demo.
// Ported from landing-sections.jsx PartnerCard.
import { computed } from 'vue'
const props = withDefaults(defineProps<{
fg: string
bg: string
border: string
accent: string
name: string
subtitle: string
placeholder?: boolean
}>(), { placeholder: false })
const initial = computed(() => props.name[0].toUpperCase())
</script>
<template>
<div :style="{
background: bg, border: `1px solid ${border}`, borderRadius: '4px',
padding: '20px 22px', display: 'flex', alignItems: 'center', gap: '16px',
opacity: placeholder ? 0.55 : 1,
borderStyle: placeholder ? 'dashed' : 'solid',
}">
<div :style="{
width: '44px', height: '44px', borderRadius: '4px', background: accent,
display: 'flex', alignItems: 'center', justifyContent: 'center',
fontFamily: '\'Inter Tight\', sans-serif', fontWeight: 700,
fontSize: '22px', color: '#FFF', letterSpacing: '-0.02em', flexShrink: 0,
}">{{ initial }}</div>
<div :style="{ flex: 1 }">
<div :style="{ fontFamily: '\'Inter Tight\', sans-serif', fontWeight: 600, fontSize: '17px', color: fg, letterSpacing: '-0.02em' }">{{ name }}</div>
<div :style="{ fontFamily: '\'JetBrains Mono\', monospace', fontSize: '11px', color: 'rgba(0,0,0,0.5)', marginTop: '2px' }">{{ subtitle }}</div>
</div>
<div :style="{ fontFamily: '\'JetBrains Mono\', monospace', fontSize: '10px', color: 'rgba(0,0,0,0.4)', letterSpacing: '0.1em', textTransform: 'uppercase' }">powered by dezky</div>
</div>
</template>