typescript-typenfehler behoben.. npm run lint läuft nun fehlerfrei durch.
This commit is contained in:
@@ -10,7 +10,9 @@ export type MatomoConfig = {
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
_paq?: any[];
|
||||
_paq?: Array<[string, ...unknown[]]>;
|
||||
__matomoInitialized?: boolean;
|
||||
__CSP_NONCE?: string;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +21,7 @@ interface MatomoTrackerProps {
|
||||
}
|
||||
|
||||
const MatomoTracker: React.FC<MatomoTrackerProps> = ({ config }) => {
|
||||
const page = usePage();
|
||||
const page = usePage<{ security?: { csp?: { scriptNonce?: string } } }>();
|
||||
const { hasConsent } = useConsent();
|
||||
const scriptNonce = (page.props.security as { csp?: { scriptNonce?: string } } | undefined)?.csp?.scriptNonce;
|
||||
const analyticsConsent = hasConsent('analytics');
|
||||
@@ -38,14 +40,14 @@ const MatomoTracker: React.FC<MatomoTrackerProps> = ({ config }) => {
|
||||
if (window._paq) {
|
||||
window._paq.length = 0;
|
||||
}
|
||||
delete (window as any).__matomoInitialized;
|
||||
delete window.__matomoInitialized;
|
||||
return;
|
||||
}
|
||||
|
||||
window._paq = window._paq || [];
|
||||
const { _paq } = window;
|
||||
|
||||
if (!(window as any).__matomoInitialized) {
|
||||
if (!window.__matomoInitialized) {
|
||||
_paq.push(['setTrackerUrl', `${base}/matomo.php`]);
|
||||
_paq.push(['setSiteId', config.siteId]);
|
||||
_paq.push(['disableCookies']);
|
||||
@@ -58,8 +60,8 @@ const MatomoTracker: React.FC<MatomoTrackerProps> = ({ config }) => {
|
||||
script.dataset.matomo = base;
|
||||
if (scriptNonce) {
|
||||
script.setAttribute('nonce', scriptNonce);
|
||||
} else if (typeof window !== 'undefined' && (window as any).__CSP_NONCE) {
|
||||
script.setAttribute('nonce', (window as any).__CSP_NONCE);
|
||||
} else if (typeof window !== 'undefined' && window.__CSP_NONCE) {
|
||||
script.setAttribute('nonce', window.__CSP_NONCE);
|
||||
} else {
|
||||
const metaNonce = document
|
||||
.querySelector('meta[name="csp-nonce"]')
|
||||
@@ -72,9 +74,9 @@ const MatomoTracker: React.FC<MatomoTrackerProps> = ({ config }) => {
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
|
||||
(window as any).__matomoInitialized = true;
|
||||
window.__matomoInitialized = true;
|
||||
}
|
||||
}, [config, analyticsConsent]);
|
||||
}, [config, analyticsConsent, scriptNonce]);
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user