feat: hidden about navs in normal user when upgraded license
This commit is contained in:
@@ -14,10 +14,11 @@ import Version from "../../common/component/Version";
|
||||
import { useAppSelector } from "../../app/store";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import ServerVersionChecker from "../../common/component/ServerVersionChecker";
|
||||
import useLicense from "../../common/hook/useLicense";
|
||||
|
||||
const navs = [
|
||||
{
|
||||
title: "general",
|
||||
name: "general",
|
||||
items: [
|
||||
{
|
||||
name: "overview",
|
||||
@@ -35,7 +36,7 @@ const navs = [
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "config",
|
||||
name: "config",
|
||||
items: [
|
||||
{
|
||||
name: "bot",
|
||||
@@ -74,7 +75,7 @@ const navs = [
|
||||
admin: true
|
||||
},
|
||||
{
|
||||
title: "about",
|
||||
name: "about",
|
||||
items: [
|
||||
{
|
||||
name: "api_doc",
|
||||
@@ -97,14 +98,16 @@ const navs = [
|
||||
];
|
||||
|
||||
const useNavs = () => {
|
||||
const { license: licenseInfo } = useLicense();
|
||||
const { t } = useTranslation("setting");
|
||||
const loginUser = useAppSelector((store) => {
|
||||
return store.authData.user;
|
||||
});
|
||||
const transformedNavs = navs.map(n => {
|
||||
const { title, items, ...rest } = n;
|
||||
const { name, items, ...rest } = n;
|
||||
return {
|
||||
title: t(`nav.${title}`),
|
||||
name,
|
||||
title: t(`nav.${name}`),
|
||||
items: items.map(item => {
|
||||
const { name, ...rest } = item;
|
||||
return {
|
||||
@@ -119,9 +122,15 @@ const useNavs = () => {
|
||||
return transformedNavs.filter((nav) => {
|
||||
if (loginUser?.is_admin) {
|
||||
return true;
|
||||
} else {
|
||||
// about 特殊处理下
|
||||
if (nav.name == "about") {
|
||||
// 有付费,但是普通用户,则不显示about
|
||||
return licenseInfo?.user_limit === 20;
|
||||
} else {
|
||||
return !nav.admin;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user