mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-05 07:28:01 +00:00
55d1aca9b6
* refactor: cleanup routes * style: smaller base font * chore: upgrade dependencies * chore: lock node version to electron * refactor: pass HTTP to integration controller (#652) * refactor: deprecate onair control * refactor: remove playback router * Several project files user folder (#617) * chore: automated screenshots (#667) * feat: app settings (#658) * refactor: remove deprecated event data (#674) * Studio clock (#663) --------- Co-authored-by: Carlos Valente <carlosvalente@pm.me> * Feat: reorder events with alt+ctrl + arrow up/down (#645) * Warning and danger per event (#677) --------- Co-authored-by: Fabian Posenau <fabian@fphome.de> * refactor: stabilise actionHandler (#683) Co-authored-by: Fabian Posenau <fabian@fphome.de> * improvement: hide seconds (#675) * wip: overview (#688) * fix: focus cursor (#695) * refactor: update lower third (#665) * Refactor/time formatting (#696) --------- Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Co-authored-by: Carlos Valente <carlosvalente@pm.me> * feat: multiple selection (#703) --------- Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com> Co-authored-by: Alex <ac@omnivox.dk> * fix: test - go to `Edit mode` befor tying to click `Event options` button (#708) * refactor: runtime service (#715) * fix: issue with loosing cursor position on message (#719) * remove info panel (#721) * Event editor continue (#722) * update API - part (#709) --------- Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Co-authored-by: Carlos Valente <carlosvalente@pm.me> * refactor: update timers (#729) * feat: many timers (#706) --------- Co-authored-by: arc-alex <ac@omnivox.dk> * refactor: excel cleanup (#734) * refactor: allow import of blocks and skip import (#735) * Project manager (#697) * refactor: UI for linking events (#763) * upgraded pipeline actions (#777) * Over under (#771) * custom fields (#744) --------- Co-authored-by: Carlos Valente <carlosvalente@pm.me> * Sheets settings (#774) --------- Co-authored-by: arc-alex <ac@omnivox.dk> * style: tweaks to lower thirds (#785) * refactor: delays account for gaps (#784) * refactor: partial state updates (#780) * feat: generate crash report (#787) * Sheet use limited input device auth flow (#782) --------- Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com> Co-authored-by: Carlos Valente <carlosvalente@pm.me> * Custom fields views (#789) * refactor: deprecate presenter and subtitle (#795) * refactor: organise API around resources (#798) --------- Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com> * Time to end (#804) * Skip fixes (#805) * fix: onair derives from playback * Param nav (#822) --------- Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk> * refactor: download files from interface (#831) * Quick options (#814) * End pause (#832) * chore: bump node version in docker (#834) * refactor: follow in run mode (#840) * fix: uncaught error in http integration (#837) * Apply project (#843) Co-authored-by: Matteo Gheza <matteo.gheza07@gmail.com> Co-authored-by: Ary <arylmoraesn@gmail.com> Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk> Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com> Co-authored-by: Fabian Posenau <fabian@fphome.de> Co-authored-by: Alex Rohleder <alexrohleder96@gmail.com> Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com> Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com> Co-authored-by: Fabian Posenau <fabianpos99+github@gmail.com>
102 lines
3.5 KiB
TypeScript
102 lines
3.5 KiB
TypeScript
import { lazy, Suspense } from 'react';
|
|
import { Navigate, Route, Routes } from 'react-router-dom';
|
|
|
|
import Log from './features/log/Log';
|
|
import withPreset from './features/PresetWrapper';
|
|
import withData from './features/viewers/ViewWrapper';
|
|
|
|
const Editor = lazy(() => import('./features/editors/ProtectedEditor'));
|
|
const Cuesheet = lazy(() => import('./features/cuesheet/ProtectedCuesheet'));
|
|
const Operator = lazy(() => import('./features/operator/OperatorExport'));
|
|
|
|
const TimerView = lazy(() => import('./features/viewers/timer/Timer'));
|
|
const MinimalTimerView = lazy(() => import('./features/viewers/minimal-timer/MinimalTimer'));
|
|
const ClockView = lazy(() => import('./features/viewers/clock/Clock'));
|
|
const Countdown = lazy(() => import('./features/viewers/countdown/Countdown'));
|
|
|
|
const Backstage = lazy(() => import('./features/viewers/backstage/Backstage'));
|
|
const Public = lazy(() => import('./features/viewers/public/Public'));
|
|
const Lower = lazy(() => import('./features/viewers/lower-thirds/LowerThird'));
|
|
const StudioClock = lazy(() => import('./features/viewers/studio/StudioClock'));
|
|
|
|
const STimer = withPreset(withData(TimerView));
|
|
const SMinimalTimer = withPreset(withData(MinimalTimerView));
|
|
const SClock = withPreset(withData(ClockView));
|
|
const SCountdown = withPreset(withData(Countdown));
|
|
const SBackstage = withPreset(withData(Backstage));
|
|
const SPublic = withPreset(withData(Public));
|
|
const SLowerThird = withPreset(withData(Lower));
|
|
const SStudio = withPreset(withData(StudioClock));
|
|
|
|
const EditorFeatureWrapper = lazy(() => import('./features/EditorFeatureWrapper'));
|
|
const RundownPanel = lazy(() => import('./features/rundown/RundownExport'));
|
|
const TimerControl = lazy(() => import('./features/control/playback/TimerControlExport'));
|
|
const MessageControl = lazy(() => import('./features/control/message/MessageControlExport'));
|
|
|
|
export default function AppRouter() {
|
|
return (
|
|
<Suspense fallback={null}>
|
|
<Routes>
|
|
<Route path='/' element={<Navigate to='/timer' />} />
|
|
<Route path='/timer' element={<STimer />} />
|
|
|
|
<Route path='/minimal' element={<SMinimalTimer />} />
|
|
|
|
<Route path='/clock' element={<SClock />} />
|
|
|
|
<Route path='/countdown' element={<SCountdown />} />
|
|
|
|
<Route path='/backstage' element={<SBackstage />} />
|
|
|
|
<Route path='/public' element={<SPublic />} />
|
|
|
|
<Route path='/studio' element={<SStudio />} />
|
|
|
|
<Route path='/lower' element={<SLowerThird />} />
|
|
|
|
<Route path='/op' element={<Operator />} />
|
|
|
|
{/*/!* Protected Routes *!/*/}
|
|
<Route path='/editor' element={<Editor />} />
|
|
<Route path='/cuesheet' element={<Cuesheet />} />
|
|
|
|
{/*/!* Protected Routes - Elements *!/*/}
|
|
<Route
|
|
path='/rundown'
|
|
element={
|
|
<EditorFeatureWrapper>
|
|
<RundownPanel />
|
|
</EditorFeatureWrapper>
|
|
}
|
|
/>
|
|
<Route
|
|
path='/timercontrol'
|
|
element={
|
|
<EditorFeatureWrapper>
|
|
<TimerControl />
|
|
</EditorFeatureWrapper>
|
|
}
|
|
/>
|
|
<Route
|
|
path='/messagecontrol'
|
|
element={
|
|
<EditorFeatureWrapper>
|
|
<MessageControl />
|
|
</EditorFeatureWrapper>
|
|
}
|
|
/>
|
|
<Route
|
|
path='/log'
|
|
element={
|
|
<EditorFeatureWrapper>
|
|
<Log />
|
|
</EditorFeatureWrapper>
|
|
}
|
|
/>
|
|
{/*/!* Send to default if nothing found *!/*/}
|
|
<Route path='*' element={<STimer />} />
|
|
</Routes>
|
|
</Suspense>
|
|
);
|
|
}
|