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 }