import React from 'react' import { useTranslation } from 'next-i18next' import classNames from 'classnames' import RaidDropdown from '~components/RaidDropdown' import './index.scss' 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') // Set up refs for filter dropdowns const elementSelect = React.createRef() const raidSelect = React.createRef() const recencySelect = React.createRef() // Set up classes object for showing shadow on scroll const classes = classNames({ FilterBar: true, shadow: props.scrolled, }) function elementSelectChanged() { const elementValue = elementSelect.current ? parseInt(elementSelect.current.value) : -1 props.onFilter({ element: elementValue }) } function recencySelectChanged() { const recencyValue = recencySelect.current ? parseInt(recencySelect.current.value) : -1 props.onFilter({ recency: recencyValue }) } function raidSelectChanged(slug?: string) { props.onFilter({ raidSlug: slug }) } return (
{props.children}
) } export default FilterBar