Files
hudozka/src/components/YMetrika.tsx
T
tmshv 8c57976663 Ymetrika update (#245)
* update claude with message about components

* yandex metrika to ts

* rm env

* add .env example

* use account from env

* add tests
2026-02-08 03:29:28 +07:00

37 lines
1.2 KiB
TypeScript

export type YMetrikaProps = {
account: number
}
export function script(account: number) {
return `
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter${account} = new Ya.Metrika({
id:${account},
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
`
}
export function YMetrika({ account }: YMetrikaProps) {
return <script dangerouslySetInnerHTML={{ __html: script(account) }} />
}