Files
shensheshou/app/workspace/moments-sync/[id]/edit/steps/basic-settings.tsx
v0 2408d50cb0 refactor: overhaul UI for streamlined user experience
Redesign navigation, home overview, user portrait, and valuation pages
with improved functionality and responsive design.

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
2025-07-18 13:47:12 +00:00

101 lines
3.1 KiB
TypeScript

"use client"
import { Input } from "@/components/ui/input"
import { Button } from "@/components/ui/button"
import { Switch } from "@/components/ui/switch"
import { Plus, Minus } from "lucide-react"
interface BasicSettingsProps {
formData: {
taskName: string
startTime: string
endTime: string
syncCount: number
accountType: string
enabled: boolean
}
onChange: (data: Partial<BasicSettingsProps["formData"]>) => void
onNext: () => void
}
export function BasicSettings({ formData, onChange, onNext }: BasicSettingsProps) {
return (
<div className="space-y-6">
<div>
<div className="text-sm mb-2"></div>
<Input
value={formData.taskName}
onChange={(e) => onChange({ taskName: e.target.value })}
placeholder="请输入任务名称"
/>
</div>
<div>
<div className="text-sm mb-2"></div>
<div className="flex items-center space-x-3">
<Input
type="time"
value={formData.startTime}
onChange={(e) => onChange({ startTime: e.target.value })}
className="w-32"
/>
<span className="text-gray-500"></span>
<Input
type="time"
value={formData.endTime}
onChange={(e) => onChange({ endTime: e.target.value })}
className="w-32"
/>
</div>
</div>
<div>
<div className="text-sm mb-2"></div>
<div className="flex items-center space-x-4">
<Button
variant="outline"
size="icon"
onClick={() => onChange({ syncCount: Math.max(1, formData.syncCount - 1) })}
>
<Minus className="h-4 w-4" />
</Button>
<span className="w-8 text-center">{formData.syncCount}</span>
<Button variant="outline" size="icon" onClick={() => onChange({ syncCount: formData.syncCount + 1 })}>
<Plus className="h-4 w-4" />
</Button>
<span className="text-gray-500"></span>
</div>
</div>
<div>
<div className="text-sm mb-2"></div>
<div className="flex space-x-4">
<Button
variant={formData.accountType === "business" ? "default" : "outline"}
onClick={() => onChange({ accountType: "business" })}
className="flex-1"
>
</Button>
<Button
variant={formData.accountType === "personal" ? "default" : "outline"}
onClick={() => onChange({ accountType: "personal" })}
className="flex-1"
>
</Button>
</div>
</div>
<div className="flex items-center justify-between">
<span className="text-sm"></span>
<Switch checked={formData.enabled} onCheckedChange={(checked) => onChange({ enabled: checked })} />
</div>
<Button onClick={onNext} className="w-full mt-8">
</Button>
</div>
)
}