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