Merge branch 'main' into cloudflare

This commit is contained in:
hamster1963 2024-11-15 11:21:29 +08:00
commit f87615f163
4 changed files with 41 additions and 5 deletions

View File

@ -12,4 +12,5 @@ NEXT_PUBLIC_FixedTopServerName=false
NEXT_PUBLIC_CustomLogo=https://nezha-cf.buycoffee.top/apple-touch-icon.png
NEXT_PUBLIC_CustomTitle=NezhaDash
NEXT_PUBLIC_CustomDescription=NezhaDash is a dashboard for Nezha.
NEXT_PUBLIC_Links=[{"link":"https://baidu.com","name":"Baidu"},{"link":"https://google.com","name":"Google"}]
NEXT_PUBLIC_DisableIndex=false

View File

@ -29,12 +29,9 @@ export default function ServerDetailClient({
}, []);
useEffect(() => {
const previousPath = sessionStorage.getItem("lastPath");
const previousPath = sessionStorage.getItem("fromMainPage");
if (previousPath) {
setHasHistory(true);
} else {
const currentPath = window.location.pathname;
sessionStorage.setItem("lastPath", currentPath);
}
}, []);

View File

@ -51,6 +51,7 @@ function Header() {
</p>
</section>
<section className="flex items-center gap-2">
<Links />
<LanguageSwitcher />
<ModeToggle />
</section>
@ -60,6 +61,39 @@ function Header() {
);
}
type links = {
link: string;
name: string;
};
function Links() {
const linksEnv = getEnv("NEXT_PUBLIC_Links");
const links: links[] | null = linksEnv ? JSON.parse(linksEnv) : null;
console.log(links);
if (!links) return null;
return (
<div className="flex items-center gap-2">
{links.map((link, index) => {
return (
<a
key={index}
href={link.link}
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-1 text-sm font-medium opacity-50 transition-opacity hover:opacity-100"
>
{link.name}
</a>
);
})}
</div>
);
}
// https://github.com/streamich/react-use/blob/master/src/useInterval.ts
const useInterval = (callback: () => void, delay: number | null) => {
const savedCallback = useRef<() => void>(() => {});

View File

@ -29,8 +29,12 @@ export default function ServerCard({
const fixedTopServerName =
getEnv("NEXT_PUBLIC_FixedTopServerName") === "true";
const saveSession = () => {
sessionStorage.setItem("fromMainPage", "true");
};
return online ? (
<Link href={`/${id}`} prefetch={true}>
<Link onClick={saveSession} href={`/${id}`} prefetch={true}>
<Card
className={cn(
"flex flex-col items-center justify-start gap-3 p-3 md:px-5 cursor-pointer",