2023-02-03 11:09:09 +11:00
|
|
|
import ReactJson from 'react-json-view'
|
2022-11-27 14:06:33 +11:00
|
|
|
import { useEffect } from 'react'
|
|
|
|
import { useStore } from '../useStore'
|
2023-02-02 20:41:28 +11:00
|
|
|
import { PanelHeader } from './PanelHeader'
|
2022-11-27 14:06:33 +11:00
|
|
|
|
2023-02-03 11:09:09 +11:00
|
|
|
const ReactJsonTypeHack = ReactJson as any
|
|
|
|
|
2022-11-27 14:06:33 +11:00
|
|
|
export const Logs = () => {
|
|
|
|
const { logs, resetLogs } = useStore(({ logs, resetLogs }) => ({
|
|
|
|
logs,
|
|
|
|
resetLogs,
|
|
|
|
}))
|
|
|
|
useEffect(() => {
|
|
|
|
const element = document.querySelector('.console-tile')
|
|
|
|
if (element) {
|
|
|
|
element.scrollTop = element.scrollHeight - element.clientHeight
|
|
|
|
}
|
|
|
|
}, [logs])
|
|
|
|
return (
|
2023-02-02 20:41:28 +11:00
|
|
|
<div>
|
|
|
|
<PanelHeader title="Logs" />
|
|
|
|
<div className="h-full relative">
|
|
|
|
<div className="absolute inset-0 flex flex-col items-start">
|
2023-02-03 11:09:09 +11:00
|
|
|
<ReactJsonTypeHack
|
|
|
|
src={logs}
|
|
|
|
collapsed={1}
|
|
|
|
collapseStringsAfterLength={60}
|
|
|
|
enableClipboard={false}
|
|
|
|
displayArrayKey={false}
|
|
|
|
displayDataTypes={false}
|
|
|
|
displayObjectSize={true}
|
|
|
|
name={false}
|
|
|
|
/>
|
2022-11-27 14:06:33 +11:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|