Merge pull request #29215 from overleaf/dp-rail-tab-storage

Store selected rail tab on a per-project basis

GitOrigin-RevId: 4770b047bb02c2b63dcf8bc0808bdd675d38c7a2
This commit is contained in:
David
2025-10-29 09:39:28 +00:00
committed by Copybot
parent 18fc51bfa4
commit dd1f55e0dd

View File

@@ -1,4 +1,5 @@
import { sendSearchEvent } from '@/features/event-tracking/search-events'
import { useProjectContext } from '@/shared/context/project-context'
import useEventListener from '@/shared/hooks/use-event-listener'
import usePersistedState from '@/shared/hooks/use-persisted-state'
import { isMac } from '@/shared/utils/os'
@@ -45,7 +46,11 @@ const RailContext = createContext<
>(undefined)
export const RailProvider: FC<React.PropsWithChildren> = ({ children }) => {
const [isOpen, setIsOpen] = usePersistedState('rail-is-open', true)
const { projectId } = useProjectContext()
const [isOpen, setIsOpen] = usePersistedState(
`rail-is-open-${projectId}`,
true
)
const [resizing, setResizing] = useState(false)
const [activeModal, setActiveModalInternal] = useState<RailModalKey | null>(
null
@@ -70,7 +75,7 @@ export const RailProvider: FC<React.PropsWithChildren> = ({ children }) => {
}, [setIsOpen])
const [selectedTab, setSelectedTab] = usePersistedState<RailTabKey>(
'selected-rail-tab',
`selected-rail-tab-${projectId}`,
'file-tree'
)