completionId: cgen-696e9cb5a553406d86ca5baf70b04c40

cgen-696e9cb5a553406d86ca5baf70b04c40
This commit is contained in:
Builder.io 2025-11-12 02:32:50 +00:00
parent da41aae918
commit 9541d3e38b

View file

@ -438,55 +438,93 @@ export default function ArtistSettings() {
<CardHeader> <CardHeader>
<CardTitle className="text-white">Services & Pricing</CardTitle> <CardTitle className="text-white">Services & Pricing</CardTitle>
<CardDescription> <CardDescription>
Set your sample pricing for common services Set your prices for custom services. Leave blank if you prefer "Contact for Quote"
</CardDescription> </CardDescription>
</CardHeader> </CardHeader>
<CardContent className="space-y-4"> <CardContent className="space-y-4">
<div className="grid grid-cols-1 md:grid-cols-3 gap-4"> <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div className="space-y-2"> <div className="space-y-2">
<Label className="text-white">Custom Track</Label> <Label className="text-white">Custom Track ($)</Label>
<Input <Input
type="number" type="number"
value={profile.sample_price_track || ""} value={profile.price_list?.track_custom || ""}
onChange={(e) => onChange={(e) =>
setProfile({ setProfile({
...profile, ...profile,
sample_price_track: Number(e.target.value) || undefined, price_list: {
...profile.price_list,
track_custom: Number(e.target.value) || null,
},
}) })
} }
placeholder="500" placeholder="500"
className="bg-slate-800 border-slate-700" className="bg-slate-800 border-slate-700"
min="0"
/> />
<p className="text-xs text-slate-400">Original music composition</p>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<Label className="text-white">SFX Pack</Label> <Label className="text-white">SFX Pack ($)</Label>
<Input <Input
type="number" type="number"
value={profile.sample_price_sfx || ""} value={profile.price_list?.sfx_pack || ""}
onChange={(e) => onChange={(e) =>
setProfile({ setProfile({
...profile, ...profile,
sample_price_sfx: Number(e.target.value) || undefined, price_list: {
...profile.price_list,
sfx_pack: Number(e.target.value) || null,
},
}) })
} }
placeholder="150" placeholder="150"
className="bg-slate-800 border-slate-700" className="bg-slate-800 border-slate-700"
min="0"
/> />
<p className="text-xs text-slate-400">Sound effects collection</p>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<Label className="text-white">Full Score</Label> <Label className="text-white">Full Score ($)</Label>
<Input <Input
type="number" type="number"
value={profile.sample_price_score || ""} value={profile.price_list?.full_score || ""}
onChange={(e) => onChange={(e) =>
setProfile({ setProfile({
...profile, ...profile,
sample_price_score: Number(e.target.value) || undefined, price_list: {
...profile.price_list,
full_score: Number(e.target.value) || null,
},
}) })
} }
placeholder="2000" placeholder="2000"
className="bg-slate-800 border-slate-700" className="bg-slate-800 border-slate-700"
min="0"
/> />
<p className="text-xs text-slate-400">Complete game/film score</p>
</div>
<div className="space-y-2">
<Label className="text-white">Day Rate ($)</Label>
<Input
type="number"
value={profile.price_list?.day_rate || ""}
onChange={(e) =>
setProfile({
...profile,
price_list: {
...profile.price_list,
day_rate: Number(e.target.value) || null,
},
})
}
placeholder="1500"
className="bg-slate-800 border-slate-700"
min="0"
/>
<p className="text-xs text-slate-400">Hourly or daily rate for consulting</p>
</div> </div>
</div> </div>
@ -505,7 +543,27 @@ export default function ArtistSettings() {
className="bg-slate-800 border-slate-700" className="bg-slate-800 border-slate-700"
min="1" min="1"
/> />
<p className="text-xs text-slate-400">Typical delivery time for custom work</p>
</div> </div>
<label className="flex items-center gap-2 p-3 rounded-lg bg-slate-800/50 border border-slate-700 cursor-pointer">
<Checkbox
checked={profile.price_list?.contact_for_quote || false}
onCheckedChange={(checked) =>
setProfile({
...profile,
price_list: {
...profile.price_list,
contact_for_quote: checked as boolean,
},
})
}
className="border-slate-600"
/>
<span className="text-sm text-slate-300">
High-value projects (Enterprise clients): "Contact for Quote"
</span>
</label>
</CardContent> </CardContent>
</Card> </Card>
)} )}