Skip to content

Commit 9d02335

Browse files
committed
feat: add Iubenda Cookie Consent and Plausible Analytics scripts for compliance and tracking
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
1 parent 0639cc9 commit 9d02335

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

src/app/[locale]/layout.tsx

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,75 @@ export default async function LocaleLayout({
8383
<Footer locale={locale} />
8484
</div>
8585
<Script src="https://code.iconify.design/2/2.2.1/iconify.min.js" strategy="afterInteractive" />
86+
87+
{/* Iubenda Cookie Consent */}
88+
<Script
89+
id="iubenda-cookie-config"
90+
strategy="afterInteractive"
91+
dangerouslySetInnerHTML={{
92+
__html: `
93+
var _iub = _iub || [];
94+
var iubendaLang = "${locale === 'de' ? 'de' : 'en'}";
95+
_iub.csConfiguration = {
96+
"askConsentAtCookiePolicyUpdate": true,
97+
"countryDetection": true,
98+
"enableFadp": true,
99+
"enableLgpd": true,
100+
"enableUspr": true,
101+
"lang": iubendaLang,
102+
"lgpdAppliesGlobally": false,
103+
"perPurposeConsent": true,
104+
"siteId": 2724482,
105+
"whitelabel": false,
106+
"cookiePolicyId": 15787680,
107+
"banner": {
108+
"acceptButtonColor": "#5CBA9E",
109+
"acceptButtonDisplay": true,
110+
"backgroundColor": "#020147",
111+
"closeButtonDisplay": false,
112+
"customizeButtonColor": "#15649F",
113+
"customizeButtonDisplay": true,
114+
"explicitWithdrawalDisplay": true,
115+
"listPurposes": true,
116+
"logo": null,
117+
"position": "bottom",
118+
"prependOnBody": true,
119+
"rejectButtonColor": "#15649F",
120+
"rejectButtonDisplay": true,
121+
"showPurposesToggles": true
122+
}
123+
};
124+
`,
125+
}}
126+
/>
127+
<Script
128+
src="//cdn.iubenda.com/cs/gpp/stub.js"
129+
strategy="afterInteractive"
130+
/>
131+
<Script
132+
src="//cdn.iubenda.com/cs/iubenda_cs.js"
133+
charSet="UTF-8"
134+
async
135+
strategy="afterInteractive"
136+
/>
137+
138+
{/* Plausible Analytics */}
139+
<Script
140+
async
141+
src="https://plausible.io/js/pa-2UglNOjTjMgrvAyDUEo5D.js"
142+
strategy="afterInteractive"
143+
/>
144+
<Script
145+
id="plausible-init"
146+
strategy="afterInteractive"
147+
dangerouslySetInnerHTML={{
148+
__html: `
149+
window.plausible = window.plausible || function() { (plausible.q = plausible.q || []).push(arguments) };
150+
plausible.init = plausible.init || function(i) { plausible.o = i || {} };
151+
plausible.init();
152+
`,
153+
}}
154+
/>
86155
</NextIntlClientProvider>
87156
</body>
88157
</html>

0 commit comments

Comments
 (0)