From 635cbe0482d6fea5fd6fdb81b9d36da36060b726 Mon Sep 17 00:00:00 2001 From: Michael Winter Date: Fri, 6 Mar 2026 10:23:45 +0100 Subject: [PATCH] Add shareable work pages with modal support - Create IndexContent component to avoid code duplication - Score icon links to /work/[slug] with clean URLs - Modal opens automatically via slug prop (works with SSR) - Crawler finds and prerenders all /work/ pages (145 routes) - Work page redirects to / when modal closes - Single source of truth for data fetching in IndexContent --- components/IconButton.vue | 19 +--- components/IndexContent.vue | 193 ++++++++++++++++++++++++++++++++++ pages/index.vue | 201 +----------------------------------- pages/work/[slug].vue | 18 ++-- 4 files changed, 209 insertions(+), 222 deletions(-) create mode 100644 components/IndexContent.vue diff --git a/components/IconButton.vue b/components/IconButton.vue index 69680f7..c06fe41 100644 --- a/components/IconButton.vue +++ b/components/IconButton.vue @@ -2,9 +2,9 @@
- + @@ -41,7 +41,7 @@ diff --git a/components/IndexContent.vue b/components/IndexContent.vue new file mode 100644 index 0000000..2d81c69 --- /dev/null +++ b/components/IndexContent.vue @@ -0,0 +1,193 @@ + + + diff --git a/pages/index.vue b/pages/index.vue index 1f66d0f..afcd7f6 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,208 +1,9 @@ diff --git a/pages/work/[slug].vue b/pages/work/[slug].vue index 4272bbe..ebe890f 100644 --- a/pages/work/[slug].vue +++ b/pages/work/[slug].vue @@ -1,14 +1,20 @@ + + - -