From 28f84bca92c99c06391a6fe7f167610b04a7fee5 Mon Sep 17 00:00:00 2001 From: Timothy Yin Date: Sat, 19 Apr 2025 01:32:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E6=9E=84=E5=90=84=E7=BA=A7?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=20chore:=20=E9=85=8D=E7=BD=AE=20prettier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc | 7 + .vscode/settings.json | 1 - components/SubNav.vue | 104 +++++++ components/app/Container.vue | 29 ++ components/app/NavMain.vue | 26 +- components/app/PageWithSidebar.vue | 32 -- components/app/Sidebar.vue | 1 + components/app/Topbar.vue | 62 ++-- eslint.config.mjs | 5 + layouts/default.vue | 58 +++- layouts/no-sidebar.vue | 12 +- nuxt.config.ts | 1 + package.json | 5 + pages/course/[id].vue | 158 +++++----- pages/course/index.vue | 455 ++++++++++++++--------------- pages/course/research/index.vue | 2 +- pages/course/resources/index.vue | 1 - pages/preview/[resource_url].vue | 84 ++++-- pages/user/authenticate.client.vue | 4 + pnpm-lock.yaml | 116 ++++++++ stores/breadcrumbs.ts | 24 ++ types/index.ts | 5 + types/nuxt.d.ts | 8 + 23 files changed, 784 insertions(+), 416 deletions(-) create mode 100644 .prettierrc create mode 100644 components/SubNav.vue create mode 100644 components/app/Container.vue delete mode 100644 components/app/PageWithSidebar.vue create mode 100644 stores/breadcrumbs.ts create mode 100644 types/nuxt.d.ts diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..77129cf --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "bracketSameLine": false, + "singleAttributePerLine": true +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 6e5623c..e25829e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,5 @@ { "eslint.useFlatConfig": true, - "prettier.bracketSameLine": true, "prettier.semi": false, "prettier.singleAttributePerLine": true, "prettier.singleQuote": true diff --git a/components/SubNav.vue b/components/SubNav.vue new file mode 100644 index 0000000..046f873 --- /dev/null +++ b/components/SubNav.vue @@ -0,0 +1,104 @@ + + + + + + + diff --git a/components/app/Container.vue b/components/app/Container.vue new file mode 100644 index 0000000..7c901b3 --- /dev/null +++ b/components/app/Container.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/components/app/NavMain.vue b/components/app/NavMain.vue index c7624e9..ac97f67 100644 --- a/components/app/NavMain.vue +++ b/components/app/NavMain.vue @@ -1,20 +1,11 @@ @@ -41,16 +32,16 @@ defineProps<{ @@ -71,6 +62,13 @@ defineProps<{ v-if="item.items" class="ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" /> + + diff --git a/components/app/PageWithSidebar.vue b/components/app/PageWithSidebar.vue deleted file mode 100644 index 305b314..0000000 --- a/components/app/PageWithSidebar.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - diff --git a/components/app/Sidebar.vue b/components/app/Sidebar.vue index 5584073..0b86c04 100644 --- a/components/app/Sidebar.vue +++ b/components/app/Sidebar.vue @@ -8,6 +8,7 @@ export interface SidebarNavItem { url?: string | RouteLocationRaw icon: LucideIcon | string isActive?: boolean + isExternal?: boolean items?: { title: string url: string diff --git a/components/app/Topbar.vue b/components/app/Topbar.vue index cd03d9c..fb2f91d 100644 --- a/components/app/Topbar.vue +++ b/components/app/Topbar.vue @@ -1,7 +1,11 @@ + diff --git a/layouts/no-sidebar.vue b/layouts/no-sidebar.vue index f3b7fe2..6fe019c 100644 --- a/layouts/no-sidebar.vue +++ b/layouts/no-sidebar.vue @@ -2,17 +2,7 @@