Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

role-selector.tsx 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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