jcmachicao's picture
Update app.py
46c159e verified
raw
history blame
1.63 kB
import gradio as gr
from utils_gdmk import (
inicializar_grafo, cargar_normativas, cargar_estudiantes, mostrar_detalles,
visualizar_grafo, agregar_aporte
)
# Initialize graph before launching UI
inicializar_grafo()
normativas = cargar_normativas()
estudiantes = cargar_estudiantes()
norm_options = [norm['nombre'] for norm in normativas["normativa_peruana_gestion_riesgos"]]
student_names = estudiantes["estudiantes"]
# Gradio Interface
iface = gr.Blocks()
with iface:
gr.Markdown("# Foro Din谩mico con Visualizaci贸n de Red")
# 馃搶 Norm Selection Section
with gr.Row():
gr.Markdown('## Selecci贸n de Norma')
normativa_dropdown = gr.Dropdown(choices=norm_options, label="Normativas")
normativa_html = gr.HTML()
# 馃搶 Update HTML when a norm is selected
normativa_dropdown.change(fn=mostrar_detalles, inputs=normativa_dropdown, outputs=normativa_html)
# 馃搶 Graph Display
with gr.Row():
gr.Markdown("## Red de Aportes:")
graph_output = gr.Image(visualizar_grafo(), label="Red de Aportes")
# 馃搶 Input Fields
with gr.Row():
nombre = gr.Dropdown(choices=student_names, label="Nombre del Estudiante")
enfoque = gr.Radio(["Determinista", "Sist茅mico"], label="Enfoque")
with gr.Row():
texto = gr.Textbox(label="Tu aporte")
# 馃搶 Submit Button (Now Uses `normativa_dropdown` Directly)
submit_button = gr.Button("Agregar Aporte")
submit_button.click(
fn=agregar_aporte,
inputs=[nombre, enfoque, normativa_dropdown, texto],
outputs=graph_output
)
iface.launch(share=True)