# app.py import os os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0' os.environ['KMP_DUPLICATE_LIB_OK']='TRUE' import streamlit as st import spacy from spacy import displacy import re from modules.auth import register_user, authenticate_user from modules.morpho_analysis import get_repeated_words_colors, highlight_repeated_words, POS_COLORS, POS_TRANSLATIONS from modules.syntax_analysis import visualize_syntax # ... (resto de tus importaciones y configuraciones) def login_page(): st.title("Iniciar Sesión") username = st.text_input("Usuario") password = st.text_input("Contraseña", type='password') if st.button("Iniciar Sesión"): if authenticate_user(username, password): st.success(f"Bienvenido, {username}!") st.session_state.logged_in = True st.session_state.username = username st.experimental_rerun() else: st.error("Usuario o contraseña incorrectos") def register_page(): st.title("Registrarse") new_username = st.text_input("Nuevo Usuario") new_password = st.text_input("Nueva Contraseña", type='password') role = st.selectbox("Rol", ["Estudiante", "Profesor"]) if st.button("Registrarse"): if register_user(new_username, new_password, role): st.success("Registro exitoso. Por favor, inicia sesión.") else: st.error("El usuario ya existe") def main_app(): # Aquí va tu código principal de la aplicación # ... (el resto de tu código actual en app.py) def main(): if 'logged_in' not in st.session_state: st.session_state.logged_in = False if not st.session_state.logged_in: menu = ["Iniciar Sesión", "Registrarse"] choice = st.sidebar.selectbox("Menu", menu) if choice == "Iniciar Sesión": login_page() elif choice == "Registrarse": register_page() else: if st.sidebar.button("Cerrar Sesión"): st.session_state.logged_in = False st.experimental_rerun() main_app() if __name__ == "__main__": main()