Wajahat698 commited on
Commit
016b619
·
verified ·
1 Parent(s): add271e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -30
app.py CHANGED
@@ -672,8 +672,6 @@ def side():
672
 
673
 
674
  st.sidebar.header("TrustVault®")
675
-
676
- st.subheader("Saved Documents")
677
  st.sidebar.markdown("""
678
  <style>
679
  .scrollable-container {
@@ -686,70 +684,105 @@ def side():
686
  }
687
  .button-container {
688
  display: flex;
689
- justify-content: flex-end;
690
  margin-top: 10px;
691
  }
692
  </style>
693
  """, unsafe_allow_html=True)
694
 
695
- # Scrollable container for saved documents
696
  st.sidebar.markdown('<div class="scrollable-container">', unsafe_allow_html=True)
697
  try:
 
698
  docs = db.child("users").child(st.session_state["wix_user_id"]).child("KnowledgeBase").get().val()
 
 
699
  if docs:
700
  for doc_id, doc_data in docs.items():
701
- st.sidebar.markdown(f"**{doc_data.get('content', 'Document')}**")
702
- if st.sidebar.button("Delete", key=f"delete_{doc_id}"):
703
- delete_document(st.session_state["wix_user_id"], doc_id)
 
704
  else:
705
  st.sidebar.write("No saved documents found.")
706
  except Exception as e:
707
  st.sidebar.error(f"Error fetching documents: {e}")
708
  st.sidebar.markdown('</div>', unsafe_allow_html=True)
709
 
710
- # Buttons aligned beneath the text area
711
  st.sidebar.markdown('<div class="button-container">', unsafe_allow_html=True)
712
- uploaded_file = st.file_uploader("")
713
 
714
- # Compact Upload Button
 
 
 
715
  if st.sidebar.button("Upload"):
716
  if uploaded_file:
717
  save_document(st.sess, uploaded_file.name)
718
  else:
719
  st.sidebar.warning("Please select a file to upload.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
720
  st.sidebar.markdown('</div>', unsafe_allow_html=True)
721
-
722
 
723
  # Show Trust Builders Section
724
  st.subheader("Show My TrustBuilders®")
725
- search_query = st.text_input("Search by keyword")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
726
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
727
  selected_bucket = st.selectbox("Select Trust Bucket", trust_buckets)
728
 
729
- if st.button("Show"):
730
- st.write(f"Filtering TrustBuilders for keyword='{search_query}' and bucket='{selected_bucket}'")
731
- trustbuilders = fetch_trustbuilders(st.session_state["wix_user_id"])
732
- results = []
733
- for trustbuilder_id, data in trustbuilders.items():
734
- content = data.get("content", "")
735
- bucket = data.get("bucket", "")
736
- if (selected_bucket == bucket or not selected_bucket) and (not search_query or search_query.lower() in content.lower()):
737
- results.append(f"{bucket}: {content}")
738
- if results:
739
- for result in results:
740
- st.markdown(f"- {result}")
741
- else:
742
- st.write("No TrustBuilders found.")
743
-
744
  # Save Trust Builders Section
745
  st.subheader("Save TrustBuilders®")
746
- brand = st.text_input("Brand/Product/Person", key="brand_input")
747
  trust_builder_text = st.text_area("Type/paste Trust Builder®")
748
  selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets, key="save_bucket")
749
 
750
  if st.button("Save"):
751
- if trust_builder_text.strip() and selected_save_bucket:
752
- save_trustbuilder(st.session_state["wix_user_id"], trust_builder_text.strip(), selected_save_bucket)
753
  else:
754
  st.warning("Please fill all fields before saving.")
755
 
 
672
 
673
 
674
  st.sidebar.header("TrustVault®")
 
 
675
  st.sidebar.markdown("""
676
  <style>
677
  .scrollable-container {
 
684
  }
685
  .button-container {
686
  display: flex;
687
+ flex-direction: column;
688
  margin-top: 10px;
689
  }
690
  </style>
691
  """, unsafe_allow_html=True)
692
 
693
+ # Sidebar: Saved Documents
694
  st.sidebar.markdown('<div class="scrollable-container">', unsafe_allow_html=True)
695
  try:
696
+ # Fetch and display saved documents
697
  docs = db.child("users").child(st.session_state["wix_user_id"]).child("KnowledgeBase").get().val()
