diff options
Diffstat (limited to 'pages/editor.tsx')
-rw-r--r-- | pages/editor.tsx | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/pages/editor.tsx b/pages/editor.tsx index 58b360d..722c4a8 100644 --- a/pages/editor.tsx +++ b/pages/editor.tsx @@ -67,6 +67,13 @@ interface project { right: slideTypes | null; }; }; + ready: { + timeline: boolean; + video: { + available: boolean; + fullyloaded: boolean; + }; + }; update: { refreshLiveTimeline: () => void; }; @@ -91,6 +98,13 @@ var project = createState<project>({ right: null, }, }, + ready: { + timeline: false, + video: { + available: false, + fullyloaded: false, + }, + }, update: { refreshLiveTimeline: () => { player.timeline.slides = Array(...(project.timeline.workingTimeline.value)); @@ -828,6 +842,7 @@ function DefaultSettings() { player.loadSlides(ev.target.result as string); project.timeline.workingTimeline.set(player.timeline.slides); project.update.refreshLiveTimeline.value(); + project.ready.timeline.set(true); }); reader.readAsText(file); }} @@ -874,15 +889,17 @@ function Tools() { var frame = useHookstate(project).timeline.frame; var tool = useHookstate(project).timeline.tool; var timelineZoom = useHookstate(project).timeline.zoom; + var ready = useHookstate(project).ready; return <div className='tools'> - <div className='time posrel'> + <div className={'time posrel ' + (ready.timeline.get() ? '' : 'disabled')}> <span className='framerate numbers posabs l0 t0'>@{player.framerate}fps</span> <h2 className='timecode numbers posabs r0 t0'> {player.frameToTimestampString(frame.value, false)} </h2> </div> <ToggleButtonGroup + className={ready.timeline.get() ? '' : 'disabled'} color='primary' aria-label='outlined primary button group' value={tool.get()} @@ -903,7 +920,7 @@ function Tools() { </div> </ToggleButton> </ToggleButtonGroup> - <div className='zoom'> + <div className={'zoom ' + (ready.timeline.get() ? '' : 'disabled')}> <ZoomOutRoundedIcon /> <div className='spacing'> <Slider |