fix: broken route links — dispute notification, chat hardcoding, dead sidebar link

This commit is contained in:
zetaloop
2026-02-20 17:41:02 +08:00
parent 5b21793ede
commit 3fdd917672
4 changed files with 19 additions and 23 deletions
+4 -3
View File
@@ -13,7 +13,7 @@ import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Separator } from "@/components/ui/separator"
import { mockOrders, mockReviews } from "@/lib/mock-data"
import { mockChatSessions, mockOrders, mockReviews } from "@/lib/mock-data"
import type { OrderStatus } from "@/lib/types"
const statusLabels: Record<OrderStatus, string> = {
@@ -42,6 +42,7 @@ export default async function OrderDetailPage({ params }: { params: Promise<{ id
if (!order) notFound()
const reviews = mockReviews.filter((r) => r.orderId === id)
const chatSession = mockChatSessions.find((s) => s.orderId === id)
const currentStepIndex = statusSteps.indexOf(order.status)
return (
@@ -204,9 +205,9 @@ export default async function OrderDetailPage({ params }: { params: Promise<{ id
)}
<div className="flex gap-2 flex-wrap">
{(order.status === "in_progress" || order.status === "pending_close") && (
{(order.status === "in_progress" || order.status === "pending_close") && chatSession && (
<Button asChild>
<Link href={`/chat/chat1`}>
<Link href={`/chat/${chatSession.id}`}>
<MessageSquare className="mr-1 h-4 w-4" />
</Link>
+13 -9
View File
@@ -7,7 +7,7 @@ import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { mockOrders } from "@/lib/mock-data"
import { mockChatSessions, mockOrders } from "@/lib/mock-data"
import type { OrderStatus } from "@/lib/types"
import { cn } from "@/lib/utils"
import { useAuthStore } from "@/store/auth"
@@ -101,14 +101,18 @@ export default function OrderListPage() {
</span>
</div>
<div className="flex gap-2">
{order.status === "in_progress" && (
<Button variant="outline" size="sm" asChild>
<Link href={`/chat/chat1`}>
<MessageSquare className="mr-1 h-3.5 w-3.5" />
</Link>
</Button>
)}
{order.status === "in_progress" &&
(() => {
const session = mockChatSessions.find((s) => s.orderId === order.id)
return session ? (
<Button variant="outline" size="sm" asChild>
<Link href={`/chat/${session.id}`}>
<MessageSquare className="mr-1 h-3.5 w-3.5" />
</Link>
</Button>
) : null
})()}
{order.status === "completed" && (
<Button variant="outline" size="sm">
<RefreshCw className="mr-1 h-3.5 w-3.5" />