AIdeaText commited on
Commit
7bb27a4
verified
1 Parent(s): 57204e1

Update modules/ui/ui.py

Browse files
Files changed (1) hide show
  1. modules/ui/ui.py +41 -32
modules/ui/ui.py CHANGED
@@ -376,6 +376,35 @@ def display_videos_and_info(lang_code, t):
376
  def user_page(lang_code, t):
377
  logger.info(f"Entrando en user_page para el estudiante: {st.session_state.username}")
378
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
379
  # Inicializar el tab seleccionado si no existe
380
  if 'selected_tab' not in st.session_state:
381
  st.session_state.selected_tab = 0
@@ -397,6 +426,9 @@ def user_page(lang_code, t):
397
 
398
  logger.info(f"Idioma actual: {st.session_state.lang_code}")
399
  logger.info(f"Modelos NLP cargados: {'nlp_models' in st.session_state}")
 
 
 
400
 
401
  # Configuraci贸n de idiomas disponibles
402
  languages = {'Espa帽ol': 'es', 'Portugu锚s': 'pt', 'Fran莽ais': 'fr', 'English': 'en'}
@@ -423,11 +455,11 @@ def user_page(lang_code, t):
423
  with st.container():
424
  col1, col2, col3 = st.columns([2, 2, 1])
425
  with col1:
426
- st.markdown(f"<h3 style='margin-bottom: 0; padding-top: 10px;'>{t['welcome']}, {st.session_state.username}</h3>",
427
  unsafe_allow_html=True)
428
  with col2:
429
  selected_lang = st.selectbox(
430
- t['select_language'],
431
  list(languages.keys()),
432
  index=list(languages.values()).index(st.session_state.lang_code),
433
  key=f"language_selector_{st.session_state.username}_{st.session_state.lang_code}"
@@ -435,9 +467,10 @@ def user_page(lang_code, t):
435
  new_lang_code = languages[selected_lang]
436
  if st.session_state.lang_code != new_lang_code:
437
  st.session_state.lang_code = new_lang_code
 
438
  st.rerun()
439
  with col3:
440
- if st.button(t['logout'],
441
  key=f"logout_button_{st.session_state.username}_{st.session_state.lang_code}"):
442
  st.session_state.clear()
443
  st.rerun()
@@ -475,6 +508,10 @@ def user_page(lang_code, t):
475
  t.get('TABS', {}).get('feedback_tab', 'Formulario de Comentarios')
476
  ]
477
 
 
 
 
 
478
  tabs = st.tabs(tab_names)
479
 
480
  # Manejar el contenido de cada tab
@@ -562,35 +599,6 @@ def user_page(lang_code, t):
562
  logger.error(f"Error en tab {index}: {str(e)}")
563
  st.error(t.get('tab_error', 'Error al cargar esta secci贸n'))
564
 
565
- # Funciones auxiliares para manejar los estados de los tabs
566
- def get_tab_index(state_key):
567
- """Obtiene el 铆ndice del tab basado en la clave de estado"""
568
- index_map = {
569
- 'current_situation_active': 0,
570
- 'morpho_active': 1,
571
- 'semantic_live_active': 2,
572
- 'semantic_active': 3,
573
- 'discourse_live_active': 4,
574
- 'discourse_active': 5,
575
- 'activities_active': 6,
576
- 'feedback_active': 7
577
- }
578
- return index_map.get(state_key, -1)
579
-
580
- def get_state_key_for_index(index):
581
- """Obtiene la clave de estado basada en el 铆ndice del tab"""
582
- state_map = {
583
- 0: 'current_situation_active',
584
- 1: 'morpho_active',
585
- 2: 'semantic_live_active',
586
- 3: 'semantic_active',
587
- 4: 'discourse_live_active',
588
- 5: 'discourse_active',
589
- 6: 'activities_active',
590
- 7: 'feedback_active'
591
- }
592
- return state_map.get(index)
593
-
594
  # Panel de depuraci贸n (solo visible en desarrollo)
595
  if st.session_state.get('debug_mode', False):
596
  with st.expander("Debug Info"):
@@ -600,6 +608,7 @@ def user_page(lang_code, t):
600
  st.write(f"Idioma: {st.session_state.lang_code}")
601
  st.write(f"Tab seleccionado: {st.session_state.selected_tab}")
602
  st.write(f"脷ltima actualizaci贸n de datos: {st.session_state.get('last_data_fetch', 'Nunca')}")
 
603
 
604
  ####################################
