Skip to content

Commit

Permalink
fix(composer): Restores loading indicator for scene composer
Browse files Browse the repository at this point in the history
  • Loading branch information
mumanity committed Apr 12, 2023
1 parent fcfed51 commit 1f81754
Show file tree
Hide file tree
Showing 7 changed files with 264 additions and 182 deletions.
1 change: 0 additions & 1 deletion packages/scene-composer/src/components/Tree/tree.scss
Expand Up @@ -15,7 +15,6 @@ $active-color: #ec7211;
background: $active-bg;
}
@mixin selected-action {
@include selected;
background: $active-bg-gradient;
margin-top: -1px;
margin-bottom: -1px;
Expand Down
Expand Up @@ -20,22 +20,22 @@ exports[`SceneComposerInternal should render a default error view when loading a
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -95,22 +95,22 @@ exports[`SceneComposerInternal should render both valid and invalid scene correc
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -143,22 +143,22 @@ exports[`SceneComposerInternal should render both valid and invalid scene correc
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -195,22 +195,22 @@ exports[`SceneComposerInternal should render correctly with a valid scene in edi
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -246,17 +246,17 @@ exports[`SceneComposerInternal should render correctly with an empty scene in ed
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
>
<R3FWrapper
enableMatterport={false}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
/>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -291,17 +291,17 @@ exports[`SceneComposerInternal should render correctly with an empty scene in vi
isViewing={true}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
>
<R3FWrapper
enableMatterport={false}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
/>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -333,22 +333,22 @@ exports[`SceneComposerInternal should render error when major version is newer 1
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -384,22 +384,22 @@ exports[`SceneComposerInternal should render error when specVersion is invalid 1
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -435,22 +435,22 @@ exports[`SceneComposerInternal should render warning when minor version is newer
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -487,22 +487,22 @@ exports[`SceneComposerInternal should support rendering multiple valid scenes 1`
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down Expand Up @@ -535,22 +535,22 @@ exports[`SceneComposerInternal should support rendering multiple valid scenes 1`
isViewing={false}
/>
<Unknown>
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
>
<R3FWrapper
enableMatterport={false}
sceneLoaded={true}
<React.Suspense
fallback={
<Provider>
<LoadingProgress />
</Provider>
}
>
<React.Fragment>
<WebGLCanvasManager />
</React.Fragment>
</R3FWrapper>
</React.Suspense>
</React.Suspense>
</R3FWrapper>
</Unknown>
</LogProvider>
</React.Fragment>
Expand Down
9 changes: 6 additions & 3 deletions packages/scene-composer/src/components/panels/TopBar.tsx
Expand Up @@ -3,9 +3,9 @@ import styled from 'styled-components';
import { ButtonDropdown, SpaceBetween } from '@awsui/components-react';
import { useIntl } from 'react-intl';

import { KnownComponentType } from '../../interfaces';
import { KnownComponentType, KnownSceneProperty } from '../../interfaces';
import { sceneComposerIdContext } from '../../common/sceneComposerIdContext';
import { ICameraComponentInternal, useStore } from '../../store';
import { ICameraComponentInternal, useStore, useViewOptionState } from '../../store';
import useActiveCamera from '../../hooks/useActiveCamera';
import { findComponentByType } from '../../utils/nodeUtils';
import { getCameraSettings } from '../../utils/cameraUtils';
Expand All @@ -23,6 +23,9 @@ export const TopBar: FC = () => {
const getSceneNodeByRef = useStore(sceneComposerId)((state) => state.getSceneNodeByRef);
const getObject3DBySceneNodeRef = useStore(sceneComposerId)((state) => state.getObject3DBySceneNodeRef);
const { setActiveCameraSettings } = useActiveCamera();
const matterportModelId = useStore(sceneComposerId)((state) =>
state.getSceneProperty(KnownSceneProperty.MatterportModelId),
);
const intl = useIntl();

const cameraItems = useMemo(() => {
Expand All @@ -38,7 +41,7 @@ export const TopBar: FC = () => {
});
}, [nodeMap]);

const hasCameraView = cameraItems.length > 0;
const hasCameraView = cameraItems.length > 0 && matterportModelId === undefined;
const showTopBar = hasCameraView;

const setActiveCameraOnItemClick = useCallback(
Expand Down

0 comments on commit 1f81754

Please sign in to comment.