Merge branch 'main' into cloudflare

This commit is contained in:
hamster1963 2024-11-27 20:48:09 +08:00
commit dadbfd3ce3
12 changed files with 49 additions and 42 deletions

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 仓鼠
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -8,9 +8,6 @@
支持部署环境:
> [!CAUTION]
> Cloudflare 部署方式暂不可用,等待 Cloudflare 官方修复。
- Vercel
- Cloudflare
- Docker

View File

@ -9,7 +9,7 @@ import { Card, CardContent } from "@/components/ui/card";
import getEnv from "@/lib/env-entry";
import { cn, formatBytes, nezhaFetcher } from "@/lib/utils";
import { useTranslations } from "next-intl";
import { useRouter } from "next/navigation";
import { notFound, useRouter } from "next/navigation";
import { useEffect, useState } from "react";
import useSWR from "swr";
import useSWRImmutable from "swr/immutable";
@ -51,6 +51,10 @@ export default function ServerDetailClient({
(item) => item.id === server_id,
);
if (!fallbackData) {
notFound();
}
const { data, error } = useSWR<NezhaAPISafe>(
`/api/detail?server_id=${server_id}`,
nezhaFetcher,

View File

@ -1,33 +1,27 @@
import { useTranslations } from "next-intl";
import Image from "next/image";
import Link from "next/link";
export const runtime = "edge";
import Footer from "./(main)/footer";
import Header from "./(main)/header";
export default function NotFoundPage() {
const t = useTranslations("NotFoundPage");
return (
<main className="relative h-screen w-full">
<div className="absolute inset-0 m-4 flex items-center justify-center">
<Image
priority
className="rounded-3xl object-cover"
src="/tardis.jpg"
fill={true}
alt="TARDIS"
/>
<div className="text-container absolute right-4 p-4 md:right-20">
<h1 className="text-2xl font-bold opacity-80 md:text-5xl">
{t("h1_490-590_404NotFound")}
</h1>
<p className="text-lg opacity-60 md:text-base">
{t("p_601-665_TARDISERROR")}
</p>
<Link href={"/"} className="text-2xl opacity-80 md:text-3xl">
{t("Link_676-775_Doctor")}
<div className="flex min-h-screen w-full flex-col">
<main className="flex min-h-[calc(100vh-calc(var(--spacing)*16))] flex-1 flex-col gap-4 bg-background p-4 md:p-10 md:pt-8">
<Header />
<section className="flex flex-col items-center min-h-44 justify-center gap-2">
<p className="text-sm font-semibold">{t("h1_490-590_404NotFound")}</p>
<Link href="/" className="flex items-center gap-1">
<p className="text-sm font-medium opacity-40">
{t("h1_490-590_404NotFoundBack")}
</p>
</Link>
</div>
</div>
</main>
</section>
<Footer />
</main>
</div>
);
}

View File

@ -34,7 +34,7 @@ export default function ServerCard({
};
return online ? (
<Link onClick={saveSession} href={`/${id}`} prefetch={true}>
<Link onClick={saveSession} href={`/server/${id}`} prefetch={true}>
<Card
className={cn(
"flex flex-col items-center justify-start gap-3 p-3 md:px-5 cursor-pointer hover:bg-accent/50 transition-colors",
@ -138,12 +138,7 @@ export default function ServerCard({
</div>
</section>
{showNetTransfer && (
<section
onClick={() => {
router.push(`/${id}`);
}}
className={"flex items-center justify-between gap-1"}
>
<section className={"flex items-center justify-between gap-1"}>
<Badge
variant="secondary"
className="items-center flex-1 justify-center rounded-[8px] text-nowrap text-[11px] border-muted-50 shadow-md shadow-neutral-200/30 dark:shadow-none"

View File

@ -98,7 +98,6 @@
},
"NotFoundPage": {
"h1_490-590_404NotFound": "404 Not Found",
"p_601-665_TARDISERROR": "TARDIS ERROR!",
"Link_676-775_Doctor": "Doctor?"
"h1_490-590_404NotFoundBack": " Press here to go back"
}
}

View File

@ -98,7 +98,6 @@
},
"NotFoundPage": {
"h1_490-590_404NotFound": "404 見つかりませんでした",
"p_601-665_TARDISERROR": "ターディスエラー!",
"Link_676-775_Doctor": "Doctor?"
"h1_490-590_404NotFoundBack": "戻る"
}
}

View File

@ -98,7 +98,6 @@
},
"NotFoundPage": {
"h1_490-590_404NotFound": "404 未找到",
"p_601-665_TARDISERROR": "TARDIS 錯誤!",
"Link_676-775_Doctor": "Doctor"
"h1_490-590_404NotFoundBack": "返回"
}
}

View File

@ -98,7 +98,6 @@
},
"NotFoundPage": {
"h1_490-590_404NotFound": "404 未找到",
"p_601-665_TARDISERROR": "TARDIS 错误!",
"Link_676-775_Doctor": "Doctor"
"h1_490-590_404NotFoundBack": "返回"
}
}

View File

@ -1,6 +1,6 @@
{
"name": "nezha-dash",
"version": "1.5.2-fix",
"version": "1.5.3",
"private": true,
"scripts": {
"dev": "next dev -p 3040",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 KiB