Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from utils.login import get_login | |
| import os | |
| def initialize_level(): | |
| if "level" not in st.session_state: | |
| if get_login()["status"]: | |
| if not os.path.exists(f".sessions/{get_login()['username']}/level.txt"): | |
| with open(f".sessions/{get_login()['username']}/level.txt", "w") as f: | |
| f.write("0") | |
| st.session_state["level"] = 0 | |
| else: | |
| with open(f".sessions/{get_login()['username']}/level.txt", "r") as f: | |
| st.session_state["level"] = int(f.read()) | |
| def get_level(): | |
| return st.session_state["level"] | |
| def render_page(page, level): | |
| if get_login()["status"]: | |
| if st.session_state["level"] < level: | |
| st.error(f"You need to complete Level {st.session_state['level']} first!") | |
| else: | |
| page() | |
| else: | |
| st.error("You need to login first!") | |
| def complete_level(level): | |
| if st.session_state["level"] > level: | |
| st.info(f"You have Already completed Level {level}!") | |
| else: | |
| st.session_state["level"] = level + 1 | |
| with open(f".sessions/{get_login()['username']}/level.txt", "w") as f: | |
| f.write(str(st.session_state["level"])) | |
| st.balloons() | |
| st.success( | |
| f"You have completed Level {level}! You can now move on to the next level." | |
| ) | |