1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { useContext, useEffect } from 'react';
- import { useTranslation } from 'react-i18next';
- import { useParams } from 'react-router';
- import { navContext } from '../context/Navigation';
- import { ALL_ROUTER_TYPES, NavInfo } from '../router/Types';
- export const useNavigationHook = (
- type: ALL_ROUTER_TYPES,
- extraParam?: {
- collectionName: string;
- }
- ) => {
- const { t } = useTranslation('nav');
- const { setNavInfo } = useContext(navContext);
- const { collectionId = '' } =
- useParams<{
- collectionId?: string;
- }>();
- useEffect(() => {
- switch (type) {
- case ALL_ROUTER_TYPES.OVERVIEW: {
- const navInfo: NavInfo = {
- navTitle: t('overview'),
- backPath: '',
- };
- setNavInfo(navInfo);
- break;
- }
- case ALL_ROUTER_TYPES.COLLECTIONS: {
- const navInfo: NavInfo = {
- navTitle: t('collection'),
- backPath: '',
- };
- setNavInfo(navInfo);
- break;
- }
- case ALL_ROUTER_TYPES.COLLECTION_DETAIL: {
- const navInfo: NavInfo = {
- navTitle: extraParam?.collectionName as string,
- backPath: '/collections',
- };
- setNavInfo(navInfo);
- break;
- }
- case ALL_ROUTER_TYPES.CONSOLE: {
- const navInfo: NavInfo = {
- navTitle: t('console'),
- backPath: '',
- };
- setNavInfo(navInfo);
- break;
- }
- default:
- break;
- }
- }, [type, extraParam, t, setNavInfo, collectionId]);
- };
|