add filter for sqm

This commit is contained in:
Viktor Barzin 2025-06-18 21:05:38 +00:00
parent 70460bee5d
commit 3e1be6750c
No known key found for this signature in database
GPG key ID: 4056458DBDBF8863
2 changed files with 22 additions and 3 deletions

View file

@ -47,6 +47,9 @@ function App() {
if (parameters.min_price) { if (parameters.min_price) {
queryString.append("min_price", parameters.min_price.toString()); queryString.append("min_price", parameters.min_price.toString());
} }
if (parameters.min_sqm) {
queryString.append("min_sqm", parameters.min_sqm.toString());
}
try { try {

View file

@ -28,6 +28,7 @@ export interface ParameterValues {
max_bedrooms?: number max_bedrooms?: number
min_price?: number min_price?: number
max_price?: number max_price?: number
min_sqm?: number
} }
export function Parameters( export function Parameters(
@ -48,6 +49,7 @@ export function Parameters(
max_bedrooms: z.number().min(1).max(10).optional(), max_bedrooms: z.number().min(1).max(10).optional(),
max_price: z.number().optional(), max_price: z.number().optional(),
min_price: z.number().optional(), min_price: z.number().optional(),
min_sqm: z.number().optional(),
}) })
const form = useForm<z.infer<typeof formSchema>>({ const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema), resolver: zodResolver(formSchema),
@ -57,6 +59,7 @@ export function Parameters(
max_bedrooms: 3, max_bedrooms: 3,
max_price: 3000, max_price: 3000,
min_price: 0, min_price: 0,
min_sqm: 0,
}, },
}) })
// 2. Define a submit handler. // 2. Define a submit handler.
@ -152,6 +155,19 @@ export function Parameters(
</FormItem> </FormItem>
)} )}
/> />
<FormField
control={form.control}
name="min_price"
render={({ field }) => (
<FormItem>
<FormLabel>Min price</FormLabel>
<FormControl >
<Input type="number" placeholder={"£"} {...field} onChange={(e) => field.onChange(Number(e.target.value))} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField <FormField
control={form.control} control={form.control}
name="max_price" name="max_price"
@ -167,12 +183,12 @@ export function Parameters(
/> />
<FormField <FormField
control={form.control} control={form.control}
name="min_price" name="min_sqm"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormLabel>Min price</FormLabel> <FormLabel>Min square meters</FormLabel>
<FormControl > <FormControl >
<Input type="number" placeholder={"£"} {...field} onChange={(e) => field.onChange(Number(e.target.value))} /> <Input type="number" placeholder={""} {...field} onChange={(e) => field.onChange(Number(e.target.value))} />
</FormControl> </FormControl>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>