|
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.') |