diff --git a/frontend-modern/src/App.tsx b/frontend-modern/src/App.tsx
index 985d8fb..b1056ce 100644
--- a/frontend-modern/src/App.tsx
+++ b/frontend-modern/src/App.tsx
@@ -21,6 +21,7 @@ import Settings from './components/Settings/Settings';
import { Alerts } from './pages/Alerts';
import { DockerHosts } from './components/Docker/DockerHosts';
import { ToastContainer } from './components/Toast/Toast';
+import NotificationContainer from './components/NotificationContainer';
import { ErrorBoundary } from './components/ErrorBoundary';
import { SecurityWarning } from './components/SecurityWarning';
import { Login } from './components/Login';
@@ -584,6 +585,7 @@ function App() {
+
@@ -784,12 +786,34 @@ function AppLayout(props: {
navigate(tab.route);
};
+ type PlatformTab = ReturnType[number];
+ type UtilityTab = ReturnType[number];
+
+ const mobileTabs = createMemo<
+ Array<(PlatformTab & { type: 'platform' }) | (UtilityTab & { type: 'utility' })>
+ >(() => {
+ const platformEntries = platformTabs().map((tab) => ({ ...tab, type: 'platform' as const }));
+ const utilityEntries = utilityTabs().map((tab) => ({ ...tab, type: 'utility' as const }));
+ return [...platformEntries, ...utilityEntries];
+ });
+
+ const handleMobileTabChange = (tabId: PlatformTab['id'] | UtilityTab['id']) => {
+ const platform = platformTabs().find((tab) => tab.id === tabId);
+ if (platform) {
+ handlePlatformClick(platform);
+ return;
+ }
+ const utility = utilityTabs().find((tab) => tab.id === tabId);
+ if (utility) {
+ handleUtilityClick(utility);
+ }
+ };
+
return (
{/* Header */}
-