From 6563396a836d476b99757a8d2ef0771c7ee7dce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Jurmanovi=C4=87?= Date: Mon, 22 Sep 2025 22:49:15 +0200 Subject: [PATCH] fix logout issues --- src/app/login/page.tsx | 18 ++++++++++++++++-- src/components/ui/LogoutButton.tsx | 2 +- src/lib/actions/auth.ts | 4 ++++ src/lib/api/server/base.ts | 9 ++------- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 90e9971..8578791 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -1,7 +1,8 @@ 'use client'; -import { loginAction, LoginResult } from '@/lib/actions/auth'; -import { useActionState } from 'react'; +import { loginAction, LoginResult, clearExpiredSessionAction } from '@/lib/actions/auth'; +import { useActionState, useEffect } from 'react'; +import { useSearchParams } from 'next/navigation'; const initialState: LoginResult = { message: '', @@ -9,7 +10,15 @@ const initialState: LoginResult = { }; export default function LoginPage() { + const searchParams = useSearchParams(); + const expired = searchParams.get('expired') === 'true'; const [state, formAction] = useActionState(loginAction, initialState); + + useEffect(() => { + if (expired) { + clearExpiredSessionAction(); + } + }, [expired]); return (
@@ -17,6 +26,11 @@ export default function LoginPage() {

ACC Server Manager

Sign in to manage your servers

+ {expired && ( +
+ Your session has expired. Please sign in again. +
+ )} {state?.success ? null : (
{state?.message} diff --git a/src/components/ui/LogoutButton.tsx b/src/components/ui/LogoutButton.tsx index ba57d5a..3a3b526 100644 --- a/src/components/ui/LogoutButton.tsx +++ b/src/components/ui/LogoutButton.tsx @@ -4,7 +4,7 @@ import { logoutAction } from '@/lib/actions/auth'; import { useActionState } from 'react'; export default function LogoutButton() { - const [_, formAction] = useActionState(logoutAction, null); + const [, formAction] = useActionState(logoutAction, null); return (