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.")