Spaces:
Running
Running
import streamlit as st | |
import os | |
from dotenv import load_dotenv | |
from views.continue_survey import continue_survey_screen | |
from db.crud import read | |
load_dotenv() | |
VALIDATION_CODE = os.getenv("VALIDATION_CODE") | |
def validate_username(username: str) -> bool: | |
return bool(username.strip()) | |
def validate_code(input_code: str) -> bool: | |
"""Validate the entered code against the hardcoded validation code""" | |
return input_code.strip() == VALIDATION_CODE | |
def welcome_screen(): | |
"""Display the welcome screen and direct users accordingly.""" | |
with st.container(): | |
st.markdown("""<style> .st-emotion-cache-1jicfl2 {width: 50%;} </style>""", unsafe_allow_html=True) | |
st.title("Welcome to the Feedback Survey") | |
username_input = st.text_input("Enter your first name and press TAB. Usernames are case-sensitive.") | |
validation_code_input = st.text_input("Enter the validation code to proceed and press ENTER:") | |
next_button = st.button("Next") | |
footer_html = """<div style='text-align: center; background-color:#ECECEC;padding:3rem;'> <p | |
style='font-size: large;'>⚠️ Note: This is still a work in progress. <br> If you encounter bugs or issues | |
please create a Pull Request and we will look into it.</br></p> </div> """ | |
st.markdown(footer_html, unsafe_allow_html=True) | |
if (username_input and validation_code_input) or next_button: | |
if validate_username(username_input) and validate_code(validation_code_input): | |
st.session_state.username = username_input | |
else: | |
if not validate_username(username_input): | |
st.warning("Invalid username. Please check and try again.") | |
if not validate_code(validation_code_input): | |
st.warning("Invalid validation code. Please check and try again.") | |