# dashboard/callbacks/ui_callbacks.py from dash import Input, Output, State, callback from components.sidebar import Sidebar @callback( Output("sidebar", "children"), Output("sidebar", "className"), Input("sidebar-state", "data"), ) def render_sidebar(data): collapsed = data.get("collapsed", False) return Sidebar(collapsed=collapsed), f"sidebar{' collapsed' if collapsed else ''}" @callback( Output("sidebar-state", "data"), Input("btn-toggle-sidebar", "n_clicks"), State("sidebar-state", "data"), prevent_initial_call=True, ) def toggle_sidebar(n, data): if n is None: # Kein Klick, nichts ändern! return data collapsed = not data.get("collapsed", False) return {"collapsed": collapsed}