Skip to content

Commit 2191468

Browse files
authored
fix(web): add unavailable page for monitor data & fix link of real name (#1491)
* fix(web): add unavailable page for monitor data & fix link of real name
1 parent cbb325a commit 2191468

File tree

7 files changed

+94
-55
lines changed

7 files changed

+94
-55
lines changed

web/public/locales/en/translation.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -628,5 +628,7 @@
628628
"Used": "Used",
629629
"Remaining": "Remaining",
630630
"Pod": "Pod",
631-
"EditFunction": "Edit Function"
631+
"EditFunction": "Edit Function",
632+
"Error": "Error, ",
633+
"Retry": "Retry"
632634
}

web/public/locales/zh-CN/translation.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -628,5 +628,7 @@
628628
"Used": "已使用",
629629
"Remaining": "剩余",
630630
"Pod": "实例",
631-
"EditFunction": "编辑函数"
631+
"EditFunction": "编辑函数",
632+
"Error": "监控不可用,",
633+
"Retry": "点击重试"
632634
}

web/public/locales/zh/translation.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -628,5 +628,7 @@
628628
"Used": "已使用",
629629
"Remaining": "剩余",
630630
"Pod": "实例",
631-
"EditFunction": "编辑函数"
631+
"EditFunction": "编辑函数",
632+
"Error": "监控不可用,",
633+
"Retry": "点击重试"
632634
}

web/src/components/CommonIcon/index.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -429,3 +429,9 @@ export const MedalIcon = () => {
429429
</svg>
430430
);
431431
};
432+
433+
export const ErrorIcon = createIcon({
434+
displayName: "ErrorIcon",
435+
viewBox: "0 0 24 24",
436+
d: "M12 2.25C10.0716 2.25 8.18657 2.82183 6.58319 3.89317C4.97982 4.96451 3.73013 6.48726 2.99218 8.26884C2.25422 10.0504 2.06114 12.0108 2.43735 13.9021C2.81355 15.7934 3.74215 17.5307 5.10571 18.8943C6.46928 20.2579 8.20656 21.1865 10.0979 21.5627C11.9892 21.9389 13.9496 21.7458 15.7312 21.0078C17.5127 20.2699 19.0355 19.0202 20.1068 17.4168C21.1782 15.8134 21.75 13.9284 21.75 12C21.745 9.41566 20.7162 6.93859 18.8888 5.11118C17.0614 3.28378 14.5843 2.25496 12 2.25ZM12 20.25C10.3683 20.25 8.77326 19.7661 7.41655 18.8596C6.05984 17.9531 5.00242 16.6646 4.378 15.1571C3.75358 13.6496 3.5902 11.9908 3.90853 10.3905C4.22685 8.79016 5.01259 7.32015 6.16637 6.16637C7.32016 5.01259 8.79017 4.22685 10.3905 3.90852C11.9909 3.59019 13.6497 3.75357 15.1571 4.37799C16.6646 5.00242 17.9531 6.05984 18.8596 7.41655C19.7661 8.77325 20.25 10.3683 20.25 12C20.2475 14.1873 19.3775 16.2843 17.8309 17.8309C16.2843 19.3775 14.1873 20.2475 12 20.25ZM13.125 16.875C13.125 17.0975 13.059 17.315 12.9354 17.5C12.8118 17.685 12.6361 17.8292 12.4305 17.9144C12.225 17.9995 11.9988 18.0218 11.7805 17.9784C11.5623 17.935 11.3618 17.8278 11.2045 17.6705C11.0472 17.5132 10.94 17.3127 10.8966 17.0945C10.8532 16.8762 10.8755 16.65 10.9606 16.4445C11.0458 16.2389 11.19 16.0632 11.375 15.9396C11.56 15.816 11.7775 15.75 12 15.75C12.2984 15.75 12.5845 15.8685 12.7955 16.0795C13.0065 16.2905 13.125 16.5766 13.125 16.875ZM17.7844 11.4656C17.9252 11.6078 18.0042 11.7999 18.0042 12C18.0042 12.2001 17.9252 12.3922 17.7844 12.5344C17.641 12.673 17.4494 12.7505 17.25 12.7505C17.0506 12.7505 16.859 12.673 16.7156 12.5344L15.75 11.5594L14.7844 12.5344C14.641 12.673 14.4494 12.7505 14.25 12.7505C14.0506 12.7505 13.859 12.673 13.7156 12.5344C13.5748 12.3922 13.4958 12.2001 13.4958 12C13.4958 11.7999 13.5748 11.6078 13.7156 11.4656L14.6906 10.5L13.7156 9.53437C13.596 9.38865 13.5349 9.20366 13.5442 9.01537C13.5534 8.82708 13.6324 8.64896 13.7657 8.51566C13.899 8.38236 14.0771 8.3034 14.2654 8.29416C14.4537 8.28491 14.6387 8.34603 14.7844 8.46563L15.75 9.44062L16.7156 8.46563C16.8614 8.34603 17.0463 8.28491 17.2346 8.29416C17.4229 8.3034 17.601 8.38236 17.7343 8.51566C17.8676 8.64896 17.9466 8.82708 17.9558 9.01537C17.9651 9.20366 17.904 9.38865 17.7844 9.53437L16.8094 10.5L17.7844 11.4656ZM10.2844 9.53437L9.30938 10.5L10.2844 11.4656C10.4252 11.6078 10.5042 11.7999 10.5042 12C10.5042 12.2001 10.4252 12.3922 10.2844 12.5344C10.141 12.673 9.94942 12.7505 9.75 12.7505C9.55059 12.7505 9.35898 12.673 9.21563 12.5344L8.25 11.5594L7.28438 12.5344C7.14102 12.673 6.94942 12.7505 6.75 12.7505C6.55059 12.7505 6.35898 12.673 6.21563 12.5344C6.07479 12.3922 5.99579 12.2001 5.99579 12C5.99579 11.7999 6.07479 11.6078 6.21563 11.4656L7.19063 10.5L6.21563 9.53437C6.09603 9.38865 6.03491 9.20366 6.04416 9.01537C6.05341 8.82708 6.13236 8.64896 6.26566 8.51566C6.39896 8.38236 6.57708 8.3034 6.76537 8.29416C6.95366 8.28491 7.13866 8.34603 7.28438 8.46563L8.25 9.44062L9.21563 8.46563C9.36135 8.34603 9.54635 8.28491 9.73464 8.29416C9.92293 8.3034 10.101 8.38236 10.2343 8.51566C10.3676 8.64896 10.4466 8.82708 10.4558 9.01537C10.4651 9.20366 10.404 9.38865 10.2844 9.53437Z",
437+
});
+73-47
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
import { useEffect, useState } from "react";
1+
import { useMemo, useState } from "react";
22
import { useTranslation } from "react-i18next";
3+
import { Center } from "@chakra-ui/react";
4+
import { useQueryClient } from "@tanstack/react-query";
5+
6+
import { ErrorIcon } from "@/components/CommonIcon";
37

