spacedrive/interface/RoutingContext.tsx
Brendan Allan 0ef65fce2d
[ENG-1423] Multiple tabs (#1777)
* tabs w/ multiple router instances

* fix router switching

* keybinds

* manual history tracking

* eslint

* remove scroll restoration

* fix tab removal

* route title + tab create delay

* typescript

* put tab list up top

* Remove import + show close button only if tabs length more than 1

* lint

* unify blur across whole top bar

* add to keybindings page, tauri drag region, and tooltip

* fix blur

* more drag regions

* merge moment

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-11-16 15:14:47 +00:00

15 lines
349 B
TypeScript

import { createContext, useContext } from 'react';
export const RoutingContext = createContext<{
currentIndex: number;
maxIndex: number;
} | null>(null);
export function useRoutingContext() {
const ctx = useContext(RoutingContext);
if (!ctx) throw new Error('useRoutingContext must be used within a RoutingContext.Provider');
return ctx;
}