role-selector.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { useTranslation } from 'react-i18next'
  2. import cn from '@/utils/classnames'
  3. type RoleSelectorProps = {
  4. onChange: (value: string) => void
  5. value: string
  6. }
  7. const RoleSelector = ({
  8. onChange,
  9. value,
  10. }: RoleSelectorProps) => {
  11. const { t } = useTranslation()
  12. const options = [
  13. {
  14. key: 'Student',
  15. value: t('education.form.schoolRole.option.student'),
  16. },
  17. {
  18. key: 'Teacher',
  19. value: t('education.form.schoolRole.option.teacher'),
  20. },
  21. {
  22. key: 'School-Administrator',
  23. value: t('education.form.schoolRole.option.administrator'),
  24. },
  25. ]
  26. return (
  27. <div className='flex'>
  28. {
  29. options.map(option => (
  30. <div
  31. key={option.key}
  32. className='system-md-regular mr-6 flex h-5 cursor-pointer items-center text-text-primary'
  33. onClick={() => onChange(option.key)}
  34. >
  35. <div
  36. className={cn(
  37. 'mr-2 h-4 w-4 rounded-full border border-components-radio-border bg-components-radio-bg shadow-xs',
  38. option.key === value && 'border-[5px] border-components-radio-border-checked ',
  39. )}
  40. >
  41. </div>
  42. {option.value}
  43. </div>
  44. ))
  45. }
  46. </div>
  47. )
  48. }
  49. export default RoleSelector