jevstrudel.git / website / src / repl / components / EmbeddedReplEditor.jsx
EmbeddedReplEditor.jsx25 lines · 995 B · raw
1import Loader from '@src/repl/components/Loader';
2import { Code } from '@src/repl/components/Code';
3import BigPlayButton from '@src/repl/components/BigPlayButton';
4import UserFacingErrorMessage from '@src/repl/components/UserFacingErrorMessage';
5import { MainPanel } from './panel/Panel';
6
7// type Props = {
8//  context: replcontext,
9// }
10
11export default function EmbeddedReplEditor(Props) {
12  const { context, ...editorProps } = Props;
13  const { pending, started, handleTogglePlay, containerRef, editorRef, error, init } = context;
14  return (
15    <div className="h-full flex flex-col relative" {...editorProps}>
16      <Loader active={pending} />
17      <MainPanel context={context} embedded={true} />
18      <BigPlayButton started={started} handleTogglePlay={handleTogglePlay} />
19      <div className="grow flex relative overflow-hidden">
20        <Code containerRef={containerRef} editorRef={editorRef} init={init} />
21      </div>
22      <UserFacingErrorMessage error={error} />
23    </div>
24  );
25}