clean up panels a little (#18)
This commit is contained in:
45
src/App.tsx
45
src/App.tsx
@ -20,6 +20,7 @@ import { SketchPlane } from './components/SketchPlane'
|
|||||||
import { Logs } from './components/Logs'
|
import { Logs } from './components/Logs'
|
||||||
import { AxisIndicator } from './components/AxisIndicator'
|
import { AxisIndicator } from './components/AxisIndicator'
|
||||||
import { RenderViewerArtifacts } from './components/RenderViewerArtifacts'
|
import { RenderViewerArtifacts } from './components/RenderViewerArtifacts'
|
||||||
|
import { PanelHeader } from './components/PanelHeader'
|
||||||
|
|
||||||
const OrrthographicCamera = OrthographicCamera as any
|
const OrrthographicCamera = OrthographicCamera as any
|
||||||
|
|
||||||
@ -147,28 +148,32 @@ function App() {
|
|||||||
}, [code, ast])
|
}, [code, ast])
|
||||||
return (
|
return (
|
||||||
<div className="h-screen">
|
<div className="h-screen">
|
||||||
<Allotment>
|
<Allotment snap={true}>
|
||||||
<Logs />
|
<Allotment vertical defaultSizes={[4, 1]}>
|
||||||
<div className="h-full flex flex-col items-start">
|
<div className="h-full flex flex-col items-start">
|
||||||
<button
|
<PanelHeader title="Code Editor" />
|
||||||
disabled={!shouldFormat}
|
{/* <button
|
||||||
onClick={formatCode}
|
disabled={!shouldFormat}
|
||||||
className={`${!shouldFormat && 'text-gray-300'}`}
|
onClick={formatCode}
|
||||||
>
|
className={`${!shouldFormat && 'text-gray-300'}`}
|
||||||
format
|
>
|
||||||
</button>
|
format
|
||||||
<div className="bg-red h-full w-full overflow-auto">
|
</button> */}
|
||||||
<CodeMirror
|
<div className="bg-red h-full w-full overflow-auto">
|
||||||
className="h-full"
|
<CodeMirror
|
||||||
value={code}
|
className="h-full"
|
||||||
extensions={[javascript({ jsx: true }), lineHighlightField]}
|
value={code}
|
||||||
onChange={onChange}
|
extensions={[javascript({ jsx: true }), lineHighlightField]}
|
||||||
onUpdate={onUpdate}
|
onChange={onChange}
|
||||||
onCreateEditor={(_editorView) => setEditorView(_editorView)}
|
onUpdate={onUpdate}
|
||||||
/>
|
onCreateEditor={(_editorView) => setEditorView(_editorView)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<Logs />
|
||||||
|
</Allotment>
|
||||||
<div className="h-full">
|
<div className="h-full">
|
||||||
|
<PanelHeader title="Drafting Board" />
|
||||||
<Toolbar />
|
<Toolbar />
|
||||||
<div className="border h-full border-gray-300 relative">
|
<div className="border h-full border-gray-300 relative">
|
||||||
<div className="absolute inset-0">
|
<div className="absolute inset-0">
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import { useStore } from '../useStore'
|
import { useStore } from '../useStore'
|
||||||
|
import { PanelHeader } from './PanelHeader'
|
||||||
|
|
||||||
export const Logs = () => {
|
export const Logs = () => {
|
||||||
const { logs, resetLogs } = useStore(({ logs, resetLogs }) => ({
|
const { logs, resetLogs } = useStore(({ logs, resetLogs }) => ({
|
||||||
@ -13,20 +14,23 @@ export const Logs = () => {
|
|||||||
}
|
}
|
||||||
}, [logs])
|
}, [logs])
|
||||||
return (
|
return (
|
||||||
<div className="h-full relative">
|
<div>
|
||||||
<div className="absolute inset-0 flex flex-col items-start">
|
<PanelHeader title="Logs" />
|
||||||
<button onClick={resetLogs}>reset</button>
|
<div className="h-full relative">
|
||||||
<div className=" overflow-auto h-full console-tile w-full">
|
<div className="absolute inset-0 flex flex-col items-start">
|
||||||
{logs.map((msg, index) => {
|
<button onClick={resetLogs}>reset</button>
|
||||||
return (
|
<div className=" overflow-auto h-full console-tile w-full">
|
||||||
<pre className="text-xs pl-2 text-sky-600" key={index}>
|
{logs.map((msg, index) => {
|
||||||
<code style={{ fontFamily: 'monospace' }} key={index}>
|
return (
|
||||||
<span className="text-gray-400">{'- '}</span>
|
<pre className="text-xs pl-2 text-sky-600" key={index}>
|
||||||
{String(msg)}
|
<code style={{ fontFamily: 'monospace' }} key={index}>
|
||||||
</code>
|
<span className="text-gray-400">{'- '}</span>
|
||||||
</pre>
|
{String(msg)}
|
||||||
)
|
</code>
|
||||||
})}
|
</pre>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
7
src/components/PanelHeader.tsx
Normal file
7
src/components/PanelHeader.tsx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export const PanelHeader = ({ title }: { title: string }) => {
|
||||||
|
return (
|
||||||
|
<div className="font-mono text-xs bg-stone-100 w-full pl-4 h-[30px] text-stone-700 flex items-center">
|
||||||
|
{title}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
Reference in New Issue
Block a user