|
@@ -24,7 +24,6 @@ export type RailModalKey = 'keyboard-shortcuts' | 'contact-us' | 'dictionary'
|
|
|
const RailContext = createContext<
|
|
const RailContext = createContext<
|
|
|
| {
|
|
| {
|
|
|
selectedTab: RailTabKey
|
|
selectedTab: RailTabKey
|
|
|
- setSelectedTab: Dispatch<SetStateAction<RailTabKey>>
|
|
|
|
|
isOpen: boolean
|
|
isOpen: boolean
|
|
|
setIsOpen: Dispatch<SetStateAction<boolean>>
|
|
setIsOpen: Dispatch<SetStateAction<boolean>>
|
|
|
panelRef: React.RefObject<ImperativePanelHandle>
|
|
panelRef: React.RefObject<ImperativePanelHandle>
|
|
@@ -35,6 +34,7 @@ const RailContext = createContext<
|
|
|
setResizing: Dispatch<SetStateAction<boolean>>
|
|
setResizing: Dispatch<SetStateAction<boolean>>
|
|
|
activeModal: RailModalKey | null
|
|
activeModal: RailModalKey | null
|
|
|
setActiveModal: Dispatch<SetStateAction<RailModalKey | null>>
|
|
setActiveModal: Dispatch<SetStateAction<RailModalKey | null>>
|
|
|
|
|
+ openTab: (tab: RailTabKey) => void
|
|
|
}
|
|
}
|
|
|
| undefined
|
|
| undefined
|
|
|
>(undefined)
|
|
>(undefined)
|
|
@@ -69,10 +69,17 @@ export const RailProvider: FC = ({ children }) => {
|
|
|
// since it is responsible for opening the initial document.
|
|
// since it is responsible for opening the initial document.
|
|
|
const [selectedTab, setSelectedTab] = useState<RailTabKey>('file-tree')
|
|
const [selectedTab, setSelectedTab] = useState<RailTabKey>('file-tree')
|
|
|
|
|
|
|
|
|
|
+ const openTab = useCallback(
|
|
|
|
|
+ (tab: RailTabKey) => {
|
|
|
|
|
+ setSelectedTab(tab)
|
|
|
|
|
+ setIsOpen(true)
|
|
|
|
|
+ },
|
|
|
|
|
+ [setIsOpen, setSelectedTab]
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
const value = useMemo(
|
|
const value = useMemo(
|
|
|
() => ({
|
|
() => ({
|
|
|
selectedTab,
|
|
selectedTab,
|
|
|
- setSelectedTab,
|
|
|
|
|
isOpen,
|
|
isOpen,
|
|
|
setIsOpen,
|
|
setIsOpen,
|
|
|
panelRef,
|
|
panelRef,
|
|
@@ -83,10 +90,10 @@ export const RailProvider: FC = ({ children }) => {
|
|
|
setResizing,
|
|
setResizing,
|
|
|
activeModal,
|
|
activeModal,
|
|
|
setActiveModal,
|
|
setActiveModal,
|
|
|
|
|
+ openTab,
|
|
|
}),
|
|
}),
|
|
|
[
|
|
[
|
|
|
selectedTab,
|
|
selectedTab,
|
|
|
- setSelectedTab,
|
|
|
|
|
isOpen,
|
|
isOpen,
|
|
|
setIsOpen,
|
|
setIsOpen,
|
|
|
panelRef,
|
|
panelRef,
|
|
@@ -97,6 +104,7 @@ export const RailProvider: FC = ({ children }) => {
|
|
|
setResizing,
|
|
setResizing,
|
|
|
activeModal,
|
|
activeModal,
|
|
|
setActiveModal,
|
|
setActiveModal,
|
|
|
|
|
+ openTab,
|
|
|
]
|
|
]
|
|
|
)
|
|
)
|
|
|
|
|
|