Spaces:
Running
Running
import { Slider, Stack, Switch, Text } from "@mantine/core"; | |
import { useForm } from "@mantine/form"; | |
import { usePubSub } from "create-pubsub/react"; | |
import { settingsPubSub } from "../../../../modules/pubSub"; | |
export default function SearchSettingsForm() { | |
const [settings, setSettings] = usePubSub(settingsPubSub); | |
const form = useForm({ | |
initialValues: settings, | |
onValuesChange: setSettings, | |
}); | |
return ( | |
<Stack gap="md"> | |
<Stack gap="xs" mb="md"> | |
<Text size="sm">Search Results Limit</Text> | |
<Text size="xs" c="dimmed"> | |
Maximum number of search results to fetch. A higher value provides | |
more results but may increase search time. | |
</Text> | |
<Slider | |
{...form.getInputProps("searchResultsLimit")} | |
min={5} | |
max={30} | |
step={5} | |
marks={[5, 10, 15, 20, 25, 30].map((value) => ({ | |
value, | |
label: value.toString(), | |
}))} | |
/> | |
</Stack> | |
<Switch | |
{...form.getInputProps("enableTextSearch", { | |
type: "checkbox", | |
})} | |
label="Text Search" | |
labelPosition="left" | |
description="Enable or disable text search results. When enabled, relevant web pages will be displayed in the search results." | |
/> | |
<Switch | |
{...form.getInputProps("enableImageSearch", { | |
type: "checkbox", | |
})} | |
label="Image Search" | |
labelPosition="left" | |
description="Enable or disable image search results. When enabled, relevant images will be displayed alongside web search results." | |
/> | |
</Stack> | |
); | |
} | |