-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmain.py
More file actions
35 lines (26 loc) · 1 KB
/
Copy pathmain.py
File metadata and controls
35 lines (26 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import streamlit as st
from components.sidebar import sidebar_ui
from components.chat_ui import chat_ui
from components.pdf_handler import handle_pdf_upload
from PIL import Image
img = Image.open("assets/sgpa_logo.png")
st.set_page_config(page_title="SGPA", page_icon=img, layout="wide")
# Initialize session state
if "pdf_content" not in st.session_state:
st.session_state.pdf_content = None
if "user_focus" not in st.session_state:
st.session_state.user_focus = ""
# Unpack the tuple returned by sidebar_ui()
selected_mode, selected_sub_mode = sidebar_ui()
# Header
st.title("Study Guide & Personal Assistant")
# PDF Handler (optional upload)
pdf_text, user_focus, summarize_clicked = handle_pdf_upload()
if summarize_clicked and pdf_text:
st.session_state.pdf_content = pdf_text
st.session_state.user_focus = user_focus
st.divider()
st.success("✅ PDF loaded! Starting summary chat...")
st.divider()
# Pass mode and sub_mode separately to chat_ui
chat_ui(selected_mode, selected_sub_mode)