latex-ub/services/web/frontend/js/features/review-panel-new/components/review-panel-header.tsx
2025-05-05 12:24:05 +00:00

41 lines
1.5 KiB
TypeScript

import { FC, memo, useState } from 'react'
import { ReviewPanelResolvedThreadsButton } from './review-panel-resolved-threads-button'
import { ReviewPanelTrackChangesMenu } from './review-panel-track-changes-menu'
import ReviewPanelTrackChangesMenuButton from './review-panel-track-changes-menu-button'
import { useLayoutContext } from '@/shared/context/layout-context'
import { useTranslation } from 'react-i18next'
import getMeta from '@/utils/meta'
import { PanelHeading } from '@/shared/components/panel-heading'
const isReviewerRoleEnabled = getMeta('ol-isReviewerRoleEnabled')
const ReviewPanelHeader: FC = () => {
const [trackChangesMenuExpanded, setTrackChangesMenuExpanded] =
useState(false)
const { setReviewPanelOpen } = useLayoutContext()
const { t } = useTranslation()
return (
<div className="review-panel-header">
<PanelHeading
title={t('review')}
handleClose={() => setReviewPanelOpen(false)}
>
{isReviewerRoleEnabled && <ReviewPanelResolvedThreadsButton />}
</PanelHeading>
{!isReviewerRoleEnabled && (
<div className="review-panel-tools">
<ReviewPanelResolvedThreadsButton />
<ReviewPanelTrackChangesMenuButton
menuExpanded={trackChangesMenuExpanded}
setMenuExpanded={setTrackChangesMenuExpanded}
/>
</div>
)}
{trackChangesMenuExpanded && <ReviewPanelTrackChangesMenu />}
</div>
)
}
export default memo(ReviewPanelHeader)