diff --git a/frontend/src/pages/Settings.tsx b/frontend/src/pages/Settings.tsx
index f95b5cd..eedccae 100644
--- a/frontend/src/pages/Settings.tsx
+++ b/frontend/src/pages/Settings.tsx
@@ -19,10 +19,8 @@ export function SettingsPage() {
{ to: '/settings/user-management', label: 'Nutzerverwaltung', icon: '\ud83d\udc65' },
{ to: '/settings/system', label: 'System', icon: '\u2699\ufe0f' },
{ to: '/settings/mail', label: t('mail.settings'), icon: '\ud83d\udce7' },
- { to: '/settings/ai', label: t('nav.aiAssistant'), icon: '\ud83e\udde0' },
- { to: '/settings/ai-proactive', label: 'Proaktive KI', icon: '\ud83e\udd16' },
+ { to: '/settings/ai-settings', label: 'KI Einstellungen', icon: '\ud83e\udde0' },
{ to: '/settings/notifications', label: t('settings.notifications'), icon: '\ud83d\udd14' },
- { to: '/settings/mcp', label: t('settings.mcp', 'MCP'), icon: '\ud83d\udd27' },
];
const existingPaths = new Set(hardcodedNavItems.map(item => item.to));
diff --git a/frontend/src/pages/SettingsAI.tsx b/frontend/src/pages/SettingsAI.tsx
new file mode 100644
index 0000000..7449f25
--- /dev/null
+++ b/frontend/src/pages/SettingsAI.tsx
@@ -0,0 +1,46 @@
+import React, { useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { AISettingsPage } from './AISettings';
+import { ProactiveAISettings } from './ProactiveAISettings';
+import { SettingsMcpPage } from './SettingsMcp';
+
+export function SettingsAIPage() {
+ const { t } = useTranslation();
+ const [activeTab, setActiveTab] = useState<'assistant' | 'proactive' | 'mcp'>('assistant');
+
+ const tabs = [
+ { key: 'assistant' as const, label: t('nav.aiAssistant', 'KI Assistent') },
+ { key: 'proactive' as const, label: t('settings.aiProactive', 'Proaktive KI') },
+ { key: 'mcp' as const, label: t('settings.mcp', 'MCP') },
+ ];
+
+ return (
+
+
{t('settings.aiTitle', 'KI Einstellungen')}
+
+
+
+
+ {activeTab === 'assistant' &&
}
+ {activeTab === 'proactive' &&
}
+ {activeTab === 'mcp' &&
}
+
+
+ );
+}
diff --git a/frontend/src/routes/index.tsx b/frontend/src/routes/index.tsx
index 7a5838c..3306010 100644
--- a/frontend/src/routes/index.tsx
+++ b/frontend/src/routes/index.tsx
@@ -36,6 +36,7 @@ const AISettingsPage = React.lazy(() => import('@/pages/AISettings').then(m => (
const ProactiveAISettings = React.lazy(() => import('@/pages/ProactiveAISettings').then(m => ({ default: m.ProactiveAISettings })));
const SettingsThemePage = React.lazy(() => import('@/pages/SettingsTheme').then(m => ({ default: m.SettingsThemePage })));
const SettingsMcpPage = React.lazy(() => import('@/pages/SettingsMcp').then(m => ({ default: m.SettingsMcpPage })));
+const SettingsAIPage = React.lazy(() => import('@/pages/SettingsAI').then(m => ({ default: m.SettingsAIPage })));
const SettingsMenuOrderPage = React.lazy(() => import('@/pages/SettingsMenuOrder').then(m => ({ default: m.SettingsMenuOrderPage })));
const SettingsStammdatenPage = React.lazy(() => import('@/pages/SettingsStammdaten').then(m => ({ default: m.SettingsStammdatenPage })));
const SettingsUserManagementPage = React.lazy(() => import('@/pages/SettingsUserManagement').then(m => ({ default: m.SettingsUserManagementPage })));
@@ -118,6 +119,7 @@ const router = createBrowserRouter([
{ path: 'theme', element: withSuspense() },
{ path: 'automation', element: withSuspense() },
{ path: 'mcp', element: withSuspense() },
+ { path: 'ai-settings', element: withSuspense() },
{ path: 'menu', element: withSuspense() },
{ path: '*', element: },
],