Skip to content

Commit 6f1aed4

Browse files
🔨 Switch Dependencies to use useOvermind (codesandbox#3361)
1 parent 96350ff commit 6f1aed4

File tree

10 files changed

+85
-85
lines changed

10 files changed

+85
-85
lines changed

‎packages/app/src/app/overmind/namespaces/editor/actions.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ export const addNpmDependency: AsyncAction<{
5151
}
5252
);
5353

54-
export const npmDependencyRemoved: AsyncAction<{
55-
name: string;
56-
}> = withOwnedSandbox(async ({ effects, actions }, { name }) => {
57-
effects.analytics.track('Remove NPM Dependency');
54+
export const npmDependencyRemoved: AsyncAction<string> = withOwnedSandbox(
55+
async ({ actions, effects }, name) => {
56+
effects.analytics.track('Remove NPM Dependency');
5857

59-
await actions.editor.internal.removeNpmDependencyFromPackageJson(name);
58+
await actions.editor.internal.removeNpmDependencyFromPackageJson(name);
6059

61-
effects.preview.executeCodeImmediately();
62-
});
60+
effects.preview.executeCodeImmediately();
61+
}
62+
);
6363

6464
export const sandboxChanged: AsyncAction<{ id: string }> = withLoadApp<{
6565
id: string;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ import styled from 'styled-components';
33
export const ButtonContainer = styled.div`
44
margin: 0.5rem 1rem;
55
`;
6+
7+
export const Container = styled.div`
8+
position: relative;
9+
`;

‎packages/app/src/app/pages/Sandbox/Editor/Workspace/Dependencies/AddResource/index.js

Lines changed: 0 additions & 54 deletions
This file was deleted.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import { Button } from '@codesandbox/common/lib/components/Button';
2+
import { ENTER } from '@codesandbox/common/lib/utils/keycodes';
3+
import React, {
4+
ChangeEvent,
5+
FunctionComponent,
6+
KeyboardEvent,
7+
useState,
8+
} from 'react';
9+
10+
import { useOvermind } from 'app/overmind';
11+
12+
import { WorkspaceInputContainer } from '../../elements';
13+
14+
import { ButtonContainer, Container } from './elements';
15+
16+
export const AddResource: FunctionComponent = () => {
17+
const {
18+
actions: {
19+
workspace: { externalResourceAdded },
20+
},
21+
} = useOvermind();
22+
const [name, setName] = useState('');
23+
24+
const addResource = async () => {
25+
if (name) {
26+
await externalResourceAdded(name.trim());
27+
28+
setName('');
29+
}
30+
};
31+
const changeName = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>
32+
setName(value);
33+
const handleKeyUp = ({ keyCode }: KeyboardEvent<HTMLInputElement>) => {
34+
if (keyCode === ENTER) {
35+
addResource();
36+
}
37+
};
38+
39+
return (
40+
<Container>
41+
<WorkspaceInputContainer>
42+
<input
43+
onChange={changeName}
44+
onKeyUp={handleKeyUp}
45+
placeholder="https://cdn.com/bootstrap.css"
46+
value={name}
47+
/>
48+
</WorkspaceInputContainer>
49+
50+
<ButtonContainer>
51+
<Button block disabled={name === ''} onClick={addResource} small>
52+
Add Resource
53+
</Button>
54+
</ButtonContainer>
55+
</Container>
56+
);
57+
};

‎packages/app/src/app/pages/Sandbox/Editor/Workspace/Dependencies/AddVersion/elements.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ import styled from 'styled-components';
33
export const ButtonContainer = styled.div`
44
margin: 0.5rem 1rem;
55
`;
6+
7+
export const Container = styled.div`
8+
position: relative;
9+
`;

‎packages/app/src/app/pages/Sandbox/Editor/Workspace/Dependencies/AddVersion/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import React, { FunctionComponent } from 'react';
33

44
import { useOvermind } from 'app/overmind';
55

6-
import { ButtonContainer } from './elements';
6+
import { ButtonContainer, Container } from './elements';
77

88
export const AddVersion: FunctionComponent = ({ children }) => {
99
const {
1010
actions: { modalOpened },
1111
} = useOvermind();
1212

1313
return (
14-
<div style={{ position: 'relative' }}>
14+
<Container>
1515
<ButtonContainer>
1616
<Button
1717
block
@@ -21,6 +21,6 @@ export const AddVersion: FunctionComponent = ({ children }) => {
2121
{children}
2222
</Button>
2323
</ButtonContainer>
24-
</div>
24+
</Container>
2525
);
2626
};
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import CrossIcon from 'react-icons/lib/md/clear';
33

44
import { useOvermind } from 'app/overmind';
55

6-
import { EntryContainer, IconArea, Icon } from '../../elements';
6+
import { EntryContainer, IconArea, Icon } from '../elements';
77

8-
import { Link } from '../elements';
8+
import { Link } from './elements';
99

1010
const getNormalizedUrl = (url: string) => `${url.replace(/\/$/g, '')}/`;
1111

‎packages/app/src/app/pages/Sandbox/Editor/Workspace/Dependencies/index.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { VersionEntry } from './VersionEntry';
1515
export const Dependencies: FunctionComponent = () => {
1616
const {
1717
actions: {
18-
workspace: { externalResourceAdded },
1918
editor: { addNpmDependency, npmDependencyRemoved },
2019
},
2120
state: {
@@ -56,7 +55,7 @@ export const Dependencies: FunctionComponent = () => {
5655
dependency={dependency}
5756
key={dependency}
5857
onRefresh={(name, version) => addNpmDependency({ name, version })}
59-
onRemove={name => npmDependencyRemoved({ name })}
58+
onRemove={name => npmDependencyRemoved(name)}
6059
/>
6160
))}
6261

@@ -72,7 +71,7 @@ export const Dependencies: FunctionComponent = () => {
7271
dependency={dependency}
7372
key={dependency}
7473
onRefresh={(name, version) => addNpmDependency({ name, version })}
75-
onRemove={npmDependencyRemoved}
74+
onRemove={name => npmDependencyRemoved(name)}
7675
/>
7776
))} */}
7877

