Skip to content

Commit 59bccb2

Browse files
committed
fix slider
1 parent 8fdecb2 commit 59bccb2

File tree

1 file changed

+14
-27
lines changed
  • apps/dashboard/app/(main)/websites/[id]/flags/_components

1 file changed

+14
-27
lines changed

apps/dashboard/app/(main)/websites/[id]/flags/_components/flag-sheet.tsx

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import {
3131
SheetHeader,
3232
SheetTitle,
3333
} from '@/components/ui/sheet';
34-
import { Slider } from '@/components/ui/slider';
3534
import { Switch } from '@/components/ui/switch';
3635
import { Textarea } from '@/components/ui/textarea';
3736
import { trpc } from '@/lib/trpc';
@@ -96,7 +95,6 @@ export function FlagSheet({
9695
flag,
9796
}: FlagSheetProps) {
9897
const [keyManuallyEdited, setKeyManuallyEdited] = useState(false);
99-
const [sliderValue, setSliderValue] = useState(0);
10098
const isEditing = Boolean(flag);
10199

102100
const form = useForm<FlagFormData>({
@@ -132,10 +130,8 @@ export function FlagSheet({
132130
rolloutPercentage: flag.rolloutPercentage || 0,
133131
rules: (flag.rules as any[]) || [],
134132
});
135-
setSliderValue(flag.rolloutPercentage || 0);
136133
} else {
137134
form.reset();
138-
setSliderValue(0);
139135
}
140136
setKeyManuallyEdited(false);
141137
}
@@ -425,48 +421,39 @@ export function FlagSheet({
425421
control={form.control}
426422
name="rolloutPercentage"
427423
render={({ field }) => {
428-
useEffect(() => {
429-
const formValue = Number(field.value) || 0;
430-
if (formValue !== sliderValue) {
431-
setSliderValue(formValue);
432-
}
433-
}, [field.value]);
424+
const currentValue = Number(field.value) || 0;
434425

435426
return (
436427
<FormItem>
437428
<div className="flex items-center justify-between">
438429
<FormLabel>Rollout Percentage</FormLabel>
439430
<span className="font-mono font-semibold text-sm">
440-
{sliderValue}%
431+
{currentValue}%
441432
</span>
442433
</div>
443434
<FormControl>
444435
<div className="space-y-3">
445-
<Slider
446-
className="w-full"
447-
max={100}
448-
min={0}
449-
onValueChange={(values) => {
450-
const newValue = values[0];
451-
setSliderValue(newValue);
452-
field.onChange(newValue);
453-
}}
454-
step={5}
455-
value={[sliderValue]}
436+
<input
437+
className="slider h-2 w-full cursor-pointer appearance-none rounded-lg bg-gray-200 dark:bg-gray-700"
438+
max="100"
439+
min="0"
440+
onChange={(e) =>
441+
field.onChange(Number(e.target.value))
442+
}
443+
step="5"
444+
type="range"
445+
value={currentValue}
456446
/>
457447
<div className="flex justify-center gap-2">
458448
{[0, 25, 50, 75, 100].map((preset) => (
459449
<button
460450
className={`rounded border px-2 py-1 text-xs transition-colors ${
461-
sliderValue === preset
451+
currentValue === preset
462452
? 'border-primary bg-primary text-primary-foreground'
463453
: 'border-border hover:border-primary/50'
464454
}`}
465455
key={preset}
466-
onClick={() => {
467-
setSliderValue(preset);
468-
field.onChange(preset);
469-
}}
456+
onClick={() => field.onChange(preset)}
470457
type="button"
471458
>
472459
{preset}%

0 commit comments

Comments
 (0)