"""Dash application factory with Pages routing.""" import dash import dash_mantine_components as dmc from .config import get_settings def create_app() -> dash.Dash: """Create and configure the Dash application.""" app = dash.Dash( __name__, use_pages=True, suppress_callback_exceptions=True, title="Analytics Portfolio", external_stylesheets=dmc.styles.ALL, ) app.layout = dmc.MantineProvider( dash.page_container, theme={ "primaryColor": "blue", "fontFamily": "'Inter', sans-serif", }, forceColorScheme="light", ) return app def main() -> None: """Run the development server.""" settings = get_settings() app = create_app() app.run(debug=settings.dash_debug, host="0.0.0.0", port=8050) if __name__ == "__main__": main()