698
+ doc_names = []
699
+ doc_ids = []
700
  if docs:
701
  for doc_id, doc_data in docs.items():
702
+ doc_name = doc_data.get('content', 'Document')
703
+ st.sidebar.markdown(f"**{doc_name}**")
704
+ doc_names.append(doc_name)
705
+ doc_ids.append(doc_id)
706
  else:
707
  st.sidebar.write("No saved documents found.")
708
  except Exception as e:
709
  st.sidebar.error(f"Error fetching documents: {e}")
710
  st.sidebar.markdown('</div>', unsafe_allow_html=True)
711
 
712
+ # Below saved documents: Upload and Delete buttons
713
  st.sidebar.markdown('<div class="button-container">', unsafe_allow_html=True)
 
714
 
715
+ # File uploader
716
+ uploaded_file = st.sidebar.file_uploader("", key="file_uploader")
717
+
718
+ # Upload button
719
  if st.sidebar.button("Upload"):
720
  if uploaded_file:
721
  save_document(st.sess, uploaded_file.name)
722
  else:
723
  st.sidebar.warning("Please select a file to upload.")
724
+
725
+ # Multi-select for deleting documents
726
+ if docs:
727
+ selected_docs = st.sidebar.multiselect("Select documents to delete", options=doc_names)
728
+ if st.sidebar.button("Delete Selected"):
729
+ for doc_name in selected_docs:
730
+ # Find the doc_id corresponding to the doc_name
731
+ doc_id_to_delete = None
732
+ for doc_id, doc_data in docs.items():
733
+ if doc_data.get('content', '') == doc_name:
734
+ doc_id_to_delete = doc_id
735
+ break
736
+ if doc_id_to_delete:
737
+ delete_document(st.session_state["wix_user_id"], doc_id_to_delete)
738
+ st.sidebar.success("Selected documents deleted.")
739
+ else:
740
+ st.sidebar.write("No documents to delete.")
741
+
742
  st.sidebar.markdown('</div>', unsafe_allow_html=True)
 
743
 
744
  # Show Trust Builders Section
745
  st.subheader("Show My TrustBuilders®")
746
+
747
+ # Arrange text inputs and Show button
748
+ col1, col2, col3 = st.columns([1, 1, 0.5])
749
+ with col1:
750
+ search_query = st.text_input("Search by keyword")
751
+ with col2:
752
+ brand = st.text_input("Brand/Product/Person", key="brand_input_show")
753
+ with col3:
754
+ st.write("") # Empty space to align the button
755
+ if st.button("Show"):
756
+ st.write(f"Filtering TrustBuilders for keyword='{search_query}', brand='{brand}', and bucket='{selected_bucket}'")
757
+ trustbuilders = fetch_trustbuilders(st.session_state["wix_user_id"])
758
+ results = []
759
+ for trustbuilder_id, data in trustbuilders.items():
760
+ content = data.get("content", "")
761
+ bucket = data.get("bucket", "")
762
+ tb_brand = data.get("brand", "")
763
+ if ((selected_bucket == bucket or not selected_bucket) and
764
+ (not search_query or search_query.lower() in content.lower()) and
765
+ (not brand or brand.lower() in tb_brand.lower())):
766
+ results.append(f"{bucket}: {content}")
767
+ if results:
768
+ for result in results:
769
+ st.markdown(f"- {result}")
770
+ else:
771
+ st.write("No TrustBuilders found.")
772
+
773
+ # Trust Buckets selectbox below
774
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
775
  selected_bucket = st.selectbox("Select Trust Bucket", trust_buckets)
776
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
777
  # Save Trust Builders Section
778
  st.subheader("Save TrustBuilders®")
779
+ brand_save = st.text_input("Brand/Product/Person", key="brand_input_save")
780
  trust_builder_text = st.text_area("Type/paste Trust Builder®")
781
  selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets, key="save_bucket")
782
 
783
  if st.button("Save"):
784
+ if trust_builder_text.strip() and selected_save_bucket and brand_save.strip():
785
+ save_trustbuilder(st.session_state["wix_user_id"], trust_builder_text.strip(), selected_save_bucket, brand_save.strip())
786
  else:
787
  st.warning("Please fill all fields before saving.")
788