From b322ef9759ae0dfa49b08dcab34cb457438cb10f Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Mon, 28 Jul 2025 18:27:19 +0200 Subject: [PATCH 1/2] style: :chart_with_upwards_trend: move constants to the top --- src/components/analytics-banner.webc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/components/analytics-banner.webc b/src/components/analytics-banner.webc index fc740fe..f1b31d0 100644 --- a/src/components/analytics-banner.webc +++ b/src/components/analytics-banner.webc @@ -6,6 +6,10 @@ const noBtn = ackeeBanner.querySelector('.negative'); const confirmKey = 'ackeeDetailed'; + const ackeeServer = 'https://ackee.sebin-nyshkim.net'; + const ackeeDomainId = 'e60cc3de-916c-424c-ac6e-2fd43d41e240'; + const ackeeOpts = { detailed: true }; + yesBtn.addEventListener('click', () => localStorage.setItem(confirmKey, true)); noBtn.addEventListener('click', () => localStorage.setItem(confirmKey, false)); @@ -13,12 +17,6 @@ ackeeBanner.show(); } - const ackeeServer = 'https://ackee.sebin-nyshkim.net'; - const ackeeDomainId = 'e60cc3de-916c-424c-ac6e-2fd43d41e240'; - const ackeeOpts = { - detailed: localStorage.getItem(confirmKey) === 'true' - }; - if (localStorage.getItem(confirmKey) === 'true') { const instance = ackeeTracker.create(ackeeServer, ackeeOpts); instance.record(ackeeDomainId); From 89b004c262903c1bd9f37fafa6f70cfb0c5b3793 Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Mon, 28 Jul 2025 18:31:52 +0200 Subject: [PATCH 2/2] fix: :chart_with_upwards_trend: record analytics when visitors agree instead of next page load Only recording at next page load loses the referrer where a visit originated from --- src/components/analytics-banner.webc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/components/analytics-banner.webc b/src/components/analytics-banner.webc index f1b31d0..bff7950 100644 --- a/src/components/analytics-banner.webc +++ b/src/components/analytics-banner.webc @@ -10,7 +10,15 @@ const ackeeDomainId = 'e60cc3de-916c-424c-ac6e-2fd43d41e240'; const ackeeOpts = { detailed: true }; - yesBtn.addEventListener('click', () => localStorage.setItem(confirmKey, true)); + const record = (server, domainId, options) => { + const instance = ackeeTracker.create(server, options); + instance.record(domainId); + }; + + yesBtn.addEventListener('click', () => { + localStorage.setItem(confirmKey, true); + record(ackeeServer, ackeeDomainId, ackeeOpts); + }); noBtn.addEventListener('click', () => localStorage.setItem(confirmKey, false)); if (localStorage.getItem(confirmKey) === null) { @@ -18,8 +26,7 @@ } if (localStorage.getItem(confirmKey) === 'true') { - const instance = ackeeTracker.create(ackeeServer, ackeeOpts); - instance.record(ackeeDomainId); + record(ackeeServer, ackeeDomainId, ackeeOpts); }