Skip to content

Commit ac0981e

Browse files
committed
Updates based on code review
1 parent 90d95b5 commit ac0981e

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/components/HallAnalytics.astro

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ const HALL_API_KEY = import.meta.env.HALL_API_KEY;
2828
'Referer': document.referrer,
2929
'Accept-Language': navigator.language,
3030
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
31-
'Sec-Ch-Ua': navigator.userAgent.includes('Chrome') ? '"Not_A Brand";v="8", "Chromium";v="120"' : '',
32-
'Sec-Ch-Ua-Mobile': /Mobile|Android|iPhone|iPad/.test(navigator.userAgent) ? '?1' : '?0',
33-
'Sec-Ch-Ua-Platform': `"${navigator.platform}"`
31+
...(navigator.userAgentData ? {
32+
'Sec-Ch-Ua-Mobile': navigator.userAgentData.mobile ? '?1' : '?0',
33+
'Sec-Ch-Ua-Platform': `"${navigator.userAgentData.platform}"`
34+
} : {})
3435
};
3536

3637
const analyticsData = {
@@ -67,6 +68,9 @@ const HALL_API_KEY = import.meta.env.HALL_API_KEY;
6768
trackPageView();
6869
}
6970

71+
// Store observers for potential cleanup
72+
const observers = [];
73+
7074
// Also track when body becomes available (fallback)
7175
if (!document.body) {
7276
const bodyObserver = new MutationObserver(() => {
@@ -75,6 +79,7 @@ const HALL_API_KEY = import.meta.env.HALL_API_KEY;
7579
trackPageView();
7680
}
7781
});
82+
observers.push(bodyObserver);
7883
bodyObserver.observe(document.documentElement, {
7984
childList: true,
8085
subtree: true
@@ -90,12 +95,18 @@ const HALL_API_KEY = import.meta.env.HALL_API_KEY;
9095
setTimeout(trackPageView, 100); // Small delay to ensure new page is loaded
9196
}
9297
});
98+
observers.push(observer);
9399

94100
observer.observe(document.body, {
95101
childList: true,
96102
subtree: true
97103
});
98104
}
105+
106+
// Cleanup on page unload
107+
window.addEventListener('beforeunload', () => {
108+
observers.forEach(observer => observer.disconnect());
109+
});
99110

100111
})();
101112
</script>

0 commit comments

Comments
 (0)