|
import React from "react"; |
|
import dynamic from "next/dynamic"; |
|
import { useAppDispatch, useAppSelector } from "../../store/hook"; |
|
import { clear_logs } from "../../store/features/editorSlice"; |
|
|
|
import { theme_state } from "../../store/features/themeSlice"; |
|
|
|
const Console = dynamic(import("console-feed/lib/Component"), { ssr: false }); |
|
|
|
interface LogsProps { |
|
logs: any; |
|
} |
|
|
|
const Logs = ({ logs }: LogsProps) => { |
|
const { theme } = useAppSelector(theme_state); |
|
const dispatch = useAppDispatch(); |
|
|
|
return ( |
|
<div className="text-gray-300 relative h-full"> |
|
<div className="flex items-center justify-between px-3 h-9"> |
|
<button |
|
onClick={() => dispatch(clear_logs())} |
|
className="editor-button h-5 mr-3" |
|
> |
|
Clear |
|
</button> |
|
</div> |
|
|
|
<div className="h-80 overflow-auto"> |
|
<Console |
|
styles={{ |
|
BASE_FONT_FAMILY: '"Rubik", sans-serif;', |
|
BASE_FONT_SIZE: 14, |
|
BASE_BACKGROUND_COLOR: theme.background, |
|
LOG_BORDER: theme.border, |
|
}} |
|
logs={logs} |
|
variant="dark" |
|
/> |
|
</div> |
|
</div> |
|
); |
|
}; |
|
|
|
const ConsoleLog = React.memo(Logs); |
|
|
|
export default ConsoleLog; |
|
|