调整dashboard项目结构

This commit is contained in:
mlogclub
2026-04-24 11:27:49 +08:00
parent eb353cbbc8
commit 5fa30d29ef
88 changed files with 71 additions and 40 deletions
@@ -12,10 +12,10 @@ import {
type DashboardOverview,
type DashboardRange,
} from "@/lib/api/dashboard"
import { SummaryCards } from "./_components/summary-cards"
import { TrendPanel } from "./_components/trend-panel"
import { TeamLoadPanel } from "./_components/team-load-panel"
import { AlertList } from "./_components/alert-list"
import { SummaryCards } from "./summary-cards"
import { TrendPanel } from "./trend-panel"
import { TeamLoadPanel } from "./team-load-panel"
import { AlertList } from "./alert-list"
const rangeOptions: Array<{ value: DashboardRange; label: string }> = [
{ value: "today", label: "今天" },
@@ -39,7 +39,7 @@ function LoadingCards() {
)
}
export default function DashboardPage() {
export function DashboardHome() {
const [range, setRange] = useState<DashboardRange>("7d")
const [data, setData] = useState<DashboardOverview | null>(null)
const [loading, setLoading] = useState(true)
+5
View File
@@ -0,0 +1,5 @@
import { DashboardHome } from "./_components/dashboard-home"
export default function DashboardHomePage() {
return <DashboardHome />
}
@@ -236,7 +236,7 @@ export default function TicketRiskPage() {
]}
/>
</div>
<Link href="/tickets">
<Link href="/dashboard/tickets">
<Button variant="outline"></Button>
</Link>
<Button variant="outline" onClick={() => void loadData()} disabled={loading}>
@@ -224,7 +224,7 @@ export function TicketStatusDialog({
<div className="mt-2 rounded-lg border border-amber-200 bg-amber-50/70 p-3 text-xs text-amber-900">
<Link
href="/ticket-resolution-codes"
href="/dashboard/ticket-resolution-codes"
target="_blank"
rel="noreferrer"
className="ml-1 font-medium underline underline-offset-4"
@@ -810,7 +810,7 @@ export default function TicketDetailPage() {
SLA SLA
使
<Link
href="/ticket-priorities"
href="/dashboard/ticket-priorities"
className="ml-1 font-medium underline underline-offset-4"
>
@@ -912,7 +912,7 @@ export default function TicketDetailPage() {
<Button
variant="outline"
className="w-full"
onClick={() => router.push("/conversations")}
onClick={() => router.push("/dashboard/conversations")}
>
<RotateCcwIcon className="size-4" />
+1 -1
View File
@@ -27,7 +27,7 @@ function WxWorkLoginCallbackContent() {
const ticket = searchParams.get("ticket")?.trim() ?? ""
const next = searchParams.get("next")
const nextPath = next && next.startsWith("/") ? next : "/"
const nextPath = next && next.startsWith("/") ? next : "/dashboard"
if (!ticket) {
toast.error("企业微信登录票据不存在")
+25
View File
@@ -0,0 +1,25 @@
import Link from "next/link"
export default function HomePage() {
return (
<main className="flex min-h-svh items-center justify-center bg-[linear-gradient(145deg,#fff7ed_0%,#ffffff_38%,#ecfeff_100%)] px-6 py-16">
<div className="w-full max-w-3xl rounded-[32px] border border-white/70 bg-white/90 p-10 shadow-[0_24px_80px_rgba(15,23,42,0.08)] backdrop-blur">
<div className="inline-flex rounded-full border border-amber-200 bg-amber-50 px-3 py-1 text-xs font-medium tracking-[0.18em] text-amber-900 uppercase">
Landing Page
</div>
<h1 className="mt-6 text-4xl font-semibold tracking-tight text-foreground">TODO</h1>
<p className="mt-4 max-w-2xl text-sm leading-6 text-muted-foreground">
</p>
<div className="mt-8 flex flex-wrap gap-3">
<Link href="/dashboard">
</Link>
<Link href="/login">
</Link>
</div>
</div>
</main>
)
}