Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from model_api import query_model | |
| from prompt_builder import build_prompt | |
| st.title("๐๏ธ AI Personalized 5-Day Workout Planner") | |
| if "logged_in" not in st.session_state: | |
| st.session_state.logged_in = False | |
| if not st.session_state.logged_in: | |
| st.warning("Please login first") | |
| st.stop() | |
| name = st.text_input("Name") | |
| age = st.number_input("Age", 10, 80) | |
| gender = st.selectbox("Gender", ["Male", "Female", "Other"]) | |
| height = st.number_input("Height (cm)", 100, 250) | |
| weight = st.number_input("Weight (kg)", 30, 200) | |
| goal = st.selectbox( | |
| "Fitness Goal", | |
| ["Build Muscle", "Weight Loss", "Strength Gain", "Abs Building", "Flexibility"] | |
| ) | |
| fitness_level = st.selectbox( | |
| "Fitness Level", | |
| ["Beginner", "Intermediate", "Advanced"] | |
| ) | |
| equipment = st.multiselect( | |
| "Equipment", | |
| [ | |
| "Dumbbells", | |
| "Resistance Band", | |
| "Yoga Mat", | |
| "Skipping Rope", | |
| "Pullups Bar", | |
| "Inclined Bench", | |
| "Weight Plates" | |
| ] | |
| ) | |
| if st.button("Generate 5-Day Plan ๐ช"): | |
| prompt, bmi, bmi_status = build_prompt( | |
| name, age, gender, height, weight, | |
| goal, fitness_level, equipment | |
| ) | |
| st.subheader(f"BMI: {bmi} ({bmi_status})") | |
| with st.spinner("Generating workout plan..."): | |
| result = query_model(prompt) | |
| st.markdown("## ๐๏ธ Your 5-Day Workout Plan") | |
| st.markdown(result) |