diff --git a/front/src/routes/scene/duplicate-scene/DuplicateScenePage.jsx b/front/src/routes/scene/duplicate-scene/DuplicateScenePage.jsx index df7bd412c7..e1606d4efd 100644 --- a/front/src/routes/scene/duplicate-scene/DuplicateScenePage.jsx +++ b/front/src/routes/scene/duplicate-scene/DuplicateScenePage.jsx @@ -14,77 +14,83 @@ const DuplicateScenePage = ({ children, ...props }) => (
-
-
- -
- {props.duplicateSceneStatus === RequestStatus.ConflictError && ( -
- -
- )} -
- - - } - value={get(props, 'scene.name')} - onInput={props.updateDuplicateSceneName} - /> - -
- -
-
- -
- - {get(props, 'duplicateSceneErrors.icon') && ( -
- +
+
+
+
+
+
- )} -
- {iconList.map(icon => ( -
-
+ +
+ )} +
+ + + - + disabled={props.loading} + placeholder={} + value={get(props, 'scene.name')} + onInput={props.updateDuplicateSceneName} + /> + +
+ +
+
+ +
+ + {get(props, 'duplicateSceneErrors.icon') && ( +
+
+ )} +
+ {iconList.map(icon => ( +
+
+ +
+
+ ))}
- ))} +
+
-
diff --git a/front/src/routes/scene/duplicate-scene/index.js b/front/src/routes/scene/duplicate-scene/index.js index bcc5fda905..df1b0fda64 100644 --- a/front/src/routes/scene/duplicate-scene/index.js +++ b/front/src/routes/scene/duplicate-scene/index.js @@ -14,6 +14,7 @@ class DuplicateScene extends Component { const scene = await this.props.httpClient.get(`/api/v1/scene/${this.props.scene_selector}`); this.setState({ sourceScene: scene, + loading: false, scene: { name: '', icon: scene.icon @@ -93,7 +94,6 @@ class DuplicateScene extends Component { constructor(props) { super(props); - this.getSourceScene(); this.state = { scene: { name: '', @@ -103,17 +103,23 @@ class DuplicateScene extends Component { name: '', icon: '' }, + loading: true, duplicateSceneErrors: null, duplicateSceneStatus: null }; } - render(props, { duplicateSceneErrors, scene, duplicateSceneStatus, sourceScene }) { + componentDidMount() { + this.getSourceScene(); + } + + render(props, { duplicateSceneErrors, scene, duplicateSceneStatus, sourceScene, loading }) { return (