- Full bio page with hero, summary, tech stack, projects, social links - MantineProvider theme integration in app.py - Responsive layout using DMC SimpleGrid - Added dash-iconify for social link icons - Updated mypy overrides for DMC/iconify modules Closes #11 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
871 B
Python
40 lines
871 B
Python
"""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()
|