Skip to content

Commit

Permalink
Prevent fullscreen break when loading scene (#3828)
Browse files Browse the repository at this point in the history
  • Loading branch information
WithoutPants committed Jun 21, 2023
1 parent f65e877 commit 873d4da
Showing 1 changed file with 34 additions and 21 deletions.
55 changes: 34 additions & 21 deletions ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,17 @@ const SceneLoader: React.FC = () => {
const { configuration } = useContext(ConfigurationContext);
const { data, loading, error } = useFindScene(id ?? "");

const [scene, setScene] = useState<GQL.SceneDataFragment | undefined>(
data?.findScene ?? undefined
);

// only update scene when loading is done
useEffect(() => {
if (!loading) {
setScene(data?.findScene ?? undefined);
}
}, [data, loading]);

const queryParams = useMemo(
() => new URLSearchParams(location.search),
[location.search]
Expand Down Expand Up @@ -752,32 +763,34 @@ const SceneLoader: React.FC = () => {
}
}

if (loading) return <LoadingIndicator />;
if (!scene && loading) return <LoadingIndicator />;
if (error) return <ErrorMessage error={error.message} />;

const scene = data?.findScene;
if (!scene) return <ErrorMessage error={`No scene found with id ${id}.`} />;
if (!loading && !scene)
return <ErrorMessage error={`No scene found with id ${id}.`} />;

return (
<div className="row">
<ScenePage
scene={scene}
setTimestamp={setTimestamp}
queueScenes={queueScenes ?? []}
queueStart={queueStart}
onDelete={onDelete}
onQueueNext={onQueueNext}
onQueuePrevious={onQueuePrevious}
onQueueRandom={onQueueRandom}
continuePlaylist={continuePlaylist}
loadScene={loadScene}
queueHasMoreScenes={queueHasMoreScenes}
onQueueLessScenes={onQueueLessScenes}
onQueueMoreScenes={onQueueMoreScenes}
collapsed={collapsed}
setCollapsed={setCollapsed}
setContinuePlaylist={setContinuePlaylist}
/>
{scene && (
<ScenePage
scene={scene}
setTimestamp={setTimestamp}
queueScenes={queueScenes ?? []}
queueStart={queueStart}
onDelete={onDelete}
onQueueNext={onQueueNext}
onQueuePrevious={onQueuePrevious}
onQueueRandom={onQueueRandom}
continuePlaylist={continuePlaylist}
loadScene={loadScene}
queueHasMoreScenes={queueHasMoreScenes}
onQueueLessScenes={onQueueLessScenes}
onQueueMoreScenes={onQueueMoreScenes}
collapsed={collapsed}
setCollapsed={setCollapsed}
setContinuePlaylist={setContinuePlaylist}
/>
)}
<div className={`scene-player-container ${collapsed ? "expanded" : ""}`}>
<ScenePlayer
key="ScenePlayer"
Expand Down

0 comments on commit 873d4da

Please sign in to comment.