'''Module to create a Dash app that displays visualizations of YNAB data.''' import dash from dash import dcc, html from dash.dependencies import Input, Output import dash_bootstrap_components as dbc from visuals.layout import create_layout from visuals.components import update_data, update_dates from datetime import date master_data = update_dates(start_date=date(2024, 1, 1), end_date=date(2026, 1, 1)) data = update_data(master_data) app = dash.Dash(__name__, external_stylesheets=[dbc.themes.DARKLY]) @app.callback( Output("layout-container", "children"), [Input('date-picker-range', 'start_date'), Input('date-picker-range', 'end_date')] ) def update_layout(start_date,end_date): master_data = update_dates(start_date, end_date) data = update_data(master_data) return create_layout(data) app.layout = create_layout(data)