import React, { useEffect } from 'react' import { useLanguage, BusinessMenuListing } from 'ordering-components-external/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 ; };