phanpy/src/utils/useTitle.js

16 lines
516 B
JavaScript
Raw Normal View History

2022-12-10 09:14:48 +00:00
import { useEffect } from 'preact/hooks';
import { matchPath } from 'react-router-dom';
import { useSnapshot } from 'valtio';
import states from './states';
2022-12-10 09:14:48 +00:00
const { VITE_CLIENT_NAME: CLIENT_NAME } = import.meta.env;
export default function useTitle(title, path) {
const snapStates = useSnapshot(states);
2022-12-10 09:14:48 +00:00
useEffect(() => {
if (path && !matchPath(path, snapStates.currentLocation)) return;
document.title = title ? `${title} / ${CLIENT_NAME}` : CLIENT_NAME;
}, [title, snapStates.currentLocation]);
2022-12-16 05:27:04 +00:00
}