Wajahat698 commited on
Commit
d101094
·
verified ·
1 Parent(s): 18241ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -36
app.py CHANGED
@@ -180,16 +180,11 @@ def upload_to_firebase(user_id, file):
180
 
181
  def fetch_trustbuilders(user_id):
182
  """
183
- Fetch all TrustBuilders from Firebase and return as a list of dictionaries.
184
  """
185
  try:
186
  trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get().val()
187
- if isinstance(trustbuilders, dict): # If it's a dictionary
188
- return trustbuilders
189
- elif isinstance(trustbuilders, list): # If it's a list
190
- return {str(idx): item for idx, item in enumerate(trustbuilders) if item} # Convert list to dict
191
- else:
192
- return {} # Return an empty dict if no data found
193
  except Exception as e:
194
  st.error(f"Error fetching TrustBuilders: {e}")
195
  return {}
@@ -495,18 +490,19 @@ def load_user_content(user_id):
495
 
496
  def save_content(user_id, content, bucket):
497
  """
498
- Save TrustBuilder as plain text in Firebase.
499
  """
500
  try:
501
- trustbuilder_text = f"{bucket}: {content}"
 
 
 
502
  db.child("users").child(user_id).child("TrustBuilders").push(trustbuilder_text)
503
  st.success("TrustBuilder saved successfully!")
504
  except Exception as e:
505
  st.error(f"Error saving TrustBuilder: {e}")
506
 
507
 
508
-
509
-
510
 
511
  def ai_allocate_trust_bucket(trust_builder_text):
512
  # Implement your AI allocation logic here
@@ -772,33 +768,24 @@ def side():
772
  # Show Trust Builders Section
773
  st.subheader("Show My TrustBuilders®")
774
 
775
- # Arrange text inputs and Show button
776
- col1, col2, col3 = st.columns([1, 1, 0.5])
777
-
778
  search_query = st.text_input("Search by keyword")
779
- st.write("or")
780
  brand = st.text_input("Brand/Product/Person", key="brand_input_show")
781
-
782
- # Trust Buckets selectbox (define it before referencing)
783
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
784
- selected_bucket = st.selectbox("Select Trust Bucket", trust_buckets, key="selected_bucket")
785
 
786
  if st.button("Show"):
787
- st.write(f"Filtering TrustBuilders for keyword='{search_query}', brand='{brand}', and bucket='{selected_bucket}'")
788
  try:
789
  trustbuilders = fetch_trustbuilders(st.session_state["wix_user_id"])
790
  results = []
791
  for trustbuilder_id, data in trustbuilders.items():
792
- # Ensure data is a dictionary or handle accordingly
793
- if isinstance(data, dict):
794
- content = data.get("content", "")
795
- bucket = data.get("bucket", "")
796
- tb_brand = data.get("brand", "")
797
- if ((selected_bucket == bucket or not selected_bucket) and
798
- (not search_query or search_query.lower() in content.lower()) and
799
- (not brand or brand.lower() in tb_brand.lower())):
800
- results.append(f"{bucket}: {content}")
801
  if results:
 
802
  for result in results:
803
  st.markdown(f"- {result}")
804
  else:
@@ -806,23 +793,41 @@ def side():
806
  except Exception as e:
807
  st.error(f"Error fetching TrustBuilders: {e}")
808
 
809
- # Save Trust Builders Section
810
  st.subheader("Save TrustBuilders®")
 
811
  brand_save = st.text_input("Brand/Product/Person", key="brand_input_save")
812
  trust_builder_text = st.text_area("Type/paste Trust Builder®")
813
  selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets, key="save_bucket")
814
 
815
  if st.button("Save"):
816
  if trust_builder_text.strip() and selected_save_bucket:
817
- # Concatenate brand and trust builder text into the content to match the save_content function
818
- content_to_save = f"Brand: {brand_save.strip()} | {trust_builder_text.strip()}"
819
- save_content(
820
- st.session_state["wix_user_id"],
821
- content_to_save,
822
- selected_save_bucket
823
- )
824
  else:
825
  st.warning("Please fill all fields before saving.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
 
827
 
828
 
 
180
 
181
  def fetch_trustbuilders(user_id):
182
  """
183
+ Fetch all TrustBuilders from Firebase.
184
  """
185
  try:
186
  trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get().val()
187
+ return trustbuilders if isinstance(trustbuilders, dict) else {}
 
 
 
 
 
188
  except Exception as e:
189
  st.error(f"Error fetching TrustBuilders: {e}")
190
  return {}
 
490
 
491
  def save_content(user_id, content, bucket):
492
  """
493
+ Save TrustBuilder as normal text in Firebase with the associated bucket.
494
  """
495
  try:
496
+ trustbuilder_text = {
497
+ "content": content,
498
+ "bucket": bucket
499
+ }
500
  db.child("users").child(user_id).child("TrustBuilders").push(trustbuilder_text)
501
  st.success("TrustBuilder saved successfully!")
502
  except Exception as e:
503
  st.error(f"Error saving TrustBuilder: {e}")
504
 
505
 
 
 
506
 
507
  def ai_allocate_trust_bucket(trust_builder_text):
508
  # Implement your AI allocation logic here
 
768
  # Show Trust Builders Section
769
  st.subheader("Show My TrustBuilders®")
770
 
 
 
 
771
  search_query = st.text_input("Search by keyword")
 
772
  brand = st.text_input("Brand/Product/Person", key="brand_input_show")
 
 
773
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
774
+ selected_bucket = st.selectbox("Select Trust Bucket", trust_buckets, key="selected_bucket_show")
775
 
776
  if st.button("Show"):
 
777
  try:
778
  trustbuilders = fetch_trustbuilders(st.session_state["wix_user_id"])
779
  results = []
780
  for trustbuilder_id, data in trustbuilders.items():
781
+ content = data.get("content", "")
782
+ bucket = data.get("bucket", "")
783
+ if ((selected_bucket == bucket or not selected_bucket) and
784
+ (not search_query or search_query.lower() in content.lower()) and
785
+ (not brand or brand.lower() in content.lower())):
786
+ results.append(f"{bucket}: {content}")
 
 
 
787
  if results:
788
+ st.markdown("### Results:")
789
  for result in results:
790
  st.markdown(f"- {result}")
791
  else:
 
793
  except Exception as e:
794
  st.error(f"Error fetching TrustBuilders: {e}")
795
 
796
+ # Save TrustBuilders Section
797
  st.subheader("Save TrustBuilders®")
798
+
799
  brand_save = st.text_input("Brand/Product/Person", key="brand_input_save")
800
  trust_builder_text = st.text_area("Type/paste Trust Builder®")
801
  selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets, key="save_bucket")
802
 
803
  if st.button("Save"):
804
  if trust_builder_text.strip() and selected_save_bucket:
805
+ save_content(st.session_state["wix_user_id"], trust_builder_text.strip(), selected_save_bucket)
 
 
 
 
 
 
806
  else:
807
  st.warning("Please fill all fields before saving.")
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
 
832
 
833