42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
# dashboard/app.py
|
|
import sys
|
|
sys.path.append('/workspace')
|
|
|
|
from dash import Dash, html, dcc, page_container, Output, Input, State, callback
|
|
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"), # KEINE className="sidebar" hier!
|
|
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"))
|