Navigation.tsx 724 B

123456789101112131415161718192021222324252627
  1. import { createContext, useState } from 'react';
  2. import { useTranslation } from 'react-i18next';
  3. import { NavInfo } from '../router/Types';
  4. import { NavContextType } from './Types';
  5. export const navContext = createContext<NavContextType>({
  6. navInfo: {
  7. navTitle: '',
  8. backPath: '',
  9. showDatabaseSelector: false,
  10. },
  11. setNavInfo: () => {},
  12. });
  13. const { Provider } = navContext;
  14. export const NavProvider = (props: { children: React.ReactNode }) => {
  15. const { t } = useTranslation('nav');
  16. const [navInfo, setNavInfo] = useState<NavInfo>({
  17. navTitle: t('overview'),
  18. backPath: '',
  19. showDatabaseSelector: false,
  20. });
  21. return <Provider value={{ navInfo, setNavInfo }}>{props.children}</Provider>;
  22. };