import { type ComboboxItem, Group, MultiSelect, Select, Slider, Stack, Text, } from '@mantine/core'; import { useCommonHooks } from 'hooks'; import { multiSelectClasses, selectClasses, sliderClasses, stackClasses } from 'styles'; function SettingsCard({ categories, sectionTitle, filter, setFilter, sort, setSort, density, setDensity, scale, setScale, }: { categories: ComboboxItem[]; sectionTitle: string; filter: any; setFilter: any; sort: any; setSort: any; density: any; setDensity: any; scale: any; setScale: any; }) { const { theme } = useCommonHooks(); return ( {sectionTitle} Density setDensity(value)} min={1} max={16} marks={[{ value: 6, label: 'Default' }]} onDoubleClick={() => setDensity(6)} /> {scale !== undefined && ( Scale setScale(value)} step={0.1} min={0.2} max={3} marks={[{ value: 1, label: 'Default' }]} onDoubleClick={() => setScale(1)} /> )} a.label.localeCompare(b.label), ) ?? [] } placeholder={ filter.length > 0 ? filter.length === 1 ? filter[0] : `${filter.length} ${sectionTitle.toLocaleLowerCase()} selected` : `No ${sectionTitle.toLocaleLowerCase()} selected` } defaultValue={filter} onChange={(data: string[]) => { setFilter(data); }} classNames={multiSelectClasses} comboboxProps={{ withinPortal: false, position: 'top', }} styles={ theme.textShadowsEnabled ? { label: { boxShadow: '2px 2px var(--mantine-color-border-0)' }, } : undefined } />