Improve GDPR implementation

This commit is contained in:
Urtzi Alfaro
2025-10-16 07:28:04 +02:00
parent dbb48d8e2c
commit b6cb800758
37 changed files with 4876 additions and 307 deletions

View File

@@ -1,7 +1,7 @@
import { Suspense } from 'react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { BrowserRouter } from 'react-router-dom';
import { BrowserRouter, useNavigate } from 'react-router-dom';
import { I18nextProvider } from 'react-i18next';
import { Toaster } from 'react-hot-toast';
import { ErrorBoundary } from './components/layout/ErrorBoundary';
@@ -11,6 +11,7 @@ import { ThemeProvider } from './contexts/ThemeContext';
import { AuthProvider } from './contexts/AuthContext';
import { SSEProvider } from './contexts/SSEContext';
import GlobalSubscriptionHandler from './components/auth/GlobalSubscriptionHandler';
import { CookieBanner } from './components/ui/CookieConsent';
import i18n from './i18n';
const queryClient = new QueryClient({
@@ -24,6 +25,30 @@ const queryClient = new QueryClient({
},
});
function AppContent() {
const navigate = useNavigate();
return (
<>
<Suspense fallback={<LoadingSpinner overlay />}>
<AppRouter />
<GlobalSubscriptionHandler />
<CookieBanner onPreferencesClick={() => navigate('/cookie-preferences')} />
<Toaster
position="top-right"
toastOptions={{
duration: 4000,
style: {
background: '#363636',
color: '#fff',
},
}}
/>
</Suspense>
</>
);
}
function App() {
return (
<ErrorBoundary>
@@ -37,22 +62,9 @@ function App() {
>
<ThemeProvider>
<AuthProvider>
<SSEProvider>
<Suspense fallback={<LoadingSpinner overlay />}>
<AppRouter />
<GlobalSubscriptionHandler />
<Toaster
position="top-right"
toastOptions={{
duration: 4000,
style: {
background: '#363636',
color: '#fff',
},
}}
/>
</Suspense>
</SSEProvider>
<SSEProvider>
<AppContent />
</SSEProvider>
</AuthProvider>
</ThemeProvider>
</BrowserRouter>