feat: prepare privacy-first analytics integration

This commit is contained in:
Manuel
2026-07-21 00:44:41 +02:00
parent 552f0fa576
commit 0e97c8af1c
4 changed files with 74 additions and 43 deletions
+18
View File
@@ -57,6 +57,15 @@ const structuredDataScripts = [
? [structuredData]
: []) as Array<Record<string, unknown>>),
];
const umamiHost = Astro.site ? Astro.site.origin : 'https://mnq.elkazurrotaberna.es';
const rawUmamiUrl = Astro.url ? import.meta.env.PUBLIC_UMAMI_URL : undefined;
const umamiWebsiteId = import.meta.env.PUBLIC_UMAMI_WEBSITE_ID;
const normalizedUmamiUrl = rawUmamiUrl
? rawUmamiUrl.startsWith('http://') || rawUmamiUrl.startsWith('https://')
? rawUmamiUrl
: `https://${rawUmamiUrl}`
: undefined;
const shouldLoadUmami = Boolean(normalizedUmamiUrl && umamiWebsiteId);
---
<!doctype html>
@@ -94,6 +103,15 @@ const structuredDataScripts = [
href="https://fonts.googleapis.com/css2?family=Noto+Serif:ital@0;1&family=Inter:wght@400;500;600&display=swap"
/>
</noscript>
{shouldLoadUmami && (
<script
async
defer
src={`${normalizedUmamiUrl}/script.js`}
data-website-id={umamiWebsiteId}
data-domains={umamiHost.replace(/^https?:\/\//, '')}
></script>
)}
{
structuredDataScripts.map((schema) => (
<script is:inline type="application/ld+json" set:html={JSON.stringify(schema)} />