From d2096eb847fce5ed7b8754ac732290d28972e803 Mon Sep 17 00:00:00 2001 From: Ronni Baslund Date: Sat, 6 Jun 2026 19:19:19 +0200 Subject: [PATCH] feat(website): book-a-demo & status pages, expand roadmap/contact - /demo: book-a-demo page with a what-to-expect column + a form that composes a prefilled email to info@dezky.eu (interim, no backend); built to swap for a self-hosted scheduler later. Wire every "Book a demo" CTA (nav, hero, pricing, the previously-dead final-CTA button, and the contact/partners/migration/coming-soon CTAs) to /demo. - /status: manually-maintained system-status page (overall banner, per-service rows, incident history). Live modules operational; Video/Chat marked coming soon. - Roadmap: expand the board (5 items/column) + a "the bigger picture" themes grid + a "suggest a feature" CTA + a directional-timelines note. - Contact: purpose-specific channels (info@ / legal@ / privacy@), a response-time note, and a company + "see it live" demo block. - Drop /status from the [slug].vue stub map; tidy now-unused imports. --- .../website/components/landing/ComingSoon.vue | 6 +- apps/website/components/landing/FinalCta.vue | 4 +- apps/website/components/landing/Hero.vue | 2 +- apps/website/components/landing/Nav.vue | 6 +- apps/website/components/landing/Pricing.vue | 2 +- apps/website/pages/[slug].vue | 1 - apps/website/pages/contact.vue | 71 ++++++--- apps/website/pages/demo.vue | 121 +++++++++++++++ apps/website/pages/migration.vue | 6 +- apps/website/pages/partners.vue | 6 +- apps/website/pages/roadmap.vue | 47 +++++- apps/website/pages/status.vue | 65 +++++++++ apps/website/utils/landingCopy.ts | 138 +++++++++++++++++- 13 files changed, 427 insertions(+), 48 deletions(-) create mode 100644 apps/website/pages/demo.vue create mode 100644 apps/website/pages/status.vue diff --git a/apps/website/components/landing/ComingSoon.vue b/apps/website/components/landing/ComingSoon.vue index 40c7885..5931e35 100644 --- a/apps/website/components/landing/ComingSoon.vue +++ b/apps/website/components/landing/ComingSoon.vue @@ -2,18 +2,16 @@ // Placeholder body for not-yet-built sub-pages. Shows the page title under a // "coming soon" eyebrow, an explanatory line, and a demo CTA. Legal pages pass // the legal-specific body instead of the generic one. -import { useRoute } from 'vue-router' -import { useCopy, goToSection } from '~/composables/useLanding' +import { useCopy } from '~/composables/useLanding' defineProps<{ title: string, body: string }>() const copy = useCopy() -const route = useRoute() diff --git a/apps/website/components/landing/FinalCta.vue b/apps/website/components/landing/FinalCta.vue index 6a28dca..6800851 100644 --- a/apps/website/components/landing/FinalCta.vue +++ b/apps/website/components/landing/FinalCta.vue @@ -14,13 +14,13 @@ const copy = useCopy()

{{ copy.finalCta.sub }}
-
diff --git a/apps/website/components/landing/Nav.vue b/apps/website/components/landing/Nav.vue index e948bdf..bc69f68 100644 --- a/apps/website/components/landing/Nav.vue +++ b/apps/website/components/landing/Nav.vue @@ -4,7 +4,7 @@ import { computed, ref } from 'vue' import { useRoute } from 'vue-router' import { APP_URL } from '~/utils/landingTokens' -import { useTheme, useCopy, useLang, toggleLang, scrollToAnchor, goToSection } from '~/composables/useLanding' +import { useTheme, useCopy, useLang, toggleLang, scrollToAnchor } from '~/composables/useLanding' const t = useTheme() const copy = useCopy() @@ -81,7 +81,7 @@ function onMobileLink(e: MouseEvent, href: string) { @click="toggleLang()" >{{ lang === 'da' ? 'da · en' : 'en · da' }} {{ copy.nav.login }} - {{ copy.nav.cta }} → + {{ copy.nav.cta }} → @@ -155,7 +155,7 @@ function onMobileLink(e: MouseEvent, href: string) { :style="{ fontFamily: '\'Inter\', sans-serif', fontSize: '14px', color: t.fgMuted }" @click="mobileOpen = false" >{{ copy.nav.login }} - {{ copy.nav.cta }} → + {{ copy.nav.cta }} → diff --git a/apps/website/components/landing/Pricing.vue b/apps/website/components/landing/Pricing.vue index 70c5e23..529c597 100644 --- a/apps/website/components/landing/Pricing.vue +++ b/apps/website/components/landing/Pricing.vue @@ -17,7 +17,7 @@ const copy = useCopy()

{{ copy.pricing.lede }}

- {{ copy.pricing.cta }} → + {{ copy.pricing.cta }} →
diff --git a/apps/website/pages/[slug].vue b/apps/website/pages/[slug].vue index 2a1ad10..72265c9 100644 --- a/apps/website/pages/[slug].vue +++ b/apps/website/pages/[slug].vue @@ -14,7 +14,6 @@ const STUBS: Record = { customers: { legal: false }, careers: { legal: false }, press: { legal: false }, - status: { legal: false }, docs: { legal: false }, blog: { legal: false }, } diff --git a/apps/website/pages/contact.vue b/apps/website/pages/contact.vue index f494a07..0558090 100644 --- a/apps/website/pages/contact.vue +++ b/apps/website/pages/contact.vue @@ -1,42 +1,75 @@ + + diff --git a/apps/website/pages/demo.vue b/apps/website/pages/demo.vue new file mode 100644 index 0000000..d973f3a --- /dev/null +++ b/apps/website/pages/demo.vue @@ -0,0 +1,121 @@ + + +