d668b1b6a6
Make the marketing site mobile-friendly across every page and section. Desktop appearance is unchanged; all breakpoint logic targets <=768px. - Fluid section padding via clamp(); equal grids use auto-fit/minmax, asymmetric grids stack to one column via scoped-CSS media queries - Nav: real hamburger menu on mobile (links, lang toggle, login, CTA) - ProductMockup: scales the whole dashboard to fit (zoom) instead of reflowing its internals into a tall stack - Lower oversized heading clamp() minimums so titles no longer overflow at ~390px (hero, page headers, final CTA, brand cover/chapter) - HowItWorks: row-gap when steps stack so node markers clear the text - Compare + partners tables: stacked rows now label each value with its column (Dezky vs hyperscaler / CSP) instead of an ambiguous header - Footer columns, tiers, calculator and tables stack cleanly on mobile
38 lines
1.6 KiB
Vue
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', flexWrap: 'wrap',
|
|
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, minWidth: 0 }">
|
|
<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>
|