Spaces:
Sleeping
Sleeping
import streamlit as st | |
import os | |
from dotenv import load_dotenv | |
import google.generativeai as genai | |
from pathlib import Path | |
import json | |
# Load environment variables | |
load_dotenv() | |
# Configure Gemini API | |
genai.configure(api_key=os.getenv("Gemini_API_Key")) | |
model = genai.GenerativeModel('gemini-pro') | |
# 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 | |
# Import other modules | |
from tutorial import show_tutorial | |
from live_session import show_live_session | |
from moti_chat import show_moti_chat | |
from session_analysis import show_session_analysis | |
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" | |
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" | |
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() |