Skip to content

Commit 041d30e

Browse files
author
Ives van Hoorne
committed
Default to project view in embed if module is undefined
1 parent bde5fa8 commit 041d30e

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/embed/App.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ type State = {
4747
sandbox: Sandbox,
4848
showEditor: boolean,
4949
showPreview: boolean,
50+
isInProjectView: boolean,
5051
currentModule: ?string,
5152
sidebarOpen: boolean,
5253
};
@@ -68,6 +69,7 @@ export default class App extends React.PureComponent {
6869
sandbox: null,
6970
showEditor: !isPreviewScreen,
7071
showPreview: !isEditorScreen,
72+
isInProjectView: !currentModule,
7173
currentModule,
7274
sidebarOpen: false,
7375
};
@@ -126,6 +128,9 @@ export default class App extends React.PureComponent {
126128

127129
toggleSidebar = () => this.setState({ sidebarOpen: !this.state.sidebarOpen });
128130

131+
setProjectView = (sandboxId: string, isOpen: boolean) =>
132+
this.setState({ isInProjectView: isOpen });
133+
129134
content = () => {
130135
if (this.state.notFound) {
131136
return (
@@ -146,7 +151,7 @@ export default class App extends React.PureComponent {
146151
);
147152
}
148153

149-
const { showEditor, showPreview } = this.state;
154+
const { showEditor, showPreview, isInProjectView } = this.state;
150155

151156
return (
152157
<Container>
@@ -162,6 +167,8 @@ export default class App extends React.PureComponent {
162167
<Content
163168
showEditor={showEditor}
164169
showPreview={showPreview}
170+
isInProjectView={isInProjectView}
171+
setProjectView={this.setProjectView}
165172
sandbox={this.state.sandbox}
166173
currentModule={this.state.currentModule}
167174
/>

src/embed/components/Content.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,16 @@ type Props = {
2929
currentModule: string,
3030
showEditor: boolean,
3131
showPreview: boolean,
32+
isInProjectView: boolean,
3233
};
3334

3435
type State = {
3536
bundle: Object,
36-
isInProjectView: boolean,
3737
};
3838

3939
export default class Content extends React.Component {
40-
state = {
40+
state: State = {
4141
bundle: { processing: true },
42-
isInProjectView: false,
4342
};
4443

4544
componentDidMount() {
@@ -65,7 +64,13 @@ export default class Content extends React.Component {
6564
props: Props;
6665
state: State;
6766
render() {
68-
const { sandbox, showEditor, showPreview, currentModule } = this.props;
67+
const {
68+
sandbox,
69+
showEditor,
70+
showPreview,
71+
isInProjectView,
72+
currentModule,
73+
} = this.props;
6974

7075
const preferences = { livePreviewEnabled: true };
7176
const mainModule =
@@ -96,7 +101,7 @@ export default class Content extends React.Component {
96101
<Split show={showPreview} only={showPreview && !showEditor}>
97102
<Preview
98103
sandboxId={sandbox.id}
99-
isInProjectView={this.state.isInProjectView}
104+
isInProjectView={isInProjectView}
100105
modules={sandbox.modules}
101106
directories={sandbox.directories}
102107
bundle={this.state.bundle}
@@ -106,7 +111,7 @@ export default class Content extends React.Component {
106111
addError={() => {}}
107112
clearErrors={() => {}}
108113
preferences={preferences}
109-
setProjectView={this.setProjectView}
114+
setProjectView={this.props.setProjectView}
110115
noDelay
111116
/>
112117
</Split>}

0 commit comments

Comments
 (0)