From 3d7a2b2ef68b545082027485b0555077c8e8f61b Mon Sep 17 00:00:00 2001 From: Pascal Martineau Date: Tue, 13 Jan 2026 09:05:31 -0500 Subject: [PATCH] feat: Initial layout with SiteHeader / SiteFooter --- .../moonshine/app/components/site/SiteFooter.vue | 13 +++++++++++++ .../app/components/site/SiteFooterCopyright.vue | 5 +++++ .../app/components/site/SiteFooterCredits.vue | 6 ++++++ .../moonshine/app/components/site/SiteHeader.vue | 7 +++++++ .../themes/moonshine/app/layouts/default.vue | 11 ++++++++--- .../themes/moonshine/app/pages/[...uri].vue | 4 +--- wp-content/themes/moonshine/package.json | 1 + wp-content/themes/moonshine/pnpm-lock.yaml | 16 +++++++++++++--- 8 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 wp-content/themes/moonshine/app/components/site/SiteFooter.vue create mode 100644 wp-content/themes/moonshine/app/components/site/SiteFooterCopyright.vue create mode 100644 wp-content/themes/moonshine/app/components/site/SiteFooterCredits.vue create mode 100644 wp-content/themes/moonshine/app/components/site/SiteHeader.vue diff --git a/wp-content/themes/moonshine/app/components/site/SiteFooter.vue b/wp-content/themes/moonshine/app/components/site/SiteFooter.vue new file mode 100644 index 0000000..cc2fab4 --- /dev/null +++ b/wp-content/themes/moonshine/app/components/site/SiteFooter.vue @@ -0,0 +1,13 @@ + + + diff --git a/wp-content/themes/moonshine/app/components/site/SiteFooterCopyright.vue b/wp-content/themes/moonshine/app/components/site/SiteFooterCopyright.vue new file mode 100644 index 0000000..d27f8a0 --- /dev/null +++ b/wp-content/themes/moonshine/app/components/site/SiteFooterCopyright.vue @@ -0,0 +1,5 @@ + diff --git a/wp-content/themes/moonshine/app/components/site/SiteFooterCredits.vue b/wp-content/themes/moonshine/app/components/site/SiteFooterCredits.vue new file mode 100644 index 0000000..edca5b2 --- /dev/null +++ b/wp-content/themes/moonshine/app/components/site/SiteFooterCredits.vue @@ -0,0 +1,6 @@ + diff --git a/wp-content/themes/moonshine/app/components/site/SiteHeader.vue b/wp-content/themes/moonshine/app/components/site/SiteHeader.vue new file mode 100644 index 0000000..3412732 --- /dev/null +++ b/wp-content/themes/moonshine/app/components/site/SiteHeader.vue @@ -0,0 +1,7 @@ + + + diff --git a/wp-content/themes/moonshine/app/layouts/default.vue b/wp-content/themes/moonshine/app/layouts/default.vue index df7d7f3..bd9183e 100644 --- a/wp-content/themes/moonshine/app/layouts/default.vue +++ b/wp-content/themes/moonshine/app/layouts/default.vue @@ -1,8 +1,13 @@ diff --git a/wp-content/themes/moonshine/app/pages/[...uri].vue b/wp-content/themes/moonshine/app/pages/[...uri].vue index 8698811..58a23b2 100644 --- a/wp-content/themes/moonshine/app/pages/[...uri].vue +++ b/wp-content/themes/moonshine/app/pages/[...uri].vue @@ -2,7 +2,5 @@ diff --git a/wp-content/themes/moonshine/package.json b/wp-content/themes/moonshine/package.json index 2b2ef3d..bea40ce 100644 --- a/wp-content/themes/moonshine/package.json +++ b/wp-content/themes/moonshine/package.json @@ -14,6 +14,7 @@ "release": "pnpm lint && changelogen --noAuthors --release --push" }, "dependencies": { + "@iconify-json/lucide": "^1.2.84", "@nuxt/ui": "4.3.0", "nuxt": "^4.2.2", "tailwindcss": "^4.1.18", diff --git a/wp-content/themes/moonshine/pnpm-lock.yaml b/wp-content/themes/moonshine/pnpm-lock.yaml index c18b411..56f9035 100644 --- a/wp-content/themes/moonshine/pnpm-lock.yaml +++ b/wp-content/themes/moonshine/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@iconify-json/lucide': + specifier: ^1.2.84 + version: 1.2.84 '@nuxt/ui': specifier: 4.3.0 version: 4.3.0(@babel/parser@7.28.6)(@floating-ui/dom@1.7.4)(@tiptap/extension-drag-handle@3.15.3(@tiptap/core@3.13.0(@tiptap/pm@3.13.0))(@tiptap/extension-collaboration@3.15.3(@tiptap/core@3.13.0(@tiptap/pm@3.13.0))(@tiptap/pm@3.13.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.4)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29))(@tiptap/extension-node-range@3.15.3(@tiptap/core@3.13.0(@tiptap/pm@3.13.0))(@tiptap/pm@3.13.0))(@tiptap/pm@3.13.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.4)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29)))(@tiptap/extensions@3.15.3(@tiptap/core@3.13.0(@tiptap/pm@3.13.0))(@tiptap/pm@3.13.0))(change-case@5.4.4)(db0@0.3.4)(embla-carousel@8.6.0)(ioredis@5.9.1)(magicast@0.5.1)(typescript@5.9.3)(vite@7.3.1(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3)) @@ -17,9 +20,6 @@ importers: tailwindcss: specifier: ^4.1.18 version: 4.1.18 - typescript: - specifier: ^5.9.3 - version: 5.9.3 vue: specifier: ^3.5.26 version: 3.5.26(typescript@5.9.3) @@ -36,6 +36,9 @@ importers: eslint: specifier: ^9.39.2 version: 9.39.2(jiti@2.6.1) + typescript: + specifier: ^5.9.3 + version: 5.9.3 packages: @@ -620,6 +623,9 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iconify-json/lucide@1.2.84': + resolution: {integrity: sha512-m45MY1aW2swSK6Neb3J2qdZ+BxZ1VTdN7UeoXENwyMACG9bqGHWYJYxWoFzwoSnCfYLyKWTcBhesBgMd5IrUzQ==} + '@iconify/collections@1.0.638': resolution: {integrity: sha512-QP163IfZcCxwEghlKGzVZzYS2VZtdBkyc16LbqQ5s92VgL5oZ/9iQKBwLAPZihJxQb2gWtFQir5Fp25Rfs9YFw==} @@ -5503,6 +5509,10 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@iconify-json/lucide@1.2.84': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/collections@1.0.638': dependencies: '@iconify/types': 2.0.0