dify/web/app/education-apply/role-selector.tsx
Stephen Zhou 6d0e36479b
refactor(i18n): use JSON with flattened key and namespace (#30114)
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-29 14:52:32 +08:00

54 lines
1.3 KiB
TypeScript

import { useTranslation } from 'react-i18next'
import { cn } from '@/utils/classnames'
type RoleSelectorProps = {
onChange: (value: string) => void
value: string
}
const RoleSelector = ({
onChange,
value,
}: RoleSelectorProps) => {
const { t } = useTranslation()
const options = [
{
key: 'Student',
value: t('form.schoolRole.option.student', { ns: 'education' }),
},
{
key: 'Teacher',
value: t('form.schoolRole.option.teacher', { ns: 'education' }),
},
{
key: 'School-Administrator',
value: t('form.schoolRole.option.administrator', { ns: 'education' }),
},
]
return (
<div className="flex">
{
options.map(option => (
<div
key={option.key}
className="system-md-regular mr-6 flex h-5 cursor-pointer items-center text-text-primary"
onClick={() => onChange(option.key)}
>
<div
className={cn(
'mr-2 h-4 w-4 rounded-full border border-components-radio-border bg-components-radio-bg shadow-xs',
option.key === value && 'border-[5px] border-components-radio-border-checked ',
)}
>
</div>
{option.value}
</div>
))
}
</div>
)
}
export default RoleSelector