import React, { useState } from 'react' import { useTranslation } from 'next-i18next' import classNames from 'classnames' import RaidDropdown from '~components/RaidDropdown' import './index.scss' import Select from '~components/Select' import SelectItem from '~components/SelectItem' interface Props { children: React.ReactNode scrolled: boolean element?: number raidSlug?: string recency?: number onFilter: ({ element, raidSlug, recency, }: { element?: number raidSlug?: string recency?: number }) => void } const FilterBar = (props: Props) => { // Set up translation const { t } = useTranslation('common') const [recencyOpen, setRecencyOpen] = useState(false) const [elementOpen, setElementOpen] = useState(false) // Set up classes object for showing shadow on scroll const classes = classNames({ FilterBar: true, shadow: props.scrolled, }) function openElementSelect() { setElementOpen(!elementOpen) } function openRecencySelect() { setRecencyOpen(!recencyOpen) } function elementSelectChanged(value: string) { const elementValue = parseInt(value) props.onFilter({ element: elementValue }) } function recencySelectChanged(value: string) { const recencyValue = parseInt(value) props.onFilter({ recency: recencyValue }) } function raidSelectChanged(slug?: string) { props.onFilter({ raidSlug: slug }) } return (
{props.children}
) } export default FilterBar