fix: Remove suspended user-related route blocking

This commit is contained in:
shuai
2025-04-17 10:23:57 +08:00
parent d8ab25d565
commit 6495414dc9
2 changed files with 6 additions and 32 deletions
+4 -2
View File
@@ -54,7 +54,9 @@ const routes: RouteNode[] = [
if (!gr.ok) {
return gr;
}
return guard.notForbidden();
return {
ok: true,
};
},
children: [
// question and answer
@@ -309,7 +311,7 @@ const routes: RouteNode[] = [
path: '/users/account-suspended',
page: 'pages/Users/Suspended',
guard: () => {
return guard.forbidden();
return guard.notLogged();
},
},
{
+2 -30
View File
@@ -47,7 +47,6 @@ type TLoginState = {
isLogged: boolean;
isNotActivated: boolean;
isActivated: boolean;
isForbidden: boolean;
isNormal: boolean;
isAdmin: boolean;
isModerator: boolean;
@@ -72,7 +71,6 @@ export const deriveLoginState = (): TLoginState => {
isLogged: false,
isNotActivated: false,
isActivated: false,
isForbidden: false,
isNormal: false,
isAdmin: false,
isModerator: false,
@@ -87,10 +85,8 @@ export const deriveLoginState = (): TLoginState => {
if (ls.isLogged && user.mail_status === 2) {
ls.isNotActivated = true;
}
if (ls.isLogged && user.status === 'suspended') {
ls.isForbidden = true;
}
if (ls.isActivated && !ls.isForbidden) {
if (ls.isActivated) {
ls.isNormal = true;
}
if (ls.isNormal && user.role_id === 2) {
@@ -204,26 +200,6 @@ export const activated = () => {
return gr;
};
export const forbidden = () => {
const gr: TGuardResult = { ok: true };
const us = deriveLoginState();
if (gr.ok && !us.isForbidden) {
gr.ok = false;
gr.redirect = RouteAlias.home;
}
return gr;
};
export const notForbidden = () => {
const gr: TGuardResult = { ok: true };
const us = deriveLoginState();
if (us.isForbidden) {
gr.ok = false;
gr.redirect = RouteAlias.suspended;
}
return gr;
};
export const admin = () => {
const gr = logged();
const us = deriveLoginState();
@@ -322,10 +298,6 @@ export const tryNormalLogged = (canNavigate: boolean = false) => {
}
if (us.isNotActivated) {
floppyNavigation.navigate(RouteAlias.inactive);
} else if (us.isForbidden) {
floppyNavigation.navigate(RouteAlias.suspended, {
handler: 'replace',
});
}
return false;