MotiMeter / app.py
Jiaaaaaaax's picture
Create app.py
5cbbfa5 verified
raw
history blame
2.36 kB
import streamlit as st
import os
from dotenv import load_dotenv
from audio_recorder_streamlit import audio_recorder
import time
from pathlib import Path
import json
# Load environment variables
load_dotenv()
# Page config
st.set_page_config(
page_title="MI Assistant",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded"
)
# Initialize session state variables
if 'role' not in st.session_state:
st.session_state.role = None
if 'current_mode' not in st.session_state:
st.session_state.current_mode = None
# Sidebar
def sidebar():
with st.sidebar:
# Role switcher at the top
st.session_state.role = st.radio(
"Switch Role",
["Consumer", "Therapist"],
index=0 if st.session_state.role == "Consumer" else 1
)
st.title("Navigation")
# Tutorial button
if st.button("Tutorial"):
st.session_state.current_mode = "tutorial"
# Main navigation
st.subheader("Main Features")
if st.button("Live Session"):
st.session_state.current_mode = "live_session"
if st.button("Moti Chat"):
st.session_state.current_mode = "moti_chat"
if st.button("Session Analysis"):
st.session_state.current_mode = "session_analysis"
# Welcome page
def welcome_page():
st.title("Welcome to MI Assistant")
st.write("Please select your role to continue:")
col1, col2 = st.columns(2)
with col1:
if st.button("I am a Consumer"):
st.session_state.role = "Consumer"
st.session_state.current_mode = "tutorial"
with col2:
if st.button("I am a Therapist"):
st.session_state.role = "Therapist"
st.session_state.current_mode = "tutorial"
# Main app logic
def main():
if st.session_state.role is None:
welcome_page()
else:
sidebar()
if st.session_state.current_mode == "tutorial":
show_tutorial()
elif st.session_state.current_mode == "live_session":
show_live_session()
elif st.session_state.current_mode == "moti_chat":
show_moti_chat()
elif st.session_state.current_mode == "session_analysis":
show_session_analysis()
if __name__ == "__main__":
main()