Просмотр исходного кода

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

Store selected rail tab on a per-project basis

GitOrigin-RevId: 4770b047bb02c2b63dcf8bc0808bdd675d38c7a2
David 11 месяцев назад
Родитель
Сommit
dd1f55e0dd
1 измененных файлов с 7 добавлено и 2 удалено
  1. 7 2
      services/web/frontend/js/features/ide-redesign/contexts/rail-context.tsx

+ 7 - 2
services/web/frontend/js/features/ide-redesign/contexts/rail-context.tsx

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