Corin1998's picture
Update ui/components.py
8b1158b verified
import gradio as gr
TRAVELER_TYPES = ["Solo", "Couple", "Family", "Friends", "Business"]
INTERESTS = ["Food", "Culture", "Nature", "Shopping", "Nightlife", "Kids"]
BUDGETS = ["Low", "Medium", "High"]
PACES = ["Relaxed", "Normal", "Power"]
WEATHER_OVERRIDE = ["(auto)", "sunny", "cloudy", "rainy", "snowy"]
MODES = ["Auto (by weather)", "Walk", "Transit", "Drive/Taxi", "Mixed"]
def build_ui():
with gr.Row():
with gr.Column(scale=1):
city_in = gr.Textbox(label="City", value="Tokyo")
date_in = gr.Textbox(label="Date (YYYY-MM-DD)")
hours_in = gr.Slider(label="Stay hours", minimum=2, maximum=16, step=0.5, value=6)
traveler_in = gr.Dropdown(TRAVELER_TYPES, value="Solo", label="Travel type")
interests_in = gr.CheckboxGroup(INTERESTS, value=["Food", "Culture"], label="Interests")
budget_in = gr.Radio(BUDGETS, value="Medium", label="Budget")
pace_in = gr.Radio(PACES, value="Normal", label="Pace")
weather_in = gr.Dropdown(WEATHER_OVERRIDE, value="(auto)", label="Weather override")
mode_in = gr.Dropdown(MODES, value="Auto (by weather)", label="Mode preference")
show_costs_in = gr.Checkbox(label="Show cost estimate", value=True)
with gr.Row():
seed_btn = gr.Button("Seed sample data")
build_btn = gr.Button("Build/Update RAG Index")
gen_btn = gr.Button("Generate Plan", variant="primary")
with gr.Column(scale=2):
map_out = gr.HTML(label="Map")
table_out = gr.Dataframe(headers=["Time", "Place", "Notes"], label="Itinerary")
text_out = gr.Markdown(label="Plan / Logs", elem_classes=["small"])
return (
city_in,
hours_in,
traveler_in,
interests_in,
budget_in,
pace_in,
date_in,
weather_in,
mode_in,
show_costs_in,
build_btn,
seed_btn,
gen_btn,
map_out,
table_out,
text_out,
)