35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { useLocation } from "react-router";
|
|
import { useRootData } from "~/utils/data/useRootData";
|
|
import { isAppOrAdminSurface } from "~/utils/app/HostAwareSurface";
|
|
|
|
// EU-Sterilisation (R-P1a): Google-Analytics-Einbindung (gtag.js) entfernt. Es bleiben nur die
|
|
// datenschutzfreundlichen EU-Tracker SimpleAnalytics + Plausible, die der Admin opt-in aktiviert.
|
|
export default function ScriptAnalytics() {
|
|
const rootData = useRootData();
|
|
const location = useLocation();
|
|
if (!rootData.appConfiguration?.analytics.enabled) {
|
|
return null;
|
|
}
|
|
if (isAppOrAdminSurface(rootData, location.pathname)) {
|
|
return null;
|
|
}
|
|
return (
|
|
<>
|
|
{rootData.appConfiguration?.analytics.simpleAnalytics && (
|
|
<>
|
|
<script async defer src="https://scripts.simpleanalyticscdn.com/latest.js"></script>
|
|
<noscript>
|
|
<img src="https://queue.simpleanalyticscdn.com/noscript.gif" alt="privacy-friendly-simpleanalytics" referrerPolicy="no-referrer-when-downgrade" />
|
|
</noscript>
|
|
</>
|
|
)}
|
|
|
|
{rootData.appConfiguration?.analytics.plausibleAnalytics && (
|
|
<>
|
|
<script defer data-domain={rootData.domainName} src="https://plausible.io/js/script.js"></script>
|
|
</>
|
|
)}
|
|
</>
|
|
);
|
|
}
|