From 6473bdcc15b51b44169a4b2c38fbacf1afd17e31 Mon Sep 17 00:00:00 2001 From: xiaomai Date: Thu, 23 Oct 2025 09:16:59 +0800 Subject: [PATCH] refactor(ui): adopt Nuxt UI components for homepage and layout This commit refactors the main layout and homepage to utilize components from the Nuxt UI library, simplifying the codebase and reducing custom boilerplate. - The default layout is now built with `UPage`, `UHeader`, `UMain`, and `UFooter`. - The homepage (`pages/index.vue`) has been updated to use `UPageHero` and `UBlogPosts`. - The `IndexHero` and `IndexNews` components have been removed as their functionality is now integrated directly into the index page. - `Donate`, `Events`, and `HallOfFame` components are now wrapped with `UPageCTA` or `UPageSection`. --- app/components/index/Donate.vue | 18 ++- app/components/index/Events.vue | 51 ++++---- app/components/index/HallOfFame.vue | 46 ++++---- app/components/index/Hero.vue | 35 ------ app/components/index/News.vue | 37 ------ app/layouts/default.vue | 116 ++++++++++--------- app/pages/index.vue | 56 ++++++++- content/news/20251001-official-web-launch.md | 1 + package.json | 1 + pnpm-lock.yaml | 10 ++ 10 files changed, 188 insertions(+), 183 deletions(-) delete mode 100644 app/components/index/Hero.vue delete mode 100644 app/components/index/News.vue diff --git a/app/components/index/Donate.vue b/app/components/index/Donate.vue index d90b41a..e73db7b 100644 --- a/app/components/index/Donate.vue +++ b/app/components/index/Donate.vue @@ -1,16 +1,14 @@ - \ No newline at end of file + diff --git a/app/components/index/Events.vue b/app/components/index/Events.vue index c06caea..79d35ce 100644 --- a/app/components/index/Events.vue +++ b/app/components/index/Events.vue @@ -1,32 +1,35 @@ - \ No newline at end of file + diff --git a/app/components/index/HallOfFame.vue b/app/components/index/HallOfFame.vue index f9f2b6b..8098970 100644 --- a/app/components/index/HallOfFame.vue +++ b/app/components/index/HallOfFame.vue @@ -1,31 +1,33 @@ - \ No newline at end of file + diff --git a/app/components/index/Hero.vue b/app/components/index/Hero.vue deleted file mode 100644 index 8b8e996..0000000 --- a/app/components/index/Hero.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - diff --git a/app/components/index/News.vue b/app/components/index/News.vue deleted file mode 100644 index ec70cc4..0000000 --- a/app/components/index/News.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/layouts/default.vue b/app/layouts/default.vue index 85117d5..8668daf 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -1,62 +1,74 @@ + + diff --git a/app/pages/index.vue b/app/pages/index.vue index de8cba4..bdeb291 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -1,7 +1,23 @@ - \ No newline at end of file + diff --git a/content/news/20251001-official-web-launch.md b/content/news/20251001-official-web-launch.md index ba962a9..d356a7d 100644 --- a/content/news/20251001-official-web-launch.md +++ b/content/news/20251001-official-web-launch.md @@ -11,6 +11,7 @@ highlight: true seoTitle: "永中校友会官网上线 | 最新活动与资讯平台" seoDescription: "永中校友会官网正式上线,校友可在平台获取最新资讯、报名活动及参与互动。" ogImage: "/images/og/news-launch.jpg" +slug: "/news/20251001-official-web-launch" --- 永中校友会官网正式上线啦!🎉 diff --git a/package.json b/package.json index b25ccdc..2a21f2e 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "vue-sonner": "^2.0.9" }, "devDependencies": { + "@iconify-json/lucide": "^1.2.70", "sass-embedded": "^1.93.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c05d3d9..abfac50 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,6 +66,9 @@ importers: specifier: ^2.0.9 version: 2.0.9(@nuxt/kit@4.1.3(magicast@0.3.5))(@nuxt/schema@4.1.3)(nuxt@4.1.3(@parcel/watcher@2.5.1)(@types/node@24.7.0)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.1)(lightningcss@1.30.1)(magicast@0.3.5)(rollup@4.52.4)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.9(@types/node@24.7.0)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1)) devDependencies: + '@iconify-json/lucide': + specifier: ^1.2.70 + version: 1.2.70 sass-embedded: specifier: ^1.93.2 version: 1.93.2 @@ -528,6 +531,9 @@ packages: '@floating-ui/vue@1.1.9': resolution: {integrity: sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==} + '@iconify-json/lucide@1.2.70': + resolution: {integrity: sha512-56s9NdBKgshywVY1e4gOcxzAbU1J649e/jLHBJU1tyNqRs7mFLVEGwj2mmzHJ5YAZB5Tsngi4f/ocTBPlG06ZA==} + '@iconify/collections@1.0.602': resolution: {integrity: sha512-bpHY7qw+a5QbYlsyROx3Ar2jb8hMMvUOrp99a+pQTHDM+pAVR76WMYriRdW0mKcDo9L3uoU5u0uI9LY+jfbkOQ==} @@ -5959,6 +5965,10 @@ snapshots: - '@vue/composition-api' - vue + '@iconify-json/lucide@1.2.70': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/collections@1.0.602': dependencies: '@iconify/types': 2.0.0