mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Merge pull request #24862 from overleaf/dp-check-logs
Create openTab utility in rail-context to open rail at specific tab GitOrigin-RevId: bfac2597fdd66db6dd8280873be97096f2b812dc
This commit is contained in:
@@ -11,7 +11,7 @@ function PdfErrorState() {
|
||||
// TODO ide-redesign-cleanup: rename showLogs to something else and check usages
|
||||
const { showLogs } = useCompileContext()
|
||||
const { t } = useTranslation()
|
||||
const { setSelectedTab: setSelectedRailTab } = useRailContext()
|
||||
const { openTab: openRailTab } = useRailContext()
|
||||
const newEditor = useIsNewEditorEnabled()
|
||||
|
||||
if (!newEditor || (!loadingError && !showLogs)) {
|
||||
@@ -34,7 +34,7 @@ function PdfErrorState() {
|
||||
variant="secondary"
|
||||
size="sm"
|
||||
onClick={() => {
|
||||
setSelectedRailTab('errors')
|
||||
openRailTab('errors')
|
||||
}}
|
||||
>
|
||||
{t('check_logs')}
|
||||
|
||||
@@ -79,7 +79,7 @@ export const RailLayout = () => {
|
||||
const {
|
||||
activeModal,
|
||||
selectedTab,
|
||||
setSelectedTab,
|
||||
openTab,
|
||||
isOpen,
|
||||
setIsOpen,
|
||||
panelRef,
|
||||
@@ -162,11 +162,10 @@ export const RailLayout = () => {
|
||||
return
|
||||
}
|
||||
// Change the selected tab and make sure it's open
|
||||
setSelectedTab((key ?? 'file-tree') as RailTabKey)
|
||||
setIsOpen(true)
|
||||
openTab((key ?? 'file-tree') as RailTabKey)
|
||||
}
|
||||
},
|
||||
[setSelectedTab, selectedTab, setIsOpen, togglePane, railTabs]
|
||||
[openTab, togglePane, selectedTab, railTabs]
|
||||
)
|
||||
|
||||
const isReviewPanelOpen = selectedTab === 'review-panel'
|
||||
|
||||
@@ -24,7 +24,6 @@ export type RailModalKey = 'keyboard-shortcuts' | 'contact-us' | 'dictionary'
|
||||
const RailContext = createContext<
|
||||
| {
|
||||
selectedTab: RailTabKey
|
||||
setSelectedTab: Dispatch<SetStateAction<RailTabKey>>
|
||||
isOpen: boolean
|
||||
setIsOpen: Dispatch<SetStateAction<boolean>>
|
||||
panelRef: React.RefObject<ImperativePanelHandle>
|
||||
@@ -35,6 +34,7 @@ const RailContext = createContext<
|
||||
setResizing: Dispatch<SetStateAction<boolean>>
|
||||
activeModal: RailModalKey | null
|
||||
setActiveModal: Dispatch<SetStateAction<RailModalKey | null>>
|
||||
openTab: (tab: RailTabKey) => void
|
||||
}
|
||||
| undefined
|
||||
>(undefined)
|
||||
@@ -69,10 +69,17 @@ export const RailProvider: FC = ({ children }) => {
|
||||
// since it is responsible for opening the initial document.
|
||||
const [selectedTab, setSelectedTab] = useState<RailTabKey>('file-tree')
|
||||
|
||||
const openTab = useCallback(
|
||||
(tab: RailTabKey) => {
|
||||
setSelectedTab(tab)
|
||||
setIsOpen(true)
|
||||
},
|
||||
[setIsOpen, setSelectedTab]
|
||||
)
|
||||
|
||||
const value = useMemo(
|
||||
() => ({
|
||||
selectedTab,
|
||||
setSelectedTab,
|
||||
isOpen,
|
||||
setIsOpen,
|
||||
panelRef,
|
||||
@@ -83,10 +90,10 @@ export const RailProvider: FC = ({ children }) => {
|
||||
setResizing,
|
||||
activeModal,
|
||||
setActiveModal,
|
||||
openTab,
|
||||
}),
|
||||
[
|
||||
selectedTab,
|
||||
setSelectedTab,
|
||||
isOpen,
|
||||
setIsOpen,
|
||||
panelRef,
|
||||
@@ -97,6 +104,7 @@ export const RailProvider: FC = ({ children }) => {
|
||||
setResizing,
|
||||
activeModal,
|
||||
setActiveModal,
|
||||
openTab,
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@@ -51,8 +51,7 @@ const ReviewTooltipMenu: FC = () => {
|
||||
const [show, setShow] = useState(true)
|
||||
const { setView } = useReviewPanelViewActionsContext()
|
||||
const { setReviewPanelOpen } = useLayoutContext()
|
||||
const { setIsOpen: setRailIsOpen, setSelectedTab: setSelectedRailTab } =
|
||||
useRailContext()
|
||||
const { openTab: openRailTab } = useRailContext()
|
||||
const newEditor = useIsNewEditorEnabled()
|
||||
|
||||
const tooltipState = state.field(reviewTooltipStateField, false)?.tooltip
|
||||
@@ -71,8 +70,7 @@ const ReviewTooltipMenu: FC = () => {
|
||||
}
|
||||
|
||||
if (newEditor) {
|
||||
setSelectedRailTab('review-panel')
|
||||
setRailIsOpen(true)
|
||||
openRailTab('review-panel')
|
||||
} else {
|
||||
setReviewPanelOpen(true)
|
||||
}
|
||||
@@ -87,15 +85,7 @@ const ReviewTooltipMenu: FC = () => {
|
||||
|
||||
view.dispatch({ effects })
|
||||
setShow(false)
|
||||
}, [
|
||||
setReviewPanelOpen,
|
||||
setView,
|
||||
setShow,
|
||||
view,
|
||||
setSelectedRailTab,
|
||||
setRailIsOpen,
|
||||
newEditor,
|
||||
])
|
||||
}, [setReviewPanelOpen, setView, setShow, view, openRailTab, newEditor])
|
||||
|
||||
useEventListener('add-new-review-comment', addComment)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user