diff --git a/frontend/assets/css/main.css b/frontend/assets/css/main.css index 89b2e1cf..7fad7275 100644 --- a/frontend/assets/css/main.css +++ b/frontend/assets/css/main.css @@ -6,6 +6,10 @@ text-transform: none !important; } +.tooltip { + overflow-wrap: break-word; +} + /* transparent subtle scrollbar */ ::-webkit-scrollbar { width: 0.2em; diff --git a/frontend/middleware/auth.ts b/frontend/middleware/auth.ts index 97a99203..e9f0b375 100644 --- a/frontend/middleware/auth.ts +++ b/frontend/middleware/auth.ts @@ -1,10 +1,12 @@ export default defineNuxtRouteMiddleware(async () => { const ctx = useAuthContext(); const api = useUserApi(); + const redirectTo = useState("authRedirect"); if (!ctx.isAuthorized()) { if (window.location.pathname !== "/") { console.debug("[middleware/auth] isAuthorized returned false, redirecting to /"); + redirectTo.value = window.location.pathname; return navigateTo("/"); } } @@ -15,6 +17,7 @@ export default defineNuxtRouteMiddleware(async () => { if (error) { if (window.location.pathname !== "/") { console.debug("[middleware/user] user is null and fetch failed, redirecting to /"); + redirectTo.value = window.location.pathname; return navigateTo("/"); } } diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index 22fffc57..bffc979f 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -103,6 +103,7 @@ const loading = ref(false); const loginPassword = ref(""); + const redirectTo = useState("authRedirect"); async function login() { loading.value = true; @@ -116,7 +117,8 @@ toast.success("Logged in successfully"); - navigateTo("/home"); + navigateTo(redirectTo.value || "/home"); + redirectTo.value = null; loading.value = false; }