import streamlit as st from typing import Dict, Optional def render_sidebar(uploaded_docs): """Render the sidebar with uploaded document list.""" st.sidebar.title("Legal AI Assistant") # Upload documents section with st.sidebar.expander("Upload Documents", expanded=True): uploaded_files = st.file_uploader( "Choose files", accept_multiple_files=True, type=["pdf", "docx", "txt"] ) if uploaded_files: for uploaded_file in uploaded_files: if 'uploaded_docs' not in st.session_state: st.session_state.uploaded_docs = [] st.session_state.uploaded_docs.append({ 'name': uploaded_file.name, 'data': uploaded_file.read(), 'processed': False }) st.success(f"{len(uploaded_files)} documents uploaded.") # List uploaded documents st.sidebar.subheader("Uploaded Documents") if uploaded_docs: for doc in uploaded_docs: status = "✅ Processed" if doc.get("processed", False) else "⏳ Pending" st.sidebar.markdown(f"- {doc['name']} ({status})") else: st.sidebar.info("No documents uploaded yet.")