next-yandex-metrica
Version:
Yandex Metrica integration for Next.js
28 lines • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useTrackRouteChange = void 0;
const navigation_1 = require("next/navigation");
const router_1 = require("next/router");
const react_1 = require("react");
const ym_1 = require("../lib/ym");
const useTrackRouteChange = ({ tagID, router, }) => {
const pathname = (0, navigation_1.usePathname)();
(0, react_1.useEffect)(() => {
if (router === 'app')
return;
const handleRouteChange = (url) => {
(0, ym_1.ym)(tagID, 'hit', url.toString());
};
router_1.Router.events.on('routeChangeComplete', handleRouteChange);
return () => {
router_1.Router.events.off('routeChangeComplete', handleRouteChange);
};
}, [tagID, router]);
(0, react_1.useEffect)(() => {
if (router === 'pages')
return;
(0, ym_1.ym)(tagID, 'hit', pathname);
}, [tagID, router, pathname]);
};
exports.useTrackRouteChange = useTrackRouteChange;
//# sourceMappingURL=useTrackRouteChange.js.map