import React, { useState } from 'react' import { LanguageSelector as LanguageSelectorController, useOrder, useLanguage } from 'ordering-components/native' import { useTheme } from 'styled-components/native'; import { StyleSheet, View } from 'react-native' import RNPickerSelect from 'react-native-picker-select' import { Container, DummyContainer } from './styles' import { LanguageSelectorParams } from '../../types' import { OIcon } from '../shared' const LanguageSelectorUI = (props: LanguageSelectorParams) => { const { languagesState, currentLanguage, handleChangeLanguage, iconColor, pickerStyle } = props const [orderState] = useOrder() const [state] = useLanguage() const [languagePressed, setLanguagePressed] = useState(currentLanguage) const theme = useTheme(); const _pickerStyle = StyleSheet.create({ inputAndroid: { color: theme.colors.white, borderWidth: 1, borderColor: theme.colors.clear, paddingHorizontal: 10, paddingEnd: 24, height: 40, backgroundColor: theme.colors.clear, }, inputIOS: { color: theme.colors.white, paddingEnd: 24, height: 40, borderWidth: 1, borderColor: theme.colors.clear, backgroundColor: theme.colors.clear }, icon: { width: 10, marginTop: 9, marginEnd: 10 }, placeholder: { color: theme.colors.secundaryContrast } }) const changeLanguage = (lang : string) => { setLanguagePressed(lang) handleChangeLanguage(lang) } const _languages = languagesState?.languages?.map((language: any) => { return { value: language?.code, label: language?.name, inputLabel: language?.name } }) _languages && _languages.sort((a: any, b: any) => (a.content > b.content) ? 1 : ((b.content > a.content) ? -1 : 0) ) return ( {languagesState?.languages ? ( <> {iconColor && } } disabled={orderState.loading || state.loading || state?.language?.code !== languagePressed} /> ) : } ) } export const LanguageSelector = (props: LanguageSelectorParams) => { const LanguageProps = { ...props, UIComponent: LanguageSelectorUI } return }