Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

LanguageList.tsx 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import React from 'react';
  2. import { makeStyles } from 'tss-react/mui';
  3. import LanguageListItem from './LanguageListItem';
  4. interface ILanguageListProps {
  5. items: Array<LanguageItem>;
  6. onLanguageSelected: (lang: string) => void;
  7. selectedLanguage: string;
  8. }
  9. const useStyles = makeStyles()(() => {
  10. return {
  11. itemsContainer: {
  12. display: 'flex',
  13. flexFlow: 'column'
  14. }
  15. };
  16. });
  17. interface LanguageItem {
  18. id: string;
  19. lang: string;
  20. selected: boolean;
  21. }
  22. /**
  23. * Component that renders the security options dialog.
  24. *
  25. * @returns {React$Element<any>}
  26. */
  27. const LanguageList = ({
  28. items,
  29. onLanguageSelected
  30. }: ILanguageListProps) => {
  31. const { classes: styles } = useStyles();
  32. const listItems = items.map(item => (<LanguageListItem
  33. key = { item.id }
  34. lang = { item.lang }
  35. onLanguageSelected = { onLanguageSelected }
  36. selected = { item.selected } />));
  37. return (
  38. <div className = { styles.itemsContainer }>{listItems}</div>
  39. );
  40. };
  41. export default LanguageList;