ProyectoGao / Inicio.py
barbaroyoel's picture
Update Inicio.py
4209059 verified
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 = """
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TTV23M3QPB"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-TTV23M3QPB');
</script>
"""
# 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(
"""
<div style='text-align: center;'>
<p>🚀 Comienza a Explorar</p>
<p>Utiliza la barra de navegación a la izquierda para:</p>
<p>- 📰 Leer nuestro Blog con análisis detallados</p>
<p>- 🔍 Explorar el Dashboard interactivo</p>
<p>- 📱 Contactarnos y seguirnos en redes sociales</p>
</div>
""",
unsafe_allow_html=True
)
st.markdown("---")
def flooter():
st.markdown(
"""
<div style='text-align: center'>
<p>Desarrollado con ❤️ por el equipo de Proyecto Gao</p>
<p>© 2025 Proyecto Gao - Todos los derechos reservados</p>
</div>
""",
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()