mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
Prevent fullscreen break when loading scene (#3828)
This commit is contained in:
@@ -541,6 +541,17 @@ const SceneLoader: React.FC = () => {
|
|||||||
const { configuration } = useContext(ConfigurationContext);
|
const { configuration } = useContext(ConfigurationContext);
|
||||||
const { data, loading, error } = useFindScene(id ?? "");
|
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(
|
const queryParams = useMemo(
|
||||||
() => new URLSearchParams(location.search),
|
() => new URLSearchParams(location.search),
|
||||||
[location.search]
|
[location.search]
|
||||||
@@ -752,14 +763,15 @@ const SceneLoader: React.FC = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loading) return <LoadingIndicator />;
|
if (!scene && loading) return <LoadingIndicator />;
|
||||||
if (error) return <ErrorMessage error={error.message} />;
|
if (error) return <ErrorMessage error={error.message} />;
|
||||||
|
|
||||||
const scene = data?.findScene;
|
if (!loading && !scene)
|
||||||
if (!scene) return <ErrorMessage error={`No scene found with id ${id}.`} />;
|
return <ErrorMessage error={`No scene found with id ${id}.`} />;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="row">
|
<div className="row">
|
||||||
|
{scene && (
|
||||||
<ScenePage
|
<ScenePage
|
||||||
scene={scene}
|
scene={scene}
|
||||||
setTimestamp={setTimestamp}
|
setTimestamp={setTimestamp}
|
||||||
@@ -778,6 +790,7 @@ const SceneLoader: React.FC = () => {
|
|||||||
setCollapsed={setCollapsed}
|
setCollapsed={setCollapsed}
|
||||||
setContinuePlaylist={setContinuePlaylist}
|
setContinuePlaylist={setContinuePlaylist}
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
<div className={`scene-player-container ${collapsed ? "expanded" : ""}`}>
|
<div className={`scene-player-container ${collapsed ? "expanded" : ""}`}>
|
||||||
<ScenePlayer
|
<ScenePlayer
|
||||||
key="ScenePlayer"
|
key="ScenePlayer"
|
||||||
|
|||||||
Reference in New Issue
Block a user