"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { ArrowLeft } from "lucide-react" import { Button } from "@/components/ui/button" import { StepIndicator } from "../components/step-indicator" import { BasicSettings } from "../components/basic-settings" import { GroupSelector } from "../components/group-selector" import { ContentSelector } from "../components/content-selector" import type { WechatGroup, ContentLibrary } from "@/types/group-sync" import { toast } from "@/components/ui/use-toast" const steps = [ { id: 1, title: "步骤 1", subtitle: "基础设置" }, { id: 2, title: "步骤 2", subtitle: "选择社群" }, { id: 3, title: "步骤 3", subtitle: "选择内容库" }, { id: 4, title: "步骤 4", subtitle: "京东联盟" }, ] export default function NewGroupSyncPage() { const router = useRouter() const [currentStep, setCurrentStep] = useState(1) const [formData, setFormData] = useState({ name: "", pushTimeStart: "06:00", pushTimeEnd: "23:59", dailyPushCount: 20, pushOrder: "latest" as "earliest" | "latest", isLoopPush: false, isImmediatePush: false, isEnabled: false, groups: [] as WechatGroup[], contentLibraries: [] as ContentLibrary[], }) const handleBasicSettingsNext = (values: any) => { setFormData((prev) => ({ ...prev, ...values })) setCurrentStep(2) } const handleGroupsChange = (groups: WechatGroup[]) => { setFormData((prev) => ({ ...prev, groups })) } const handleLibrariesChange = (contentLibraries: ContentLibrary[]) => { setFormData((prev) => ({ ...prev, contentLibraries })) } const handleSubmit = async (formData: any) => { try { const response = await fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/v1/api/group-sync`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${localStorage.getItem('token')}` }, body: JSON.stringify(formData) }); const data = await response.json(); if (data.code === 200) { toast({ title: "创建成功", description: "群同步计划已创建", }); router.push('/workspace/group-sync'); } else { toast({ title: "创建失败", description: data.msg || "请稍后重试", variant: "destructive", }); } } catch (error) { toast({ title: "创建失败", description: "网络错误,请稍后重试", variant: "destructive", }); } }; const handleCancel = () => { router.push("/workspace/group-sync") } return (