From f3473aeb8394d2b4a8ac5a12d359daebdfc3c39a Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 16 Mar 2024 13:25:39 +0800 Subject: [PATCH] :lipstick: Better title --- pkg/views/src/router/index.ts | 31 +++++++++++++++++++++++----- pkg/views/src/views/auth/connect.vue | 1 + 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/pkg/views/src/router/index.ts b/pkg/views/src/router/index.ts index 8ce26e2..c0981ee 100644 --- a/pkg/views/src/router/index.ts +++ b/pkg/views/src/router/index.ts @@ -14,9 +14,24 @@ const router = createRouter({ path: "/", component: UserCenterLayout, children: [ - { path: "/", name: "dashboard", component: () => import("@/views/dashboard.vue") }, - { path: "/me/personalize", name: "personalize", component: () => import("@/views/personalize.vue") }, - { path: "/me/security", name: "security", component: () => import("@/views/security.vue") }, + { + path: "/", + name: "dashboard", + component: () => import("@/views/dashboard.vue"), + meta: { title: "Your account" }, + }, + { + path: "/me/personalize", + name: "personalize", + component: () => import("@/views/personalize.vue"), + meta: { title: "Your personality" }, + }, + { + path: "/me/security", + name: "security", + component: () => import("@/views/security.vue"), + meta: { title: "Your security" }, + }, ], }, ], @@ -28,13 +43,13 @@ const router = createRouter({ path: "sign-in", name: "auth.sign-in", component: () => import("@/views/auth/sign-in.vue"), - meta: { public: true }, + meta: { public: true, title: "Sign in" }, }, { path: "sign-up", name: "auth.sign-up", component: () => import("@/views/auth/sign-up.vue"), - meta: { public: true }, + meta: { public: true, title: "Sign up" }, }, { path: "o/connect", @@ -52,6 +67,12 @@ router.beforeEach(async (to, from, next) => { await id.readProfiles() } + if (to.meta.title) { + document.title = `Solarpass | ${to.meta.title}` + } else { + document.title = "Solarpass" + } + if (!to.meta.public && !id.userinfo.isLoggedIn) { next({ name: "auth.sign-in", query: { redirect_uri: to.fullPath } }) } else { diff --git a/pkg/views/src/views/auth/connect.vue b/pkg/views/src/views/auth/connect.vue index 150090f..ea62fb0 100644 --- a/pkg/views/src/views/auth/connect.vue +++ b/pkg/views/src/views/auth/connect.vue @@ -120,6 +120,7 @@ async function preconnect() { panel.value = "callback" callback(data["session"]) } else { + document.title = `Solarpass | Connect to ${data["client"]?.name}` metadata.value = data["client"] loading.value = false }