import React, { useState } from 'react'
import { useLanguage, useUtils, WebsocketStatus as WebsocketStatusController } from 'ordering-components/native'
import { TouchableOpacity, View, StyleSheet } from 'react-native'
import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons';
import { useTheme } from 'styled-components/native'
import RNRestart from 'react-native-restart'
import { OModal, OButton, OText, OIcon } from '../shared'
import {
Container,
ModalContainer,
ModalTitle,
StatusItemWrapper,
StatusText
} from './styles'
const SocketStatusUI = (props: any) => {
const {
socketStatus,
connectedDate
} = props
const theme = useTheme()
const [, t] = useLanguage()
const [{ parseDate }] = useUtils()
const [openModal, setOpenModal] = useState(false)
const styles = StyleSheet.create({
btnBackArrow: {
borderWidth: 0,
width: 32,
height: 32,
tintColor: theme.colors.textGray,
backgroundColor: theme.colors.clear,
borderColor: theme.colors.clear,
shadowColor: theme.colors.clear,
paddingLeft: 0,
paddingRight: 0,
marginBottom: 30,
marginTop: 30
},
})
const getStatusColor = (status: number) => {
switch (status) {
case 0:
return '#FF9922';
case 1:
return '#00D27A';
case 2:
return '#E63757';
default:
return '#FF9922';
}
}
return (
setOpenModal(true)}
>
{t('CONNECTION_STATUS', 'Status')}
setOpenModal(false)}
entireModal
customClose
>
setOpenModal(false)}
style={styles.btnBackArrow}
>
{t('CONNECTION_STATUS', 'Connection status')}
{t('LAST_UPDATE', 'Last update')}: {parseDate(connectedDate)}
{t('OK', 'Ok')}
{t('WEBSOCKET_OK', 'The websocket works normally.')}
{t('CONNECTING', 'Connecting')}
{t('WEBSOCKET_CONNECTING', 'The websocket is connecting.')}
{t('DISCONNECTED', 'Disconnected')}
{t('WEBSOCKET_DISCONNECTED', 'The server is slow, please reload.')}
setOpenModal(false)}
bgColor={theme.colors.white}
textStyle={{ color: theme.colors.primary }}
style={{ borderRadius: 8, height: 48 }}
text={t('CLOSE', 'Close')}
/>
RNRestart.Restart()}
style={{ borderRadius: 8, marginLeft: 16, height: 48 }}
text={t('UPDATE', 'Update')}
/>
)
}
export const WebsocketStatus = (props: any) => {
const socketProps = {
...props,
UIComponent: SocketStatusUI
}
return
}