import streamlit as st import os # ========================================= # Configuración inicial crítica # ========================================= os.environ["STREAMLIT_CONFIG_DIR"] = "/app/.streamlit" os.environ["STREAMLIT_GLOBAL_DEVELOPMENT_MODE"] = "false" os.environ["STREAMLIT_BROWSER_GATHER_USAGE_STATS"] = "false" os.environ["HF_THEME"] = "None" # Configuración básica de la página st.set_page_config( page_title="Proyecto Gao", layout="wide", page_icon="assets/gao_icon.ico", ) google_analytics = """ """ # Inyecta el script de Google Analytics st.components.v1.html(google_analytics, height=0) # ========================================= # Funciones reutilizables # ========================================= def sidebar_config(): """Configuración del sidebar común a todas las páginas""" with st.sidebar: st.title("Proyecto Gao") st.image("assets/logo.png") # Navegación entre páginas usando st.query_params st.markdown("### Navegación") page_options = { "🏠 Inicio": "Inicio", "📰 Blog": "Blog", "🔍 Explorar": "Explorar", "📱 Redes Sociales": "Redes" } selected_page = st.radio("Ir a:", list(page_options.keys())) # Redirigir a la página seleccionada usando st.query_params if page_options[selected_page] != st.query_params.get("page", "Inicio"): st.query_params.page = page_options[selected_page] st.rerun() def navegation(): st.markdown( """

🚀 Comienza a Explorar

Utiliza la barra de navegación a la izquierda para:

- 📰 Leer nuestro Blog con análisis detallados

- 🔍 Explorar el Dashboard interactivo

- 📱 Contactarnos y seguirnos en redes sociales

""", unsafe_allow_html=True ) st.markdown("---") def flooter(): st.markdown( """

Desarrollado con ❤️ por el equipo de Proyecto Gao

© 2025 Proyecto Gao - Todos los derechos reservados

""", unsafe_allow_html=True, ) st.markdown("---") def warning(): st.warning(""" ⚠️ Este proyecto es una herramienta de análisis y no debe ser considerado como asesoramiento legal o financiero. Los datos son proporcionados con fines informativos y pueden no reflejar la realidad del mercado inmobiliario. Proyecto GAO no se hace responsable por decisiones tomadas en base a esta información. Cualquier acción relacionada con el mercado inmobiliario es bajo su propia responsabilidad """) st.markdown("---") # ========================================= # Página de Inicio # ========================================= def display_inicio(): st.title("Bienvenido a Proyecto Gao 🏘️") st.markdown("---") st.markdown( """ ## 🎯 Nuestro Objetivo Proyecto Gao es una herramienta de análisis del mercado inmobiliario en La Habana que te permite: - 📊 Explorar tendencias por municipio - 🏠 Analizar diferentes tipos de propiedades - 📈 Visualizar datos históricos y actuales """ ) st.markdown("---") col1, col2, col3 = st.columns(3) with col1: st.markdown( """ ### 📱 Fácil de Usar Interfaz intuitiva y amigable para explorar el mercado inmobiliario """ ) with col2: st.markdown( """ ### 🔄 Datos Actualizados Información actualizada regularmente del mercado inmobiliario """ ) with col3: st.markdown( """ ### 📊 Análisis Detallado Visualizaciones y estadísticas comprehensivas """ ) st.markdown("---") st.markdown( """ ## 🤷‍♂️ ¿Quiénes Somos? 🤷‍♀️ Somos un equipo de estudiantes de Ciencia de Datos de MATCOM comprometidos con: - 🎯 Proporcionar transparencia al mercado inmobiliario - 📊 Facilitar el análisis de datos para toma de decisiones - 💡 Innovar en la visualización de datos inmobiliarios """ ) st.markdown("---") # ========================================= # Gestión de páginas # ========================================= def main(): # Obtener la página actual usando st.query_params current_page = st.query_params.get("page", "Inicio") # Configurar sidebar común sidebar_config() # Mostrar contenido según la página actual if current_page == "Inicio": display_inicio() elif current_page == "Blog": import page.blog as blog blog.display() elif current_page == "Explorar": import page.explorar as explorar explorar.display() elif current_page == "Redes": import page.redes as redes redes.display() else: st.warning(f"Página '{current_page}' no encontrada. Redirigiendo a inicio...") st.query_params.page = "Inicio" st.rerun() # Componentes comunes al final warning() navegation() flooter() # ========================================= # Punto de entrada # ========================================= if __name__ == "__main__": # Limpieza inicial de estado if "last_page" not in st.session_state: st.session_state.clear() st.session_state.last_page = "Inicio" main()