Skip to content
Snippets Groups Projects
TeamViewPage.tsx 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • import React, { useEffect } from 'react'
    
    import { useHistory, useParams } from 'react-router-dom'
    import { getPresentationCompetition } from '../../actions/presentation'
    import { useAppDispatch, useAppSelector } from '../../hooks'
    import { ViewParams } from '../../interfaces/ViewParams'
    import { socketConnect, socketJoinPresentation } from '../../sockets'
    
    import SlideDisplay from '../presentationEditor/components/SlideDisplay'
    
    import { PresentationBackground, PresentationContainer } from './styled'
    
    Max Rüdiger's avatar
    Max Rüdiger committed
    const TeamViewPage: React.FC = () => {
    
      const history = useHistory()
    
      const code = useAppSelector((state) => state.presentation.code)
    
      const viewTypes = useAppSelector((state) => state.types.viewTypes)
    
    Max Rüdiger's avatar
    Max Rüdiger committed
      const activeViewTypeId = viewTypes.find((viewType) => viewType.name === 'Team')?.id
    
      const { competitionId }: ViewParams = useParams()
      const dispatch = useAppDispatch()
    
      useEffect(() => {
    
        dispatch(getPresentationCompetition(competitionId))
    
        if (code && code !== '') {
    
          socketConnect()
    
          socketJoinPresentation()
        }
    
        <PresentationBackground>
          <PresentationContainer>
            {activeViewTypeId && <SlideDisplay variant="presentation" activeViewTypeId={activeViewTypeId} />}
          </PresentationContainer>
        </PresentationBackground>
    
    Max Rüdiger's avatar
    Max Rüdiger committed
    export default TeamViewPage