28 lines
859 B
Python
28 lines
859 B
Python
'''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)
|