Skip to content

Commit d710dad

Browse files
authored
chore: separate pages from components (#312)
1 parent 7fe4f2c commit d710dad

File tree

7 files changed

+44
-39
lines changed

7 files changed

+44
-39
lines changed

src/App.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import * as React from 'react';
2+
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
3+
import { PreviewEventsProvider } from './context/PreviewEvents';
4+
import Loader from './components/Loader';
5+
6+
const Playground = React.lazy(() => import('./pages/Playground'));
7+
const Embedded = React.lazy(() => import('./pages/Embedded'));
8+
9+
function App() {
10+
return (
11+
<Router>
12+
<PreviewEventsProvider>
13+
<React.Suspense fallback={<Loader />}>
14+
<Switch>
15+
<Route path="/embed/:gistId?/:gistVersion?" component={Embedded} />
16+
<Route
17+
path={['/gist/:gistId/:gistVersion?', '/']}
18+
component={Playground}
19+
/>
20+
</Switch>
21+
</React.Suspense>
22+
</PreviewEventsProvider>
23+
</Router>
24+
);
25+
}
26+
27+
export default App;

src/components/App.js

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/components/Embed.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useEffect, useState } from 'react';
22
import Input from './Input';
33
import CopyButton from './CopyButton';
4-
import Embedded from './Embedded';
4+
import Embedded from '../pages/Embedded';
55
import { SyncIcon, XIcon } from '@primer/octicons-react';
66

77
import { defaultPanes } from '../constants';

src/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import 'regenerator-runtime/runtime';
2-
import React from 'react';
3-
import ReactDOM from 'react-dom';
4-
import App from './components/App';
5-
import 'regenerator-runtime/runtime';
62
import 'react-toastify/dist/ReactToastify.min.css';
73
import './service-worker';
84

5+
import React from 'react';
6+
import ReactDOM from 'react-dom';
7+
8+
import App from './App';
9+
910
ReactDOM.render(<App />, document.getElementById('app'));

src/components/Embedded.js renamed to src/pages/Embedded.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import React, { useEffect } from 'react';
22
import queryString from 'query-string';
33
import { useLocation, useParams } from 'react-router-dom';
4-
import Preview from './Preview';
5-
import Query from './Query';
6-
import Result from './Result';
7-
import MarkupEditor from './MarkupEditor';
4+
import Preview from '../components/Preview';
5+
import Query from '../components/Query';
6+
import Result from '../components/Result';
7+
import MarkupEditor from '../components/MarkupEditor';
88
import useParentMessaging from '../hooks/useParentMessaging';
99
import usePlayground from '../hooks/usePlayground';
10-
import Loader from './Loader';
10+
import Loader from '../components/Loader';
1111

1212
import { defaultPanes } from '../constants';
1313

src/components/Playground.js renamed to src/pages/Playground.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import React from 'react';
22
import { useParams } from 'react-router-dom';
3-
import Preview from './Preview';
4-
import MarkupEditor from './MarkupEditor';
3+
import Preview from '../components/Preview';
4+
import MarkupEditor from '../components/MarkupEditor';
55
import usePlayground from '../hooks/usePlayground';
6-
import Layout from './Layout';
7-
import Loader from './Loader';
8-
import PlaygroundPanels from './PlaygroundPanels';
6+
import Layout from '../components/Layout';
7+
import Loader from '../components/Loader';
8+
import PlaygroundPanels from '../components/PlaygroundPanels';
99
import { usePreviewEvents } from '../context/PreviewEvents';
1010

1111
function Playground() {

src/components/Playground.test.js renamed to src/pages/Playground.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { render } from '@testing-library/react';
3-
import Playground from './App';
3+
import Playground from '../App';
44

55
describe('App', () => {
66
it('should not throw on render', () => {

0 commit comments

Comments
 (0)