@@ -83,9 +82,7 @@ export const Dependencies: FunctionComponent = () => {
8382
<div>
8483
<WorkspaceSubtitle>External Resources</WorkspaceSubtitle>
8584

86-
<AddResource
87-
addResource={resource => externalResourceAdded(resource)}
88-
/>
85+
<AddResource />
8986

9087
{otherResources.map(resource => (
9188
<ExternalResource key={resource} resource={resource} />

‎packages/app/src/app/pages/Sandbox/Editor/Workspace/screens/Explorer/Dependencies/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export const Dependencies: FunctionComponent = () => {
5252
dependency={dependency}
5353
key={dependency}
5454
onRefresh={(name, version) => addNpmDependency({ name, version })}
55-
onRemove={name => npmDependencyRemoved({ name })}
55+
onRemove={npmDependencyRemoved}
5656
/>
5757
))}
5858
</List>

‎packages/common/src/types/index.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -443,18 +443,10 @@ export type PackageJSON = {
443443
keywords?: string[];
444444
main?: string;
445445
module?: string;
446-
scripts?: {
447-
[command: string]: string;
448-
};
449-
dependencies?: {
450-
[dep: string]: string;
451-
};
452-
devDependencies?: {
453-
[dep: string]: string;
454-
};
455-
jest?: {
456-
setupFilesAfterEnv?: string[];
457-
};
446+
scripts?: { [command: string]: string; };
447+
dependencies?: { [dependency: string]: string; };
448+
devDependencies?: { [dependency: string]: string; };
449+
jest?: { setupFilesAfterEnv?: string[]; };
458450
resolutions?: { [dependency: string]: string };
459451
};
460452

0 commit comments

Comments
 (0)