From abfc8de91c9b3a8ff2c448f715caf7ecb48a3d7d Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Thu, 4 Jun 2026 13:21:01 +0100 Subject: [PATCH] feat(legal): cookie banner + Ukrainian law references in legal pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CookieBanner: bottom-fixed, stores consent in localStorage, links to privacy policy, green brand colors - Privacy policy + Data processing: replace GDPR as primary reference with ЗУ «Про захист персональних даних» № 2297-VI, correct article references (ст. 6, 8, 16, 24 Закону), supervisory authority: Уповноважений ВРУ з прав людини Co-Authored-By: Claude Sonnet 4.6 --- src/app/(frontend)/layout.tsx | 2 + src/components/ui/CookieBanner.tsx | 63 ++++++++++++++++++++++++++++++ src/lib/legalDefaults.ts | 60 ++++++++++++++++------------ 3 files changed, 100 insertions(+), 25 deletions(-) create mode 100644 src/components/ui/CookieBanner.tsx diff --git a/src/app/(frontend)/layout.tsx b/src/app/(frontend)/layout.tsx index 7058279..cccf763 100644 --- a/src/app/(frontend)/layout.tsx +++ b/src/app/(frontend)/layout.tsx @@ -4,6 +4,7 @@ import { Montserrat, Inter, Poppins } from 'next/font/google' import '@/app/globals.css' import { Header } from '@/components/layout/Header' import { Footer } from '@/components/layout/Footer' +import { CookieBanner } from '@/components/ui/CookieBanner' import { GoogleAnalytics } from '@/components/analytics/GoogleAnalytics' import { BinotelWidget } from '@/components/analytics/BinotelWidget' import { getSiteSettings } from '@/lib/getSiteSettings' @@ -56,6 +57,7 @@ export default async function FrontendLayout({ children }: { children: React.Rea
{children}