diff --git a/src/App.jsx b/src/App.jsx
index c92a8a0..a47c09a 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -46,6 +46,7 @@ import DosageCalculator from './pages/DosageCalculator';
import HealthMetrics from './pages/HealthMetrics';
import Footer from './components/Footer';
import NotFound from './pages/NotFound';
+import CookieConsent from './components/CookieConsent';
// Navigation targets. Labels are resolved at render time via i18n keys
@@ -354,6 +355,7 @@ function App() {
+
);
}
diff --git a/src/components/CookieConsent.jsx b/src/components/CookieConsent.jsx
new file mode 100644
index 0000000..6950ee7
--- /dev/null
+++ b/src/components/CookieConsent.jsx
@@ -0,0 +1,48 @@
+import React, { useState, useEffect } from 'react';
+import { Box, Typography, Button, Slide } from '@mui/material';
+
+export default function CookieConsent() {
+ const [open, setOpen] = useState(false);
+
+ useEffect(() => {
+ const consent = localStorage.getItem('gdpr_consent');
+ if (!consent) {
+ setOpen(true);
+ }
+ }, []);
+
+ const handleAccept = () => {
+ localStorage.setItem('gdpr_consent', 'true');
+ setOpen(false);
+ };
+
+ return (
+
+
+
+ GDPR Notice: We use cookies and similar technologies to enhance your experience, monitor our performance, and improve our services. By clicking "Accept", you agree to our use of cookies and data processing per GDPR regulations.
+
+
+
+
+ );
+}
diff --git a/src/pages/Profile.jsx b/src/pages/Profile.jsx
index 0581da5..a2ad01e 100644
--- a/src/pages/Profile.jsx
+++ b/src/pages/Profile.jsx
@@ -217,9 +217,12 @@ function Profile() {
{t('profile:memberSince', { date: user.loggedInAt ? new Date(user.loggedInAt).toLocaleDateString() : t('profile:notAvailable') })}
-