2021-12-03 20:37:38 +01:00
|
|
|
import React from 'react';
|
2022-03-07 13:22:35 +01:00
|
|
|
import RequestTabs from 'components/RequestTabs';
|
|
|
|
import RequestTabPanel from 'components/RequestTabPanel';
|
|
|
|
import Sidebar from 'components/Sidebar';
|
2021-12-03 20:37:38 +01:00
|
|
|
import actions from 'providers/Store/actions';
|
2021-12-04 12:30:03 +01:00
|
|
|
import { useStore } from '../../providers/Store/index';
|
2021-12-03 20:37:38 +01:00
|
|
|
import StyledWrapper from './StyledWrapper';
|
|
|
|
|
2022-03-07 13:22:35 +01:00
|
|
|
import { IconStack, IconGitFork } from '@tabler/icons';
|
2021-12-05 17:04:03 +01:00
|
|
|
|
2022-03-07 13:22:35 +01:00
|
|
|
const SERVER_RENDERED = typeof navigator === 'undefined' || global['PREVENT_CODEMIRROR_RENDER'] === true;
|
|
|
|
if(!SERVER_RENDERED) {
|
|
|
|
require('codemirror/mode/javascript/javascript');
|
|
|
|
require('codemirror/mode/javascript/javascript');
|
|
|
|
require('codemirror/addon/edit/matchbrackets');
|
|
|
|
require('codemirror/addon/fold/brace-fold');
|
|
|
|
require('codemirror/addon/fold/foldgutter');
|
|
|
|
require('codemirror/addon/hint/show-hint');
|
|
|
|
require('codemirror/keymap/sublime');
|
|
|
|
require('codemirror/addon/comment/comment');
|
|
|
|
require('codemirror/addon/edit/closebrackets');
|
|
|
|
require('codemirror/addon/search/search');
|
|
|
|
require('codemirror/addon/search/searchcursor');
|
|
|
|
require('codemirror/addon/search/jump-to-line');
|
|
|
|
require('codemirror/addon/dialog/dialog');
|
2021-12-05 16:45:20 +01:00
|
|
|
|
2022-03-07 13:22:35 +01:00
|
|
|
require('codemirror-graphql/hint');
|
|
|
|
require('codemirror-graphql/lint');
|
|
|
|
require('codemirror-graphql/info');
|
|
|
|
require('codemirror-graphql/jump');
|
|
|
|
require('codemirror-graphql/mode');
|
|
|
|
}
|
2022-03-05 18:19:46 +01:00
|
|
|
|
2021-12-04 12:30:03 +01:00
|
|
|
|
2021-12-03 20:37:38 +01:00
|
|
|
export default function Main() {
|
|
|
|
const [state, dispatch] = useStore();
|
|
|
|
|
2022-03-07 13:22:35 +01:00
|
|
|
if (SERVER_RENDERED) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2021-12-03 20:37:38 +01:00
|
|
|
const {
|
|
|
|
collections,
|
2021-12-03 21:33:46 +01:00
|
|
|
requestTabs,
|
2021-12-03 20:37:38 +01:00
|
|
|
activeRequestTabId
|
|
|
|
} = state;
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<StyledWrapper>
|
|
|
|
<Sidebar
|
|
|
|
collections={collections}
|
|
|
|
actions={actions}
|
|
|
|
dispatch={dispatch}
|
|
|
|
activeRequestTabId={activeRequestTabId}
|
|
|
|
/>
|
2021-12-10 19:34:00 +01:00
|
|
|
<section className='flex flex-grow flex-col'>
|
2022-03-07 13:22:35 +01:00
|
|
|
<div className="flex items-center" style={{padding: "8px", paddingBottom: "4px"}}>
|
2022-03-05 18:19:46 +01:00
|
|
|
<IconStack size={18} strokeWidth={1.5}/>
|
|
|
|
<span className="ml-2 mr-4 font-semibold">spacex</span>
|
|
|
|
<IconGitFork size={16} strokeWidth={1}/>
|
|
|
|
<span className="ml-1 text-xs">main</span>
|
|
|
|
</div>
|
2021-12-03 21:33:46 +01:00
|
|
|
<RequestTabs
|
|
|
|
requestTabs={requestTabs}
|
|
|
|
actions={actions}
|
|
|
|
dispatch={dispatch}
|
|
|
|
activeRequestTabId={activeRequestTabId}
|
|
|
|
/>
|
2021-12-04 12:30:03 +01:00
|
|
|
<RequestTabPanel
|
2021-12-09 17:44:49 +01:00
|
|
|
actions={actions}
|
|
|
|
dispatch={dispatch}
|
2021-12-04 12:30:03 +01:00
|
|
|
collections={collections}
|
|
|
|
requestTabs={requestTabs}
|
|
|
|
activeRequestTabId={activeRequestTabId}
|
|
|
|
/>
|
2021-12-03 20:37:38 +01:00
|
|
|
</section>
|
|
|
|
</StyledWrapper>
|
|
|
|
</div>
|
2021-12-30 15:12:04 +01:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|