RFP_Analyzer_Agent_backup / components /document_preview.py
cryogenic22's picture
Update components/document_preview.py
79bef70 verified
# components/document_preview.py
import streamlit as st
from typing import Dict, List, Optional, Any
from datetime import datetime
def enhanced_document_preview(doc: Dict[str, Any]):
"""Enhanced document preview component."""
with st.container():
# Header with metadata
col1, col2 = st.columns([3, 1])
with col1:
st.subheader(doc['name'])
st.text(f"Uploaded: {doc['upload_date']}")
if doc.get('collections'):
st.text(f"Collections: {', '.join(doc['collections'])}")
with col2:
st.button("Download PDF", key=f"download_{doc['id']}",
use_container_width=True)
st.button("Add to Collection", key=f"add_col_{doc['id']}",
use_container_width=True)
# Document preview tabs
tab1, tab2, tab3 = st.tabs(["Preview", "Text Content", "Metadata"])
with tab1:
if doc.get('thumbnail'):
st.image(doc['thumbnail'])
else:
st.write("Preview not available")
with tab2:
st.text_area(
"",
value=doc['content'],
height=400,
disabled=True
)
with tab3:
col1, col2 = st.columns(2)
with col1:
st.write("**Document Info**")
st.write(f"Size: {len(doc['content'])/1024:.1f} KB")
st.write(f"Upload Date: {doc['upload_date']}")
st.write(f"Document ID: {doc['id']}")
with col2:
st.write("**Collections**")
for collection in doc.get('collections', []):
st.write(f"• {collection}")