Skip to content

Commit 4ecd850

Browse files
Refactored app/pages/common/Modals/ForkServerModal (#2774)
Refactored app/pages/common/Modals/ForkServerModal
2 parents a7a65ad + c751d63 commit 4ecd850

File tree

3 files changed

+69
-66
lines changed

3 files changed

+69
-66
lines changed

packages/app/src/app/pages/common/Modals/ForkServerModal/index.js

Lines changed: 0 additions & 45 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import React, { useEffect } from 'react';
2+
import { useOvermind } from 'app/overmind';
3+
import getTemplateDefinition from '@codesandbox/common/lib/templates';
4+
import { SignInButton } from 'app/pages/common/SignInButton';
5+
6+
import { Container, Heading, Explanation } from '../elements';
7+
8+
export const ForkServerModal: React.FC = () => {
9+
const {
10+
state: {
11+
isLoggedIn,
12+
editor: { currentSandbox },
13+
},
14+
actions: {
15+
modalClosed,
16+
editor: { forkSandboxClicked },
17+
},
18+
} = useOvermind();
19+
20+
useEffect(() => {
21+
// Which means that the user signed in in the meantime with the intention to
22+
// fork
23+
if (isLoggedIn) {
24+
forkSandboxClicked();
25+
modalClosed();
26+
}
27+
}, [forkSandboxClicked, isLoggedIn, modalClosed]);
28+
29+
const templateDefinition = getTemplateDefinition(currentSandbox.template);
30+
const niceName = (
31+
<span style={{ color: templateDefinition.color(), fontWeight: 500 }}>
32+
{templateDefinition.niceName}
33+
</span>
34+
);
35+
36+
return (
37+
<Container>
38+
<Heading>Fork {niceName} Sandbox</Heading>
39+
<Explanation>
40+
We execute {niceName} sandboxes in a server container. This is still in
41+
beta, so we require you to sign in before you can fork a {niceName}{' '}
42+
sandbox.
43+
</Explanation>
44+
45+
<SignInButton style={{ marginTop: 12 }} />
46+
</Container>
47+
);
48+
};

packages/app/src/app/pages/common/Modals/index.js

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
1-
import React, { Component } from 'react';
1+
import getTemplateDefinition from '@codesandbox/common/lib/templates';
2+
import codesandbox from '@codesandbox/common/lib/themes/codesandbox.json';
23
import { inject, observer } from 'app/componentConnectors';
3-
import { ThemeProvider } from 'styled-components';
44
import Modal from 'app/components/Modal';
5+
import getVSCodeTheme from 'app/src/app/pages/Sandbox/Editor/utils/get-vscode-theme';
56
import Loadable from 'app/utils/Loadable';
67
import { templateColor } from 'app/utils/template-color';
7-
import getTemplateDefinition from '@codesandbox/common/lib/templates';
8-
import codesandbox from '@codesandbox/common/lib/themes/codesandbox.json';
9-
import getVSCodeTheme from 'app/src/app/pages/Sandbox/Editor/utils/get-vscode-theme';
8+
import React, { Component } from 'react';
9+
import { ThemeProvider } from 'styled-components';
1010

11-
import NewSandbox from './NewSandbox';
12-
import PreferencesModal from './PreferencesModal';
13-
import DeleteSandboxModal from './DeleteSandboxModal';
14-
import DeleteDeploymentModal from './DeleteDeploymentModal';
15-
import ShareModal from './ShareModal';
16-
import DeploymentModal from './DeploymentModal';
17-
import ExportGitHubModal from './ExportGitHubModal';
1811
import CommitModal from './CommitModal';
19-
import PRModal from './PRModal';
20-
import SelectSandboxModal from './SelectSandboxModal';
21-
import SearchDependenciesModal from './SearchDependenciesModal';
12+
import DeleteDeploymentModal from './DeleteDeploymentModal';
2213
import DeleteProfileSandboxModal from './DeleteProfileSandboxModal';
14+
import DeleteSandboxModal from './DeleteSandboxModal';
15+
import DeploymentModal from './DeploymentModal';
2316
import EmptyTrash from './EmptyTrash';
17+
import ExportGitHubModal from './ExportGitHubModal';
18+
import FeedbackModal from './FeedbackModal';
19+
import { ForkServerModal } from './ForkServerModal';
2420
import LiveSessionEnded from './LiveSessionEnded';
2521
import LiveSessionVersionMismatch from './LiveSessionVersionMismatch';
26-
import UploadModal from './UploadModal';
27-
import StorageManagementModal from './StorageManagementModal';
28-
import ForkServerModal from './ForkServerModal';
29-
import PrivacyServerWarning from './PrivacyServerWarning';
30-
import PickSandboxModal from './PickSandboxModal';
31-
import FeedbackModal from './FeedbackModal';
3222
import NetlifyLogs from './NetlifyLogs';
23+
import NewSandbox from './NewSandbox';
24+
import PickSandboxModal from './PickSandboxModal';
25+
import PreferencesModal from './PreferencesModal';
26+
import PrivacyServerWarning from './PrivacyServerWarning';
27+
import PRModal from './PRModal';
28+
import SearchDependenciesModal from './SearchDependenciesModal';
29+
import SelectSandboxModal from './SelectSandboxModal';
30+
import ShareModal from './ShareModal';
3331
// eslint-disable-next-line
3432
import SignInForTemplates from './SignInForTemplates/index.ts';
33+
import StorageManagementModal from './StorageManagementModal';
3534
import { SurveyModal } from './SurveyModal';
35+
import UploadModal from './UploadModal';
3636

3737
const MoveSandboxFolderModal = Loadable(() =>
3838
import('./MoveSandboxFolderModal')

0 commit comments

Comments
 (0)