Displaying ploly fig in dash app after collecting data

Here is my code:

from get_data import Data
from dash import Dash, html, dcc


def make_fig():
    pair = input("input pair: ").upper()
    tf = input("input timeframe: ")
    start = input("input start: ")
    end = input("input end: ")
    data = Data(pair=pair, timeframe=tf, start_date=start, end_date=end)
    return data.chart()  # make_sublots()


app = Dash(__name__)
app.layout = html.Div(children=[
    html.H1(children='Interactive chart'),

    dcc.Graph(
        id='example-graph',
        figure=make_fig()
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)

I want to input info about chart, then collect the necessary data, then make plotly figure and show it in Dash app. I am sure that collecting data and building figure works correctly.

Here is program output:

/usr/bin/python3.10 /home/tarminik/mipt/technical_indicators/gui.py 
input pair: btcusdt
input timeframe: 4h
input start: 4-10-2023
input end: now
Dash is running on http://127.0.0.1:8050/

 * Serving Flask app 'gui'
 * Debug mode: on
input pair: 

The problem is that it asks to input info again. What am I doing wrong?