diff --git a/packages/frontend/src/components/menu/formatter.tsx b/packages/frontend/src/components/menu/formatter.tsx index 01af4da3..c85e3f31 100644 --- a/packages/frontend/src/components/menu/formatter.tsx +++ b/packages/frontend/src/components/menu/formatter.tsx @@ -18,6 +18,7 @@ import { useDisclosure } from '@/hooks/disclosure'; import { Button } from '../ui/button'; import { CopyIcon } from 'lucide-react'; import { toast } from 'sonner'; +import { NumberInput } from '../ui/number-input'; const formatterChoices = Object.values(constants.FORMATTER_DETAILS); @@ -373,12 +374,13 @@ function Content() { onChange={(e) => setIndexer(e.target.value)} className="w-full" /> - Seeders} - type="number" - value={seeders.toString()} - onChange={(e) => setSeeders(parseInt(e.target.value) || 0)} + value={seeders} + onValueChange={(value) => setSeeders(value)} className="w-full" + min={0} + defaultValue={0} /> Age} @@ -386,19 +388,23 @@ function Content() { onChange={(e) => setAge(e.target.value)} className="w-full" /> - Duration (s)} - type="number" - value={duration.toString()} - onChange={(e) => setDuration(parseInt(e.target.value) || 0)} + value={duration} + onValueChange={(value) => setDuration(value)} className="w-full" + min={0} + step={1000} + defaultValue={0} /> - File Size (bytes)} - type="number" - value={fileSize.toString()} - onChange={(e) => setFileSize(parseInt(e.target.value) || 0)} + value={fileSize} + onValueChange={(value) => setFileSize(value)} className="w-full" + step={1000000000} + defaultValue={0} + min={0} /> Regex Matched}