"use client" import { ArrowLeft, CheckCircle, CreditCard, ShieldCheck } from "lucide-react" import Link from "next/link" import { useRouter, useSearchParams } from "next/navigation" import { useState } from "react" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Separator } from "@/components/ui/separator" import { Textarea } from "@/components/ui/textarea" import { getPlayerById, getServiceById } from "@/lib/api" import type { Actor } from "@/lib/policy/actor" import { notifySuccess } from "@/lib/toast" import { useRequireAuth } from "@/lib/use-require-auth" import { useAuthStore } from "@/store/auth" import { useOrderStore } from "@/store/orders" import { useWalletStore } from "@/store/wallet" export default function NewOrderPage() { const router = useRouter() const searchParams = useSearchParams() const { requireAuth } = useRequireAuth() const createPaidOrder = useOrderStore((state) => state.createPaidOrder) const balance = useWalletStore((state) => state.balance) const serviceId = searchParams.get("serviceId") const service = serviceId ? getServiceById(serviceId) : undefined const player = service ? getPlayerById(service.playerId) : undefined const [quantity, setQuantity] = useState(1) const [note, setNote] = useState("") const [submitted, setSubmitted] = useState(false) if (!service || !player) { return (
服务不存在
) } const totalPrice = service.price * quantity if (submitted) { return (

下单成功

订单已创建,等待打手接单。你可以在订单列表中查看进度。

) } return (
返回打手主页

确认下单

服务信息
{player.user.nickname[0]}

{player.user.nickname}

{player.shopName ? `${player.shopName} · ` : ""} {service.gameName}

服务 {service.title}
单价 ¥{service.price}/{service.unit}
{service.rankRange && (
段位范围 {service.rankRange}
)}
订单信息
setQuantity(Math.max(1, Number.parseInt(e.target.value, 10) || 1))} />