feat: 本次提交更新内容如下

场景获客列表搞定
This commit is contained in:
笔记本里的永平
2025-07-07 17:08:27 +08:00
parent 6543da9167
commit 5ff15472f5
352 changed files with 24040 additions and 18575 deletions

View File

@@ -0,0 +1,150 @@
"use client"
import { Card, CardContent } from "@/components/ui/card"
import { Button } from "@/components/ui/button"
import { Label } from "@/components/ui/label"
import { Input } from "@/components/ui/input"
import { Textarea } from "@/components/ui/textarea"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
import { Switch } from "@/components/ui/switch"
import { HelpCircle } from "lucide-react"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
import type { ContentLibraryFormData } from "../page"
interface BasicSettingsProps {
formData: ContentLibraryFormData
updateFormData: (field: string, value: any) => void
onNext: () => void
}
export function BasicSettings({ formData, updateFormData, onNext }: BasicSettingsProps) {
const isFormValid = formData.name.trim() !== ""
return (
<div className="space-y-6">
<Card>
<CardContent className="pt-6">
<div className="space-y-6">
<div>
<h2 className="text-lg font-medium"></h2>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
<div className="space-y-4">
<div>
<div className="flex items-center justify-between">
<Label htmlFor="name" className="text-base">
</Label>
<span className="text-sm text-gray-500"></span>
</div>
<Input
id="name"
value={formData.name}
onChange={(e) => updateFormData("name", e.target.value)}
placeholder="请输入内容库名称"
className="mt-1.5"
/>
{formData.name.trim() === "" && <p className="text-sm text-red-500 mt-1"></p>}
</div>
<div>
<Label htmlFor="description" className="text-base">
</Label>
<Textarea
id="description"
value={formData.description}
onChange={(e) => updateFormData("description", e.target.value)}
placeholder="请输入内容库描述(选填)"
className="mt-1.5 min-h-[100px]"
/>
</div>
<div className="space-y-2">
<div className="flex items-center justify-between">
<Label className="text-base"></Label>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<HelpCircle className="h-4 w-4 text-gray-400 cursor-help" />
</TooltipTrigger>
<TooltipContent className="max-w-xs">
<p className="text-sm"></p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
<RadioGroup
value={formData.type}
onValueChange={(value) => updateFormData("type", value)}
className="mt-2"
>
<div className="flex items-start space-x-2 p-3 border rounded-md">
<RadioGroupItem value="friends" id="friends" className="mt-1" />
<div className="flex-1">
<Label htmlFor="friends" className="font-medium">
</Label>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
</div>
<div className="flex items-start space-x-2 p-3 border rounded-md mt-2">
<RadioGroupItem value="groups" id="groups" className="mt-1" />
<div className="flex-1">
<Label htmlFor="groups" className="font-medium">
</Label>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
</div>
<div className="flex items-start space-x-2 p-3 border rounded-md mt-2">
<RadioGroupItem value="moments" id="moments" className="mt-1" />
<div className="flex-1">
<Label htmlFor="moments" className="font-medium">
</Label>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
</div>
<div className="flex items-start space-x-2 p-3 border rounded-md mt-2">
<RadioGroupItem value="mixed" id="mixed" className="mt-1" />
<div className="flex-1">
<Label htmlFor="mixed" className="font-medium">
</Label>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
</div>
</RadioGroup>
</div>
<div className="flex items-center justify-between p-3 border rounded-md">
<div>
<Label htmlFor="enabled" className="font-medium">
</Label>
<p className="text-sm text-gray-500 mt-1"></p>
</div>
<Switch
id="enabled"
checked={formData.enabled}
onCheckedChange={(checked) => updateFormData("enabled", checked)}
/>
</div>
</div>
</div>
</CardContent>
</Card>
<div className="flex justify-end">
<Button onClick={onNext} disabled={!isFormValid}>
</Button>
</div>
</div>
)
}