diff --git a/web/src/App.tsx b/web/src/App.tsx index b810ca4..be710fa 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -74,7 +74,6 @@ export default function App() { return () => { es?.close(); clearTimeout(retryTimer); }; }, []); - const TabComponent = activeTab ? tabComponents[activeTab] : null; const version = (import.meta as any).env?.VITE_APP_VERSION ?? '1.0.0'; // Tab icon mapping @@ -123,14 +122,21 @@ export default function App() {

Keine Plugins geladen

Plugins werden im Server konfiguriert.

- ) : TabComponent ? ( - ) : ( -
- {tabIcons[activeTab] ?? '\u{1F4E6}'} -

{activeTab}

-

Plugin-UI wird geladen...

-
+ /* Render ALL tabs, hide inactive ones with CSS to preserve state */ + plugins.map(p => { + const Comp = tabComponents[p.name]; + if (!Comp) return null; + return ( +
+ +
+ ); + }) )}