snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
43
react/features/subtitles/components/native/LanguageList.tsx
Normal file
43
react/features/subtitles/components/native/LanguageList.tsx
Normal file
@@ -0,0 +1,43 @@
|
||||
import React from 'react';
|
||||
import { ScrollView } from 'react-native';
|
||||
|
||||
import LanguageListItem from './LanguageListItem';
|
||||
import styles from './styles';
|
||||
|
||||
interface ILanguageListProps {
|
||||
items: Array<ILanguageItem>;
|
||||
onLanguageSelected: (lang: string) => void;
|
||||
selectedLanguage: string;
|
||||
}
|
||||
|
||||
interface ILanguageItem {
|
||||
id: string;
|
||||
lang: string;
|
||||
selected: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Component that renders the security options dialog.
|
||||
*
|
||||
* @returns {React$Element<any>}
|
||||
*/
|
||||
const LanguageList = ({ items, onLanguageSelected }: ILanguageListProps) => {
|
||||
|
||||
const listItems = items?.map(item => (
|
||||
<LanguageListItem
|
||||
key = { item.id }
|
||||
lang = { item.lang }
|
||||
onLanguageSelected = { onLanguageSelected }
|
||||
selected = { item.selected } />
|
||||
));
|
||||
|
||||
return (
|
||||
<ScrollView
|
||||
bounces = { false }
|
||||
style = { styles.itemsContainer }>
|
||||
{ listItems }
|
||||
</ScrollView>
|
||||
);
|
||||
};
|
||||
|
||||
export default LanguageList;
|
||||
Reference in New Issue
Block a user