AIdeaText commited on
Commit
1308422
verified
1 Parent(s): c793db8

Update modules/ui/ui.py

Browse files
Files changed (1) hide show
  1. modules/ui/ui.py +84 -86
modules/ui/ui.py CHANGED
@@ -471,92 +471,90 @@ def user_page(lang_code, t):
471
 
472
  tabs = st.tabs(tab_names)
473
 
474
- # Manejar el contenido de cada tab
475
- for index, tab in enumerate(tabs):
476
- with tab:
477
- try:
478
- # Actualizar el tab seleccionado solo si no hay un an谩lisis activo
479
- if tab.selected and st.session_state.selected_tab != index:
480
- can_switch = True
481
- for state_key in st.session_state.tab_states.keys():
482
- if st.session_state.tab_states[state_key] and index != get_tab_index(state_key):
483
- can_switch = False
484
- break
485
- if can_switch:
486
- st.session_state.selected_tab = index
487
-
488
- if index == 0: # Situaci贸n actual
489
- st.session_state.tab_states['current_situation_active'] = True
490
- display_current_situation_interface(
491
- st.session_state.lang_code,
492
- st.session_state.nlp_models,
493
- t.get('TRANSLATIONS', {})
494
- )
495
-
496
- elif index == 1: # Morfosint谩ctico
497
- st.session_state.tab_states['morpho_active'] = True
498
- display_morphosyntax_interface(
499
- st.session_state.lang_code,
500
- st.session_state.nlp_models,
501
- t.get('TRANSLATIONS', {})
502
- )
503
-
504
-
505
- elif index == 2: # Sem谩ntico Vivo
506
- st.session_state.tab_states['semantic_live_active'] = True
507
- display_semantic_live_interface(
508
- st.session_state.lang_code,
509
- st.session_state.nlp_models,
510
- t.get('TRANSLATIONS', {})
511
- )
512
-
513
- elif index == 3: # Sem谩ntico
514
- st.session_state.tab_states['semantic_active'] = True
515
- display_semantic_interface(
516
- st.session_state.lang_code,
517
- st.session_state.nlp_models,
518
- t.get('TRANSLATIONS', {})
519
- )
520
-
521
- elif index == 4: # Discurso Vivo
522
- st.session_state.tab_states['discourse_live_active'] = True
523
- display_discourse_live_interface(
524
- st.session_state.lang_code,
525
- st.session_state.nlp_models,
526
- t.get('TRANSLATIONS', {})
527
- )
528
-
529
-
530
- elif index == 5: # Discurso
531
- st.session_state.tab_states['discourse_active'] = True
532
- display_discourse_interface(
533
- st.session_state.lang_code,
534
- st.session_state.nlp_models,
535
- t.get('TRANSLATIONS', {})
536
- )
537
-
538
- elif index == 6: # Actividades
539
- st.session_state.tab_states['activities_active'] = True
540
- display_student_activities(
541
- username=st.session_state.username,
542
- lang_code=st.session_state.lang_code,
543
- t=t.get('ACTIVITIES_TRANSLATIONS', {})
544
- )
545
-
546
- elif index == 7: # Feedback
547
- st.session_state.tab_states['feedback_active'] = True
548
- display_feedback_form(
549
- st.session_state.lang_code,
550
- t
551
- )
552
-
553
- except Exception as e:
554
- # Desactivar el estado en caso de error
555
- state_key = get_state_key_for_index(index)
556
- if state_key:
557
- st.session_state.tab_states[state_key] = False
558
- logger.error(f"Error en tab {index}: {str(e)}")
559
- st.error(t.get('tab_error', 'Error al cargar esta secci贸n'))
560
 
561
  # Funciones auxiliares para manejar los estados de los tabs
562
  def get_tab_index(state_key):
 
471
 
472
  tabs = st.tabs(tab_names)
473
 
474
+ # Manejar el contenido de cada tab
475
+ for index, tab in enumerate(tabs):
476
+ with tab:
477
+ try:
478
+ # Actualizar el tab seleccionado solo si no hay un an谩lisis activo
479
+ if tab.selected and st.session_state.selected_tab != index:
480
+ can_switch = True
481
+ for state_key in st.session_state.tab_states.keys():
482
+ if st.session_state.tab_states[state_key] and index != get_tab_index(state_key):
483
+ can_switch = False
484
+ break
485
+ if can_switch:
486
+ st.session_state.selected_tab = index
487
+
488
+ if index == 0: # Situaci贸n actual
489
+ st.session_state.tab_states['current_situation_active'] = True
490
+ display_current_situation_interface(
491
+ st.session_state.lang_code,
492
+ st.session_state.nlp_models,
493
+ t # Pasamos todo el diccionario de traducciones
494
+ )
495
+
496
+ elif index == 1: # Morfosint谩ctico
497
+ st.session_state.tab_states['morpho_active'] = True
498
+ display_morphosyntax_interface(
499
+ st.session_state.lang_code,
500
+ st.session_state.nlp_models,
501
+ t # Pasamos todo el diccionario de traducciones
502
+ )
503
+
504
+ elif index == 2: # Sem谩ntico Vivo
505
+ st.session_state.tab_states['semantic_live_active'] = True
506
+ display_semantic_live_interface(
507
+ st.session_state.lang_code,
508
+ st.session_state.nlp_models,
509
+ t # Pasamos todo el diccionario de traducciones
510
+ )
511
+
512
+ elif index == 3: # Sem谩ntico
513
+ st.session_state.tab_states['semantic_active'] = True
514
+ display_semantic_interface(
515
+ st.session_state.lang_code,
516
+ st.session_state.nlp_models,
517
+ t # Pasamos todo el diccionario de traducciones
518
+ )
519
+
520
+ elif index == 4: # Discurso Vivo
521
+ st.session_state.tab_states['discourse_live_active'] = True
522
+ display_discourse_live_interface(
523
+ st.session_state.lang_code,
524
+ st.session_state.nlp_models,
525
+ t # Pasamos todo el diccionario de traducciones
526
+ )
527
+
528
+ elif index == 5: # Discurso
529
+ st.session_state.tab_states['discourse_active'] = True
530
+ display_discourse_interface(
531
+ st.session_state.lang_code,
532
+ st.session_state.nlp_models,
533
+ t # Pasamos todo el diccionario de traducciones
534
+ )
535
+
536
+ elif index == 6: # Actividades
537
+ st.session_state.tab_states['activities_active'] = True
538
+ display_student_activities(
539
+ username=st.session_state.username,
540
+ lang_code=st.session_state.lang_code,
541
+ t=t # Pasamos todo el diccionario de traducciones
542
+ )
543
+
544
+ elif index == 7: # Feedback
545
+ st.session_state.tab_states['feedback_active'] = True
546
+ display_feedback_form(
547
+ st.session_state.lang_code,
548
+ t # Ya estaba recibiendo el diccionario completo
549
+ )
550
+
551
+ except Exception as e:
552
+ # Desactivar el estado en caso de error
553
+ state_key = get_state_key_for_index(index)
554
+ if state_key:
555
+ st.session_state.tab_states[state_key] = False
556
+ logger.error(f"Error en tab {index}: {str(e)}")
557
+ st.error(t.get('tab_error', 'Error al cargar esta secci贸n'))
 
 
558
 
559
  # Funciones auxiliares para manejar los estados de los tabs
560
  def get_tab_index(state_key):