user-feedback / views /intro_screen.py
Ashmi Banerjee
added instructions
dd7da04
raw
history blame
1.87 kB
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.")