Merge branch 'main' into cloudflare

This commit is contained in:
hamster1963 2024-10-20 00:36:45 +08:00
commit c21e635ce0
4 changed files with 186 additions and 133 deletions

View File

@ -102,7 +102,15 @@ function CpuChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [...cpuChartData, { timeStamp: timestamp, cpu: cpu }]; let newData = [] as cpuChartData[];
if (cpuChartData.length === 0) {
newData = [
{ timeStamp: timestamp, cpu: cpu },
{ timeStamp: timestamp, cpu: cpu },
];
} else {
newData = [...cpuChartData, { timeStamp: timestamp, cpu: cpu }];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }
@ -194,10 +202,18 @@ function ProcessChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [ let newData = [] as processChartData[];
...processChartData, if (processChartData.length === 0) {
{ timeStamp: timestamp, process: process }, newData = [
]; { timeStamp: timestamp, process: process },
{ timeStamp: timestamp, process: process },
];
} else {
newData = [
...processChartData,
{ timeStamp: timestamp, process: process },
];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }
@ -276,10 +292,18 @@ function MemChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [ let newData = [] as memChartData[];
...memChartData, if (memChartData.length === 0) {
{ timeStamp: timestamp, mem: mem, swap: swap }, newData = [
]; { timeStamp: timestamp, mem: mem, swap: swap },
{ timeStamp: timestamp, mem: mem, swap: swap },
];
} else {
newData = [
...memChartData,
{ timeStamp: timestamp, mem: mem, swap: swap },
];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }
@ -395,7 +419,15 @@ function DiskChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [...diskChartData, { timeStamp: timestamp, disk: disk }]; let newData = [] as diskChartData[];
if (diskChartData.length === 0) {
newData = [
{ timeStamp: timestamp, disk: disk },
{ timeStamp: timestamp, disk: disk },
];
} else {
newData = [...diskChartData, { timeStamp: timestamp, disk: disk }];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }
@ -487,10 +519,18 @@ function NetworkChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [ let newData = [] as networkChartData[];
...networkChartData, if (networkChartData.length === 0) {
{ timeStamp: timestamp, upload: up, download: down }, newData = [
]; { timeStamp: timestamp, upload: up, download: down },
{ timeStamp: timestamp, upload: up, download: down },
];
} else {
newData = [
...networkChartData,
{ timeStamp: timestamp, upload: up, download: down },
];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }
@ -605,10 +645,18 @@ function ConnectChart({ data }: { data: NezhaAPISafe }) {
useEffect(() => { useEffect(() => {
if (data) { if (data) {
const timestamp = Date.now().toString(); const timestamp = Date.now().toString();
const newData = [ let newData = [] as connectChartData[];
...connectChartData, if (connectChartData.length === 0) {
{ timeStamp: timestamp, tcp: tcp, udp: udp }, newData = [
]; { timeStamp: timestamp, tcp: tcp, udp: udp },
{ timeStamp: timestamp, tcp: tcp, udp: udp },
];
} else {
newData = [
...connectChartData,
{ timeStamp: timestamp, tcp: tcp, udp: udp },
];
}
if (newData.length > 30) { if (newData.length > 30) {
newData.shift(); newData.shift();
} }

View File

@ -24,7 +24,7 @@ export default function ServerListClient() {
<p className="text-sm font-medium opacity-40">{t("error_message")}</p> <p className="text-sm font-medium opacity-40">{t("error_message")}</p>
</div> </div>
); );
if (!data) return null; if (!data?.result) return null;
const { result } = data; const { result } = data;

File diff suppressed because one or more lines are too long

View File

@ -90,17 +90,19 @@ export function formatRelativeTime(timestamp: number): string {
const diff = now - timestamp; const diff = now - timestamp;
const hours = Math.floor(diff / (1000 * 60 * 60)); const hours = Math.floor(diff / (1000 * 60 * 60));
const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((diff % (1000 * 60)) / 1000);
if (hours > 24) { if (hours > 24) {
const days = Math.floor(hours / 24); const days = Math.floor(hours / 24);
return `${days}d`; return `${days}d`;
} else if (hours > 0) { } else if (hours > 0) {
return `${hours}h`; return `${hours}h`;
} else if (minutes >= 0) { } else if (minutes > 0) {
return `${minutes}m`; return `${minutes}m`;
} else { } else if (seconds >= 0) {
return "just now"; return `${seconds}s`;
} }
return "0s";
} }
export function formatTime(timestamp: number): string { export function formatTime(timestamp: number): string {