import React, { useEffect } from 'react'
import { useLanguage, BusinessMenuListing } from 'ordering-components/native'
import { OText } from '../shared'
import { BusinessMenuListParams } from '../../types'
import { View, StyleSheet, Dimensions, Platform } from 'react-native'
import { useTheme } from 'styled-components/native'
import IconAntDesign from 'react-native-vector-icons/AntDesign'
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder'
import SelectDropdown from 'react-native-select-dropdown'
import { useSafeAreaInsets } from 'react-native-safe-area-context';
const windowHeight = Dimensions.get('window').height;
const BusinessMenuListUI = (props: BusinessMenuListParams) => {
const {
businessMenuList,
setMenu
} = props
const [, t] = useLanguage()
const theme = useTheme()
const { top } = useSafeAreaInsets()
const styles = StyleSheet.create({
container: {
height: windowHeight
},
selectOption: {
backgroundColor: theme.colors.backgroundGray100,
borderRadius: 7.6,
paddingVertical: 10,
paddingHorizontal: 14,
flexDirection: 'row-reverse',
alignItems: 'center',
justifyContent: 'space-between',
height: 44,
width: '100%'
}
})
const dropDownIcon = () => {
return (
)
}
useEffect(() => {
if (!businessMenuList?.loading && businessMenuList?.menus?.length === 1){
setMenu(businessMenuList?.menus[0])
}
}, [businessMenuList?.menus])
return (
<>
{businessMenuList.loading ? (
) : (
<>
{
businessMenuList?.menus && businessMenuList?.menus.length > 0 && (
{
setMenu(selectedItem)
}}
defaultValue={businessMenuList?.menus?.length === 1 && businessMenuList?.menus[0]}
buttonTextAfterSelection={(selectedItem, index) => {
return selectedItem.name
}}
rowTextForSelection={(item, index) => {
return item.name
}}
buttonStyle={styles.selectOption}
buttonTextStyle={{
color: theme.colors.disabled,
fontSize: 14,
textAlign: 'left',
marginHorizontal: 0
}}
dropdownStyle={{
borderRadius: 8,
borderColor: theme.colors.lightGray,
marginTop: Platform.OS === 'ios' ? 12 : -top,
maxHeight: 160
}}
rowStyle={{
borderBottomColor: theme.colors.backgroundGray100,
backgroundColor: theme.colors.backgroundGray100,
height: 40,
flexDirection: 'column',
alignItems: 'flex-start',
paddingTop: 8,
paddingHorizontal: 14
}}
rowTextStyle={{
color: theme.colors.disabled,
fontSize: 14,
marginHorizontal: 0
}}
renderDropdownIcon={() => dropDownIcon()}
dropdownOverlayColor='transparent'
/>
)
}
{businessMenuList?.menus && businessMenuList?.menus.length === 0 && (
{t('NO_RESULTS_FOUND', 'Sorry, no results found')}
)}
>
)}
>
)
}
export const BusinessMenuList = (props: any) => {
const businessMenuListProps = {
...props,
UIComponent: BusinessMenuListUI,
};
return ;
};