| |
| 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 |
|
|
| |
|
|
| 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(): |
| |
| |
|
|
| 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() |