|
|
@@ -6,12 +6,15 @@ import { useRouter } from 'next/router';
|
|
|
import { Element } from 'react-markdown/lib/rehype-filter';
|
|
|
|
|
|
import { useIsGuestUser, useIsSharedUser, useShareLinkId } from '~/stores/context';
|
|
|
+import loggerFactory from '~/utils/logger';
|
|
|
|
|
|
import { NextLink } from './NextLink';
|
|
|
|
|
|
import styles from './Header.module.scss';
|
|
|
|
|
|
|
|
|
+const logger = loggerFactory('growi:components:Header');
|
|
|
+
|
|
|
declare global {
|
|
|
// eslint-disable-next-line vars-on-top, no-var
|
|
|
var globalEmitter: EventEmitter;
|
|
|
@@ -67,8 +70,14 @@ export const Header = (props: HeaderProps): JSX.Element => {
|
|
|
const CustomTag = `h${level}` as keyof JSX.IntrinsicElements;
|
|
|
|
|
|
const activateByHash = useCallback((url: string) => {
|
|
|
- const hash = (new URL(url, 'https://example.com')).hash.slice(1);
|
|
|
- setActive(hash === id);
|
|
|
+ try {
|
|
|
+ const hash = (new URL(url, 'https://example.com')).hash.slice(1);
|
|
|
+ setActive(hash === id);
|
|
|
+ }
|
|
|
+ catch (err) {
|
|
|
+ logger.debug(err);
|
|
|
+ setActive(false);
|
|
|
+ }
|
|
|
}, [id]);
|
|
|
|
|
|
// init
|