mirror of
https://github.com/Buriburizaem0n/nezha-dash-v1.git
synced 2026-02-05 13:10:09 +00:00
feat: store position
This commit is contained in:
@@ -20,6 +20,11 @@ export default function ServerCard({ now, serverInfo }: { now: number; serverInf
|
||||
serverInfo,
|
||||
)
|
||||
|
||||
const cardClick = () => {
|
||||
sessionStorage.setItem("fromMainPage", "true")
|
||||
navigate(`/server/${serverInfo.id}`)
|
||||
}
|
||||
|
||||
const showFlag = true
|
||||
|
||||
const customBackgroundImage =
|
||||
@@ -46,7 +51,7 @@ export default function ServerCard({ now, serverInfo }: { now: number; serverInf
|
||||
"bg-card/70": customBackgroundImage,
|
||||
},
|
||||
)}
|
||||
onClick={() => navigate(`/server/${serverInfo.id}`)}
|
||||
onClick={cardClick}
|
||||
>
|
||||
<section
|
||||
className={cn("grid items-center gap-2", {
|
||||
@@ -157,7 +162,7 @@ export default function ServerCard({ now, serverInfo }: { now: number; serverInf
|
||||
"bg-card/70": customBackgroundImage,
|
||||
},
|
||||
)}
|
||||
onClick={() => navigate(`/server/${serverInfo.id}`, { replace: true })}
|
||||
onClick={cardClick}
|
||||
>
|
||||
<section
|
||||
className={cn("grid items-center gap-2", {
|
||||
|
||||
@@ -20,6 +20,11 @@ export default function ServerCardInline({ now, serverInfo }: { now: number; ser
|
||||
serverInfo,
|
||||
)
|
||||
|
||||
const cardClick = () => {
|
||||
sessionStorage.setItem("fromMainPage", "true")
|
||||
navigate(`/server/${serverInfo.id}`)
|
||||
}
|
||||
|
||||
const showFlag = true
|
||||
|
||||
const customBackgroundImage =
|
||||
@@ -37,7 +42,7 @@ export default function ServerCardInline({ now, serverInfo }: { now: number; ser
|
||||
"bg-card/70": customBackgroundImage,
|
||||
},
|
||||
)}
|
||||
onClick={() => navigate(`/server/${serverInfo.id}`)}
|
||||
onClick={cardClick}
|
||||
>
|
||||
<section className={cn("grid items-center gap-2 lg:w-36")} style={{ gridTemplateColumns: "auto auto 1fr" }}>
|
||||
<span className="h-2 w-2 shrink-0 rounded-full bg-green-500 self-center"></span>
|
||||
@@ -121,7 +126,7 @@ export default function ServerCardInline({ now, serverInfo }: { now: number; ser
|
||||
"bg-card/70": customBackgroundImage,
|
||||
},
|
||||
)}
|
||||
onClick={() => navigate(`/server/${serverInfo.id}`)}
|
||||
onClick={cardClick}
|
||||
>
|
||||
<section className={cn("grid items-center gap-2 w-40")} style={{ gridTemplateColumns: "auto auto 1fr" }}>
|
||||
<span className="h-2 w-2 shrink-0 rounded-full bg-red-500 self-center"></span>
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useWebSocketContext } from "@/hooks/use-websocket-context"
|
||||
import { formatBytes } from "@/lib/format"
|
||||
import { cn, formatNezhaInfo } from "@/lib/utils"
|
||||
import { NezhaWebsocketResponse } from "@/types/nezha-api"
|
||||
import { useEffect, useState } from "react"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { useNavigate } from "react-router-dom"
|
||||
|
||||
@@ -16,12 +17,29 @@ export default function ServerDetailOverview({ server_id }: { server_id: string
|
||||
const { t } = useTranslation()
|
||||
const navigate = useNavigate()
|
||||
|
||||
const [hasHistory, setHasHistory] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
const previousPath = sessionStorage.getItem("fromMainPage")
|
||||
if (previousPath) {
|
||||
setHasHistory(true)
|
||||
}
|
||||
}, [])
|
||||
|
||||
const { lastMessage, connected } = useWebSocketContext()
|
||||
|
||||
if (!connected && !lastMessage) {
|
||||
return <ServerDetailLoading />
|
||||
}
|
||||
|
||||
const linkClick = () => {
|
||||
if (hasHistory) {
|
||||
navigate(-1)
|
||||
} else {
|
||||
navigate("/")
|
||||
}
|
||||
}
|
||||
|
||||
const nezhaWsData = lastMessage ? (JSON.parse(lastMessage.data) as NezhaWebsocketResponse) : null
|
||||
|
||||
if (!nezhaWsData) {
|
||||
@@ -66,7 +84,7 @@ export default function ServerDetailOverview({ server_id }: { server_id: string
|
||||
})}
|
||||
>
|
||||
<div
|
||||
onClick={() => navigate("/")}
|
||||
onClick={linkClick}
|
||||
className="flex flex-none cursor-pointer font-semibold leading-none items-center break-all tracking-tight gap-1 text-xl server-name"
|
||||
>
|
||||
<BackIcon />
|
||||
|
||||
Reference in New Issue
Block a user