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