605
  ########################################################################
 
376
  def user_page(lang_code, t):
377
  logger.info(f"Entrando en user_page para el estudiante: {st.session_state.username}")
378
 
379
+ # Funciones auxiliares para manejar los estados de los tabs (movidas al inicio)
380
+ def get_tab_index(state_key):
381
+ """Obtiene el 铆ndice del tab basado en la clave de estado"""
382
+ index_map = {
383
+ 'current_situation_active': 0,
384
+ 'morpho_active': 1,
385
+ 'semantic_live_active': 2,
386
+ 'semantic_active': 3,
387
+ 'discourse_live_active': 4,
388
+ 'discourse_active': 5,
389
+ 'activities_active': 6,
390
+ 'feedback_active': 7
391
+ }
392
+ return index_map.get(state_key, -1)
393
+
394
+ def get_state_key_for_index(index):
395
+ """Obtiene la clave de estado basada en el 铆ndice del tab"""
396
+ state_map = {
397
+ 0: 'current_situation_active',
398
+ 1: 'morpho_active',
399
+ 2: 'semantic_live_active',
400
+ 3: 'semantic_active',
401
+ 4: 'discourse_live_active',
402
+ 5: 'discourse_active',
403
+ 6: 'activities_active',
404
+ 7: 'feedback_active'
405
+ }
406
+ return state_map.get(index)
407
+
408
  # Inicializar el tab seleccionado si no existe
409
  if 'selected_tab' not in st.session_state:
410
  st.session_state.selected_tab = 0
 
426
 
427
  logger.info(f"Idioma actual: {st.session_state.lang_code}")
428
  logger.info(f"Modelos NLP cargados: {'nlp_models' in st.session_state}")
429
+
430
+ # Registra las traducciones disponibles para depuraci贸n
431
+ logger.info(f"Claves de traducci贸n disponibles: {list(t.keys())}")
432
 
433
  # Configuraci贸n de idiomas disponibles
434
  languages = {'Espa帽ol': 'es', 'Portugu锚s': 'pt', 'Fran莽ais': 'fr', 'English': 'en'}
 
455
  with st.container():
456
  col1, col2, col3 = st.columns([2, 2, 1])
457
  with col1:
458
+ st.markdown(f"<h3 style='margin-bottom: 0; padding-top: 10px;'>{t.get('welcome', 'Bienvenido')}, {st.session_state.username}</h3>",
459
  unsafe_allow_html=True)
460
  with col2:
461
  selected_lang = st.selectbox(
462
+ t.get('select_language', 'Seleccionar idioma'),
463
  list(languages.keys()),
464
  index=list(languages.values()).index(st.session_state.lang_code),
465
  key=f"language_selector_{st.session_state.username}_{st.session_state.lang_code}"
 
467
  new_lang_code = languages[selected_lang]
468
  if st.session_state.lang_code != new_lang_code:
469
  st.session_state.lang_code = new_lang_code
470
+ logger.info(f"Cambiando idioma de {st.session_state.lang_code} a {new_lang_code}")
471
  st.rerun()
472
  with col3:
473
+ if st.button(t.get('logout', 'Cerrar sesi贸n'),
474
  key=f"logout_button_{st.session_state.username}_{st.session_state.lang_code}"):
475
  st.session_state.clear()
476
  st.rerun()
 
508
  t.get('TABS', {}).get('feedback_tab', 'Formulario de Comentarios')
509
  ]
510
 
511
+ # Log para depuraci贸n de traducciones de tabs
512
+ logger.info(f"Tab names for {lang_code}: {tab_names}")
513
+
514
+ # Crear tabs
515
  tabs = st.tabs(tab_names)
516
 
517
  # Manejar el contenido de cada tab
 
599
  logger.error(f"Error en tab {index}: {str(e)}")
600
  st.error(t.get('tab_error', 'Error al cargar esta secci贸n'))
601
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
602
  # Panel de depuraci贸n (solo visible en desarrollo)
603
  if st.session_state.get('debug_mode', False):
604
  with st.expander("Debug Info"):
 
608
  st.write(f"Idioma: {st.session_state.lang_code}")
609
  st.write(f"Tab seleccionado: {st.session_state.selected_tab}")
610
  st.write(f"脷ltima actualizaci贸n de datos: {st.session_state.get('last_data_fetch', 'Nunca')}")
611
+ st.write(f"Traducciones disponibles: {list(t.keys())}")
612
 
613
  ####################################
614
  ########################################################################