File size: 2,113 Bytes
783d70f 908521c d3a684d 783d70f 5fc7d23 bd32c1e 5fc7d23 bd32c1e d3a684d 5fc7d23 d3a684d d769b6c bd32c1e d3a684d d769b6c bd32c1e d769b6c d3a684d 5fc7d23 d3a684d 5fc7d23 d3a684d 5fc7d23 d3a684d bd32c1e d769b6c d3a684d bd32c1e 5fc7d23 d3a684d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import gradio as gr
import os
import logging
from modules.ui.landing_ui import create_landing_interface
from modules.ui.login_ui import create_login_interface
from modules.database.database_init import initialize_database_connections
# Configuraci贸n b谩sica
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Verificar variables de entorno
COSMOS_ENDPOINT = os.getenv("COSMOS_ENDPOINT")
COSMOS_KEY = os.getenv("COSMOS_KEY")
if not COSMOS_ENDPOINT or not COSMOS_KEY:
raise ValueError("Faltan variables de entorno: COSMOS_ENDPOINT y COSMOS_KEY.")
# Inicializar la conexi贸n a la base de datos
if not initialize_database_connections():
raise ValueError("No se pudo inicializar la conexi贸n a la base de datos.")
def main_interface():
"""
Crea la interfaz principal con redirecci贸n al login o landing.
"""
with gr.Blocks() as app_interface:
# Contenedores para las p谩ginas
landing_container = gr.Group(visible=True)
login_container = gr.Group(visible=False)
# Crear interfaces
landing_page = create_landing_interface()
login_page = create_login_interface()
# Manejo de navegaci贸n
def handle_navigation(page="landing"):
"""
Redirige entre Landing Page y Login.
"""
if page == "login":
return {
landing_container: gr.update(visible=False),
login_container: gr.update(visible=True),
}
return {
landing_container: gr.update(visible=True),
login_container: gr.update(visible=False),
}
# Landing Page
with landing_container:
landing_page(navigate_to_login=lambda: handle_navigation("login"))
# Login Page
with login_container:
login_page(navigate_back=lambda: handle_navigation("landing"))
return app_interface
# Lanzar la aplicaci贸n
if __name__ == "__main__":
app = main_interface()
app.launch(server_name="0.0.0.0", server_port=7860, auth=None)
|