import { useState } from 'react'; import { Button, Card, Container, Grid, IconButton, Link, Menu, MenuItem, Skeleton, Stack, TextField, Tooltip, Typography, } from '@mui/material'; import MoreVertIcon from '@mui/icons-material/MoreVert'; import AnnouncementCard from '../../../../components/AnnouncementCard'; import PublishAnnouncementCard from '../../../../components/PublishAnnouncementCard'; import FormDialog from '../../../../components/FormDialog'; import styles from './styles'; import jitsiLogo from '../../../../assets/jitsi.svg'; import { createArrayFrom1ToN } from '../../../../utils/createArrayFrom1ToN'; function AnnouncementsTab({ layoutType, announcementsTabData, classroom, onChangeEditInput, onSaveEditChanges, user, }) { const [anchorEl, setAnchorEl] = useState({ virtualRoom: null, appointmentSlots: null, }); const [dialogOpened, setDialogOpened] = useState(null); const [composingTextValue, setComposingTextValue] = useState(''); const { container, emptyStateContainer } = styles[layoutType]; const onSaveEdit = anchorName => { onSaveEditChanges(); setDialogOpened(null); setAnchorEl({ ...anchorEl, [anchorName]: null }); }; const onDismissEdit = anchorName => { setDialogOpened(null); setAnchorEl({ ...anchorEl, [anchorName]: null }); }; const layoutResolver = (state, layoutType) => { if (layoutType === 'desktop') { switch (state) { case 'loading': return ( {createArrayFrom1ToN(3).map(i => ( ))} {createArrayFrom1ToN(4).map(i => ( ))} ); case 'idle': return ( Jitsi Meet

Sala de aula virtual

setAnchorEl({ ...anchorEl, virtualRoom: e.currentTarget, }) } aria-label="edit" size="medium" > setAnchorEl({ ...anchorEl, virtualRoom: null }) } > setDialogOpened('virtualRoom')} > Editar , ]} onDismiss={() => onDismissEdit('virtualRoom')} onSave={() => onSaveEdit('virtualRoom')} />

Próximas Atividades

{announcementsTabData.upcomingAssignments.length !== 0 ? ( announcementsTabData.upcomingAssignments.map(ua => ( {ua.title} )) ) : (

Nenhuma atividade encontrada!

)}

Horários de Atendimento

setAnchorEl({ ...anchorEl, appointmentSlots: e.currentTarget, }) } aria-label="edit" size="medium" > setAnchorEl({ ...anchorEl, appointmentSlots: null }) } > setDialogOpened('appointmentSlots')} > Editar ( )), ]} onDismiss={() => onDismissEdit('appointmentSlots')} onSave={() => onSaveEdit('appointmentSlots')} />
{classroom.appointmentSlots.map((appts, index) => ( {appts.weekDay}, {appts.start}h - {appts.end}h ))}
setComposingTextValue(e.target.value)} /> {announcementsTabData.announcements.length !== 0 ? ( announcementsTabData.announcements.map(announcement => ( )) ) : (

Nenhum comunicado encontrado!

)}
); case 'gone': return null; default: return null; } } else if (layoutType === 'mobile') { switch (state) { case 'loading': return ( {createArrayFrom1ToN(3).map(i => ( ))} {createArrayFrom1ToN(4).map(i => ( ))} ); case 'idle': return ( Jitsi Meet

Sala de aula virtual

setAnchorEl(e.currentTarget)} aria-label="edit" size="medium" > setAnchorEl(null)} > setDialogOpened('virtualRoom')} > Editar , ]} onDismiss={() => onDismissEdit('virtualRoom')} onSave={() => onSaveEdit('virtualRoom')} />

Próximas Atividades

{announcementsTabData.upcomingAssignments.length !== 0 ? ( announcementsTabData.upcomingAssignments.map(ua => ( {ua.title} )) ) : (

Nenhuma atividade encontrada!

)}

Horários de Atendimento

{classroom.appointmentSlots.map((appts, index) => ( {appts.weekDay}, {appts.start}h - {appts.end}h ))}
setComposingTextValue(e.target.value)} /> {announcementsTabData.announcements.length !== 0 ? ( announcementsTabData.announcements.map(announcement => ( )) ) : (

Nenhum comunicado encontrado!

)}
); case 'gone': return null; default: return null; } } }; return layoutResolver( announcementsTabData && announcementsTabData.state, layoutType ); } export default AnnouncementsTab;