mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-16 04:43:35 +00:00
a3487e7073
* refactor: remove useless template * refactor: handle promise * refactor: associate labels to fields * refactor: simplify checking if element exists * refactor: prevent reassigning * refactor: avoid wildcard imports * refactor: simplify imports * refactor: simplify boolean comparison * chore: version bump
73 lines
3.0 KiB
TypeScript
73 lines
3.0 KiB
TypeScript
import { lazy, useEffect } from 'react';
|
|
import { useDisclosure } from '@chakra-ui/react';
|
|
|
|
import ErrorBoundary from '../../common/components/error-boundary/ErrorBoundary';
|
|
import MenuBar from '../menu/MenuBar';
|
|
import AboutModal from '../modals/about-modal/AboutModal';
|
|
import QuickStart from '../modals/quick-start/QuickStart';
|
|
import UploadModal from '../modals/upload-modal/UploadModal';
|
|
|
|
import styles from './Editor.module.scss';
|
|
|
|
const Rundown = lazy(() => import('../rundown/RundownExport'));
|
|
const TimerControl = lazy(() => import('../control/playback/TimerControlExport'));
|
|
const MessageControl = lazy(() => import('../control/message/MessageControlExport'));
|
|
const Info = lazy(() => import('../info/InfoExport'));
|
|
const EventEditor = lazy(() => import('../event-editor/EventEditorExport'));
|
|
|
|
const IntegrationModal = lazy(() => import('../modals/integration-modal/IntegrationModal'));
|
|
const SettingsModal = lazy(() => import('../modals/settings-modal/SettingsModal'));
|
|
|
|
export default function Editor() {
|
|
const { isOpen: isSettingsOpen, onOpen: onSettingsOpen, onClose: onSettingsClose } = useDisclosure();
|
|
const { isOpen: isUploadModalOpen, onOpen: onUploadModalOpen, onClose: onUploadModalClose } = useDisclosure();
|
|
const {
|
|
isOpen: isIntegrationModalOpen,
|
|
onOpen: onIntegrationModalOpen,
|
|
onClose: onIntegrationModalClose,
|
|
} = useDisclosure();
|
|
const { isOpen: isAboutModalOpen, onOpen: onAboutModalOpen, onClose: onAboutModalClose } = useDisclosure();
|
|
const { isOpen: isQuickStartOpen, onOpen: onQuickStartOpen, onClose: onQuickStartClose } = useDisclosure();
|
|
|
|
// Set window title
|
|
useEffect(() => {
|
|
document.title = 'ontime - Editor';
|
|
}, []);
|
|
|
|
return (
|
|
<>
|
|
<ErrorBoundary>
|
|
<QuickStart onClose={onQuickStartClose} isOpen={isQuickStartOpen} />
|
|
<UploadModal onClose={onUploadModalClose} isOpen={isUploadModalOpen} />
|
|
<IntegrationModal onClose={onIntegrationModalClose} isOpen={isIntegrationModalOpen} />
|
|
<AboutModal onClose={onAboutModalClose} isOpen={isAboutModalOpen} />
|
|
<SettingsModal isOpen={isSettingsOpen} onClose={onSettingsClose} />
|
|
</ErrorBoundary>
|
|
<div className={styles.mainContainer} data-testid='event-editor'>
|
|
<div id='settings' className={styles.settings}>
|
|
<ErrorBoundary>
|
|
<MenuBar
|
|
onSettingsOpen={onSettingsOpen}
|
|
isSettingsOpen={isSettingsOpen}
|
|
onSettingsClose={onSettingsClose}
|
|
isUploadOpen={isUploadModalOpen}
|
|
onUploadOpen={onUploadModalOpen}
|
|
isIntegrationOpen={isIntegrationModalOpen}
|
|
onIntegrationOpen={onIntegrationModalOpen}
|
|
isAboutOpen={isAboutModalOpen}
|
|
onAboutOpen={onAboutModalOpen}
|
|
isQuickStartOpen={isQuickStartOpen}
|
|
onQuickStartOpen={onQuickStartOpen}
|
|
/>
|
|
</ErrorBoundary>
|
|
</div>
|
|
<Rundown />
|
|
<MessageControl />
|
|
<TimerControl />
|
|
<Info />
|
|
</div>
|
|
<EventEditor />
|
|
</>
|
|
);
|
|
}
|