48
import AreaCard from "./AreaCard";
59
import PieCard from "./PieCard";
@@ -17,57 +21,79 @@ export default function AppMonitor() {
1721
storageUsage: [],
1822
};
1923
const [dataNumber, setDataNumber] = useState(0);
20-
const [podsArray, setPodsArray] = useState<string[]>([]);
24+
const queryClient = useQueryClient();
2125

22-
useEffect(() => {
23-
setPodsArray(
24-
cpuUsage.map((item) => item.metric.pod).length >
25-
memoryUsage.map((item) => item.metric.pod).length
26-
? cpuUsage.map((item) => item.metric.pod)
27-
: memoryUsage.map((item) => item.metric.pod),
28-
);
26+
const podsArray = useMemo(() => {
27+
return cpuUsage.map((item) => item.metric.pod).length >
28+
memoryUsage.map((item) => item.metric.pod).length
29+
? cpuUsage.map((item) => item.metric.pod)
30+
: memoryUsage.map((item) => item.metric.pod);
2931
}, [cpuUsage, memoryUsage]);
3032

3133
return (
3234
<div className="flex w-full">
33-
<div className="mr-2 mt-10 h-[404px] w-full rounded-xl border bg-[#F8FAFB] pb-4">
34-
<AreaCard
35-
data={cpuUsage}
36-
strokeColor="#47C8BF"
37-
fillColor="#E6F6F6"
38-
setDataNumber={setDataNumber}
39-
dataNumber={dataNumber}
40-
podsArray={podsArray}
41-
title="CPU"
42-
unit="Core"
43-
maxValue={limitCPU / 1000}
44-
className="h-1/2 p-4"
45-
/>
46-
<AreaCard
47-
data={memoryUsage}
48-
strokeColor="#9A8EE0"
49-
fillColor="#F2F1FB"
50-
title={t("Spec.RAM")}
51-
unit="MB"
52-
maxValue={limitMemory}
53-
dataNumber={dataNumber}
54-
className="h-1/2 p-4"
55-
/>
56-
</div>
57-
<div className="mr-2 mt-10 h-[396px] w-full space-y-2">
58-
<PieCard
59-
data={databaseUsage}
60-
maxValue={databaseCapacity}
61-
title={t("Spec.Database")}
62-
colors={["#47C8BF", "#D5D6E1"]}
63-
/>
64-
<PieCard
65-
data={storageUsage}
66-
maxValue={storageCapacity}
67-
title={t("Spec.Storage")}
68-
colors={["#9A8EE0", "#D5D6E1"]}
69-
/>
70-
</div>
35+
{monitorData && Object.keys(monitorData).length !== 0 ? (
36+
<>
37+
<div className="mr-2 mt-10 h-[404px] w-full rounded-xl border bg-[#F8FAFB] pb-4">
38+
<AreaCard
39+
data={cpuUsage}
40+
strokeColor="#47C8BF"
41+
fillColor="#E6F6F6"
42+
setDataNumber={setDataNumber}
43+
dataNumber={dataNumber}
44+
podsArray={podsArray}
45+
title="CPU"
46+
unit="Core"
47+
maxValue={limitCPU / 1000}
48+
className="h-1/2 p-4"
49+
/>
50+
<AreaCard
51+
data={memoryUsage}
52+
strokeColor="#9A8EE0"
53+
fillColor="#F2F1FB"
54+
title={t("Spec.RAM")}
55+
unit="MB"
56+
maxValue={limitMemory}
57+
dataNumber={dataNumber}
58+
className="h-1/2 p-4"
59+
/>
60+
</div>
61+
<div className="mr-2 mt-10 h-[396px] w-full space-y-2">
62+
<PieCard
63+
data={databaseUsage}
64+
maxValue={databaseCapacity}
65+
title={t("Spec.Database")}
66+
colors={["#47C8BF", "#D5D6E1"]}
67+
/>
68+
<PieCard
69+
data={storageUsage}
70+
maxValue={storageCapacity}
71+
title={t("Spec.Storage")}
72+
colors={["#9A8EE0", "#D5D6E1"]}
73+
/>
74+
</div>
75+
</>
76+
) : (
77+
<Center className="h-[400px] w-full">
78+
<span className="flex flex-col items-center">
79+
<ErrorIcon boxSize={16} />
80+
<span className="flex pt-2 text-xl">
81+
<p className="">{t("Error")}</p>
82+
<u
83+
className="cursor-pointer text-primary-600"
84+
onClick={async () => {
85+
await queryClient.invalidateQueries({
86+
queryKey: ["useGetMonitorDataQuery"],
87+
refetchType: "all",
88+
});
89+
}}
90+
>
91+
{t("Retry")}
92+
</u>
93+
</span>
94+
</span>
95+
</Center>
96+
)}
7197
</div>
7298
);
7399
}

web/src/pages/app/setting/UserInfo/index.tsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { useRef, useState } from "react";
2-
import { useNavigate } from "react-router-dom";
32
import { CheckCircleIcon, ChevronRightIcon, EditIcon, InfoOutlineIcon } from "@chakra-ui/icons";
43
import { Avatar, Box, Divider, useColorMode } from "@chakra-ui/react";
54
import clsx from "clsx";
@@ -26,7 +25,6 @@ export default function UserInfo() {
2625
const fileInputRef = useRef<HTMLInputElement>(null);
2726
const { colorMode } = useColorMode();
2827
const darkMode = colorMode === "dark";
29-
const navigate = useNavigate();
3028
const { siteSettings } = useSiteSettingStore((state) => state);
3129

3230
const handleClick = () => {
@@ -139,7 +137,10 @@ export default function UserInfo() {
139137
className="flex cursor-pointer items-center text-[#0884DD]"
140138
onClick={() => {
141139
if (userInfo?.phone) {
142-
navigate("/auth/real-name");
140+
const w = window.open("about:blank");
141+
w!.location.href = `${
142+
siteSettings.id_verify?.metadata.authenticateSite
143+
}?token=${localStorage.getItem("token")}`;
143144
} else {
144145
showError(t("UserInfo.PleaseBindPhone"));
145146
setShowItem("phone");

web/src/pages/functionTemplate/Mods/TemplateCard/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next";
33
import { BsThreeDotsVertical } from "react-icons/bs";
44
import { useNavigate } from "react-router-dom";
55
import { Avatar, Menu, MenuButton, MenuItem, MenuList, useColorMode } from "@chakra-ui/react";
6-
import { QueryClient } from "@tanstack/react-query";
6+
import { useQueryClient } from "@tanstack/react-query";
77
import clsx from "clsx";
88

99
import { LikeIcon, MedalIcon } from "@/components/CommonIcon";
@@ -32,7 +32,7 @@ const TemplateCard = (props: {
3232
const { showSuccess } = useGlobalStore();
3333
const { setShowTemplateItem } = useTemplateStore();
3434
const darkMode = colorMode === "dark";
35-
const queryClient = new QueryClient();
35+
const queryClient = useQueryClient();
3636
const starMutation = useFunctionTemplateStarMutation();
3737
const [starNumber, setStarNumber] = useState(template.star);
3838
const [starState, setStarState] = useState(template.stared);

0 commit comments

Comments
 (0)