plan pages

This commit is contained in:
xavier
2025-06-03 16:37:39 +08:00
parent 0d33ba7e34
commit 1f2a1dab00
62 changed files with 12508 additions and 1984 deletions

View File

@@ -0,0 +1,83 @@
"use client"
import { Switch } from "@/components/ui/switch"
import { Label } from "@/components/ui/label"
import { Input } from "@/components/ui/input"
interface RedPacketSettingsProps {
settings: {
enabled: boolean
amount: number
pool: number
}
onChange: (settings: any) => void
}
export function RedPacketSettings({ settings, onChange }: RedPacketSettingsProps) {
const handleToggle = (value: boolean) => {
onChange({
...settings,
enabled: value,
})
}
const handleAmountChange = (value: number) => {
onChange({
...settings,
amount: value,
})
}
const handlePoolChange = (value: number) => {
onChange({
...settings,
pool: value,
})
}
return (
<div className="space-y-4">
<div className="flex items-center justify-between">
<div>
<Label htmlFor="redpacket"></Label>
<p className="text-xs text-gray-500"></p>
</div>
<Switch id="redpacket" checked={settings.enabled} onCheckedChange={handleToggle} />
</div>
{settings.enabled && (
<div className="space-y-3">
<div>
<Label htmlFor="amount" className="text-sm">
</Label>
<Input
id="amount"
type="number"
value={settings.amount}
onChange={(e) => handleAmountChange(Number(e.target.value))}
min="0.01"
step="0.01"
className="mt-1"
/>
</div>
<div>
<Label htmlFor="pool" className="text-sm">
</Label>
<Input
id="pool"
type="number"
value={settings.pool}
onChange={(e) => handlePoolChange(Number(e.target.value))}
min="0"
className="mt-1"
/>
<p className="text-xs text-gray-500 mt-1">{Math.floor(settings.pool / settings.amount)} </p>
</div>
</div>
)}
</div>
)
}