diff --git a/app/(order)/orders/page.tsx b/app/(order)/orders/page.tsx index ee3bdaf..39f8ac2 100644 --- a/app/(order)/orders/page.tsx +++ b/app/(order)/orders/page.tsx @@ -12,11 +12,10 @@ import { isDisputedOrder, isPendingDispatch, } from "@/lib/domain/order-filters" -import { resolveOwnerShop } from "@/lib/domain/resolve-current-shop" +import { useMyShop } from "@/lib/hooks/use-my-shop" import type { OrderStatus, UserRole } from "@/lib/types" import { cn } from "@/lib/utils" import { useAuthStore } from "@/store/auth" -import { useShopStore } from "@/store/shops" import { Clock, MessageSquare, RefreshCw } from "lucide-react" import Link from "next/link" import { useEffect, useState } from "react" @@ -65,8 +64,19 @@ function getOrderRole(role: UserRole): "consumer" | "player" | "owner" | undefin export default function OrderListPage() { const { currentRole, user } = useAuthStore() - const shops = useShopStore((state) => state.shops) - const ownerShop = resolveOwnerShop(user?.id, shops) + const { + shop: ownerShop, + loading: shopLoading, + error: shopError, + } = useMyShop(currentRole === "owner") + + if (currentRole === "owner" && shopLoading) { + return
加载中...
+ } + + if (currentRole === "owner" && shopError) { + return
{shopError}
+ } return ( - user ? state.shops.find((shop) => shop.owner.id === user.id) : undefined, - ) const canOpenDashboard = currentRole === "player" || currentRole === "owner" + const { shop: ownerShop } = useMyShop(isAuthenticated && currentRole === "owner") const navLinks = currentRole === "consumer"