import { useEffect, useMemo, useState } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemButton from '@mui/material/ListItemButton'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import { Box, Typography, useTheme } from '@mui/material'; import { Spacer } from '../../common/Spacer'; import { QMailMessages } from './QMailMessages'; import { executeEvent } from '../../utils/events'; import { useTranslation } from 'react-i18next'; export const ThingsToDoInitial = ({ myAddress, name, hasGroups, balance, userInfo, }) => { const [checked1, setChecked1] = useState(false); const [checked2, setChecked2] = useState(false); const { t } = useTranslation(['core', 'tutorial']); const theme = useTheme(); useEffect(() => { if (balance && +balance >= 6) { setChecked1(true); } }, [balance]); useEffect(() => { if (name) setChecked2(true); }, [name]); const isLoaded = useMemo(() => { if (userInfo !== null) return true; return false; }, [userInfo]); const hasDoneNameAndBalanceAndIsLoaded = useMemo(() => { if (isLoaded && checked1 && checked2) return true; return false; }, [checked1, isLoaded, checked2]); if (hasDoneNameAndBalanceAndIsLoaded) { return ( ); } if (!isLoaded) return null; return ( {!isLoaded ? t('core:loading', { postProcess: 'capitalize' }) : t('tutorial:initial.getting_started', { postProcess: 'capitalize', })} {isLoaded && ( { executeEvent('openBuyQortInfo', {}); }} > { executeEvent('openRegisterName', {}); }} sx={{ '& .MuiTypography-root': { fontSize: '1rem', fontWeight: 400, }, }} primary={t('tutorial:initial.register_name', { postProcess: 'capitalize', })} /> )} ); };