import React, { useContext, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Dialog, DialogContent, Divider, List, ListItemAvatar, ListItemText, ListItem, Typography, LinearProgress, } from '@mui/material'; import BoltIcon from '@mui/icons-material/Bolt'; import RobotAvatar from '../RobotAvatar'; import RobotInfo from '../RobotInfo'; import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext'; import { GarageContext, type UseGarageStoreType } from '../../contexts/GarageContext'; import { type Coordinator } from '../../models'; interface Props { open: boolean; onClose: () => void; baseUrl: string; } const ProfileDialog = ({ open = false, baseUrl, onClose }: Props): JSX.Element => { const { federation } = useContext(FederationContext); const { garage, robotUpdatedAt } = useContext(GarageContext); const { t } = useTranslation(); const [loading, setLoading] = useState(true); useEffect(() => { setLoading(garage.getSlot().robot.loading); }, [robotUpdatedAt]); return (
{t('Your Robot')} {garage.getSlot().robot.nickname !== undefined && ( )} {t('Coordinators that know your robots')} {Object.values(federation.coordinators).map((coordinator: Coordinator): JSX.Element => { if (!garage.getSlot().robot?.loading) { return (
); } else { return
; } })}
); }; export default ProfileDialog;