import { FC, memo, useState } from 'react' import { useCodeMirrorStateContext, useCodeMirrorViewContext, } from '@/features/source-editor/components/codemirror-editor' import ReviewPanelTabs from './review-panel-tabs' import ReviewPanelHeader from './review-panel-header' import ReviewPanelCurrentFile from './review-panel-current-file' import { ReviewPanelOverview } from './review-panel-overview' import classnames from 'classnames' export type SubView = 'cur_file' | 'overview' export const PANEL_WIDTH = 230 export const PANEL_MINI_WIDTH = 20 const ReviewPanel: FC<{ mini: boolean }> = ({ mini }) => { const view = useCodeMirrorViewContext() // eslint-disable-next-line no-unused-vars const _state = useCodeMirrorStateContext() // needs to update on editor state changes const [subView, setSubView] = useState('cur_file') const contentRect = view.contentDOM.getBoundingClientRect() const scrollRect = view.scrollDOM.getBoundingClientRect() return (
{!mini && ( )} {subView === 'cur_file' && } {subView === 'overview' && }
) } export default memo(ReviewPanel)