hensei-web/components/JobSkillSearchFilterBar/index.tsx

71 lines
1.7 KiB
TypeScript

import React, { useEffect, useState } from 'react'
import { useRouter } from 'next/router'
import { useTranslation } from 'react-i18next'
import { skillGroups } from '~utils/skillGroups'
import './index.scss'
interface Props {
sendFilters: (filters: { [key: string]: number }) => void
}
const JobSkillSearchFilterBar = (props: Props) => {
// Set up translation
const { t } = useTranslation('common')
const [currentGroup, setCurrentGroup] = useState(-1)
function onChange(event: React.ChangeEvent<HTMLSelectElement>) {
setCurrentGroup(parseInt(event.target.value))
}
function onBlur(event: React.ChangeEvent<HTMLSelectElement>) {}
function sendFilters() {
const filters = {
group: currentGroup,
}
props.sendFilters(filters)
}
useEffect(() => {
sendFilters()
}, [currentGroup])
return (
<div className="SearchFilterBar">
<select
key="job-skill-groups"
value={currentGroup}
onBlur={onBlur}
onChange={onChange}
>
<option key="all" value={-1}>
{t(`job_skills.all`)}
</option>
<option key="damaging" value={2}>
{t(`job_skills.damaging`)}
</option>
<option key="buffing" value={0}>
{t(`job_skills.buffing`)}
</option>
<option key="debuffing" value={1}>
{t(`job_skills.debuffing`)}
</option>
<option key="healing" value={3}>
{t(`job_skills.healing`)}
</option>
<option key="emp" value={4}>
{t(`job_skills.emp`)}
</option>
<option key="base" value={5}>
{t(`job_skills.base`)}
</option>
</select>
</div>
)
}
export default JobSkillSearchFilterBar