Files
infoscreen/dashboard/app.py
2025-06-16 20:31:49 +00:00

40 lines
1.1 KiB
Python

# dashboard/app.py
import sys
sys.path.append('/workspace')
from dash import Dash, html, dcc, page_container
from flask import Flask
import dash_bootstrap_components as dbc
import dash_mantine_components as dmc
from components.header import Header
# from components.sidebar import Sidebar
import callbacks.ui_callbacks # wichtig!
import dashboard.callbacks.overview_callbacks # <-- Das registriert die Callbacks
import dashboard.callbacks.appointments_callbacks
import dashboard.callbacks.appointment_modal_callbacks
from config import SECRET_KEY, ENV
server = Flask(__name__)
server.secret_key = SECRET_KEY
app = Dash(
__name__,
server=server,
use_pages=True,
external_stylesheets=[dbc.themes.BOOTSTRAP],
suppress_callback_exceptions=True,
serve_locally=True
)
app.layout = dmc.MantineProvider([
Header(),
html.Div([
html.Div(id="sidebar", className="sidebar"),
html.Div(page_container, className="page-content"),
dcc.Store(id="sidebar-state", data={"collapsed": False}),
], style={"display": "flex"}),
])
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8050, debug=(ENV=="development"))