import { useCallback } from 'react'; import Dropdown from '../../components/Common/Dropdown'; import DropdownCheckbox from '../../components/Common/DropdownCheckbox'; import SelectorButton from '../../components/Common/SelectorButton'; import { FilterIcon } from '../../components/Icons'; import { useAuth } from '../../context/AuthContext'; import useDropdown from '../../hooks/useDropdown'; import { LibraryFilterStrategy } from '../../models/miscelanious'; import { prefixes } from '../../utils/constants'; import { describeLibraryFilter, labelLibraryFilter } from '../../utils/labels'; interface PickerStrategyProps { value: LibraryFilterStrategy onChange: (value: LibraryFilterStrategy) => void } function PickerStrategy({ value, onChange }: PickerStrategyProps) { const strategyMenu = useDropdown(); const { user } = useAuth(); const handleChange = useCallback( (newValue: LibraryFilterStrategy) => { strategyMenu.hide(); onChange(newValue); }, [strategyMenu, onChange]); function isStrategyDisabled(strategy: LibraryFilterStrategy): boolean { if ( strategy === LibraryFilterStrategy.PERSONAL || strategy === LibraryFilterStrategy.SUBSCRIBE || strategy === LibraryFilterStrategy.OWNED ) { return !user; } else { return false; } } return (