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

@@ -10,6 +10,10 @@ const LoginPage = React.lazy(() => import('../pages/public/LoginPage'));
const RegisterPage = React.lazy(() => import('../pages/public/RegisterPage'));
const DemoPage = React.lazy(() => import('../pages/public/DemoPage'));
const DemoSetupPage = React.lazy(() => import('../pages/public/DemoSetupPage'));
const PrivacyPolicyPage = React.lazy(() => import('../pages/public/PrivacyPolicyPage'));
const TermsOfServicePage = React.lazy(() => import('../pages/public/TermsOfServicePage'));
const CookiePolicyPage = React.lazy(() => import('../pages/public/CookiePolicyPage'));
const CookiePreferencesPage = React.lazy(() => import('../pages/public/CookiePreferencesPage'));
const DashboardPage = React.lazy(() => import('../pages/app/DashboardPage'));
// Operations pages
@@ -36,6 +40,7 @@ const PerformanceAnalyticsPage = React.lazy(() => import('../pages/app/analytics
const PersonalInfoPage = React.lazy(() => import('../pages/app/settings/personal-info/PersonalInfoPage'));
const CommunicationPreferencesPage = React.lazy(() => import('../pages/app/settings/communication-preferences/CommunicationPreferencesPage'));
const SubscriptionPage = React.lazy(() => import('../pages/app/settings/subscription/SubscriptionPage'));
const PrivacySettingsPage = React.lazy(() => import('../pages/app/settings/privacy/PrivacySettingsPage'));
const InformationPage = React.lazy(() => import('../pages/app/database/information/InformationPage'));
const TeamPage = React.lazy(() => import('../pages/app/settings/team/TeamPage'));
const OrganizationsPage = React.lazy(() => import('../pages/app/settings/organizations/OrganizationsPage'));
@@ -63,6 +68,12 @@ export const AppRouter: React.FC = () => {
<Route path="/register" element={<RegisterPage />} />
<Route path="/demo" element={<DemoPage />} />
<Route path="/demo/setup" element={<DemoSetupPage />} />
{/* Legal & Privacy Routes - Public */}
<Route path="/privacy" element={<PrivacyPolicyPage />} />
<Route path="/terms" element={<TermsOfServicePage />} />
<Route path="/cookies" element={<CookiePolicyPage />} />
<Route path="/cookie-preferences" element={<CookiePreferencesPage />} />
{/* Protected Routes with AppShell Layout */}
<Route
@@ -334,6 +345,16 @@ export const AppRouter: React.FC = () => {
</ProtectedRoute>
}
/>
<Route
path="/app/settings/privacy"
element={
<ProtectedRoute>
<AppShell>
<PrivacySettingsPage />
</AppShell>
</ProtectedRoute>
}
/>
{/* Data Routes */}
<Route

View File

@@ -133,6 +133,7 @@ export const ROUTES = {
SETTINGS_COMMUNICATION: '/app/settings/communication-preferences',
SETTINGS_SUBSCRIPTION: '/app/settings/subscription',
SETTINGS_ORGANIZATIONS: '/app/settings/organizations',
SETTINGS_PRIVACY: '/app/settings/privacy',
SETTINGS_TENANT: '/settings/tenant',
SETTINGS_USERS: '/settings/users',
SETTINGS_PERMISSIONS: '/settings/permissions',
@@ -141,6 +142,12 @@ export const ROUTES = {
SETTINGS_BAKERY_CONFIG: '/app/database/information',
SETTINGS_TEAM: '/app/database/team',
QUALITY_TEMPLATES: '/app/database/quality-templates',
// Legal & Privacy Pages
PRIVACY_POLICY: '/privacy',
TERMS_OF_SERVICE: '/terms',
COOKIE_POLICY: '/cookies',
COOKIE_PREFERENCES: '/cookie-preferences',
// Reports
REPORTS: '/reports',
@@ -520,6 +527,16 @@ export const routesConfig: RouteConfig[] = [
showInNavigation: true,
showInBreadcrumbs: true,
},
{
path: '/app/settings/privacy',
name: 'Privacy',
component: 'PrivacySettingsPage',
title: 'Privacidad',
icon: 'settings',
requiresAuth: true,
showInNavigation: true,
showInBreadcrumbs: true,
},
],
},