Spaces:
Sleeping
Sleeping
def main_app(): | |
st.sidebar.success(f"Logged in as {st.session_state.email}") | |
if st.sidebar.button("Logout"): | |
logout() | |
st.experimental_rerun() | |
# Feedback inputs on left sidebar | |
st.sidebar.markdown("---") | |
st.sidebar.subheader("π Give Feedback") | |
feedback_text = st.sidebar.text_area("Your thoughts about this place", height=100) | |
feedback_image = st.sidebar.file_uploader("Upload an image", type=["jpg", "jpeg", "png"], key="image_upload") | |
feedback_audio = st.sidebar.file_uploader("Upload audio", type=["mp3", "wav", "m4a"], key="audio_upload") | |
feedback_video = st.sidebar.file_uploader("Upload video", type=["mp4", "mov", "avi"], key="video_upload") | |
if feedback_image: | |
st.sidebar.image(feedback_image, caption="Your uploaded image", use_container_width=True) | |
if feedback_audio: | |
st.sidebar.audio(feedback_audio, format=feedback_audio.type) | |
if feedback_video: | |
st.sidebar.video(feedback_video) | |
st.title("π Gyana Vedika - Cultural Explorer") | |
state = st.selectbox("Select State", list(STATES.keys())) | |
district = st.selectbox("Select District", STATES[state]) | |
st.subheader(f"Explore {district}, {state}") | |
uploaded_image = st.file_uploader("Upload a cultural/historical place image", type=["png", "jpg", "jpeg"], key="place_image") | |
place_to_search = None | |
if uploaded_image: | |
st.image(uploaded_image, caption="Uploaded Image", use_container_width=True) | |
filename = uploaded_image.name.lower() | |
keywords_map = { | |
"charminar": "Charminar", "golconda": "Golconda Fort", "qutubshahi": "Qutb Shahi Tombs", | |
"birla": "Birla Mandir", "salarjung": "Salar Jung Museum", "warangal": "Warangal Fort", | |
"ramappa": "Ramappa Temple", "bhadrakali": "Bhadra Kali Temple", "kakatiya": "Kakatiya Kala Thoranam", | |
"pakhal": "Pakhal Lake", "medak": "Medak Cathedral", "nagarjuna": "Nagarjuna Sagar Dam", | |
"taj": "Taj Mahal", "gateway": "Gateway of India", "qutub": "Qutub Minar", | |
"mysore": "Mysore Palace", "hampi": "Hampi", "konark": "Konark Sun Temple", | |
"varanasi": "Varanasi", "madurai": "Meenakshi Temple", "ajanta": "Ajanta Caves", "ellora": "Ellora Caves" | |
} | |
for kw, place in keywords_map.items(): | |
if kw in filename: | |
place_to_search = place | |
st.success(f"Recognized Place: {place_to_search}") | |
break | |
if not place_to_search: | |
st.warning("Could not recognize place. Try renaming the image file with landmark name.") | |
manual_place = st.text_input("Or manually enter place name to search info") | |
if manual_place.strip(): | |
place_to_search = manual_place.strip() | |
if place_to_search: | |
language = st.selectbox("Select Wikipedia summary language", ["English", "Hindi", "Telugu", "Tamil", "Marathi", "Bengali"]) | |
lang_codes = {"English": "en", "Hindi": "hi", "Telugu": "te", "Tamil": "ta", "Marathi": "mr", "Bengali": "bn"} | |
lang_code = lang_codes.get(language, "en") | |
if st.button(f"Get info about {place_to_search}"): | |
with st.spinner(f"Fetching Wikipedia summary for {place_to_search}..."): | |
summary = fetch_wikipedia_summary(place_to_search, lang=lang_code) | |
st.markdown(f"### Summary of {place_to_search}") | |
st.write(summary) | |
if st.sidebar.button("Submit Feedback"): | |
if feedback_text.strip() or feedback_image or feedback_audio or feedback_video: | |
img_path = save_temp_file(feedback_image, "img") | |
audio_path = save_temp_file(feedback_audio, "audio") | |
video_path = save_temp_file(feedback_video, "video") | |
save_feedback( | |
email=st.session_state.email, | |
place=place_to_search or "Unknown", | |
state=state, | |
district=district, | |
text=feedback_text.strip(), | |
img_path=img_path, | |
audio_path=audio_path, | |
video_path=video_path | |
) | |
st.sidebar.success("Thank you! Feedback submitted.") | |
else: | |
st.sidebar.warning("Please provide feedback text or upload a file.") |