Wajahat698 commited on
Commit
17b7002
·
verified ·
1 Parent(s): dc51b4c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -29
app.py CHANGED
@@ -167,15 +167,14 @@ def upload_to_firebase(user_id, content):
167
 
168
 
169
  def fetch_trustbuilders(user_id):
 
 
 
170
  try:
171
- st.write(f"Fetching TrustBuilders for user: {user_id}")
172
  trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get()
173
  if trustbuilders.each():
174
- st.write("Raw TrustBuilders fetched from Firebase:")
175
- st.json(trustbuilders.val())
176
  return {item.key(): item.val() for item in trustbuilders.each()}
177
  else:
178
- st.warning("No TrustBuilders found in Firebase.")
179
  return {}
180
  except Exception as e:
181
  st.error(f"Error fetching TrustBuilders: {e}")
@@ -498,16 +497,17 @@ def load_user_content(user_id):
498
 
499
 
500
 
501
- def save_content(user_id, brand, message, bucket):
 
 
 
502
  try:
503
- trustbuilder_id = str(uuid.uuid4())
504
- path = f"users/{user_id}/TrustBuilders/{trustbuilder_id}"
505
- data = {"brand": brand, "message": message, "bucket": bucket}
506
- st.write(f"Saving TrustBuilder to path: {path}")
507
- db.child("users").child(user_id).child("TrustBuilders").child(trustbuilder_id).set(data)
508
- st.success(f"TrustBuilder saved successfully under '{bucket}'!")
509
  except Exception as e:
510
- st.error(f"Error saving TrustBuilder: {e}")
511
 
512
 
513
  def ai_allocate_trust_bucket(trust_builder_text):
@@ -744,42 +744,44 @@ def side():
744
  st.warning("Please select at least one file to upload.")
745
 
746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
747
  st.subheader("Show My TrustBuilders®")
748
  search_query = st.text_input("Search by keyword")
749
  selected_bucket = st.selectbox("Select Trust Bucket", ["All"] + trust_buckets)
750
 
751
  if st.button("Show TrustBuilders"):
752
- trustbuilders = fetch_trustbuilders(st.session_state["wix_user_id"])
753
  st.write(f"Filtering TrustBuilders for keyword='{search_query}' and bucket='{selected_bucket}'")
754
-
755
  if trustbuilders:
756
  filtered = {
757
  key: value for key, value in trustbuilders.items()
758
- if (selected_bucket == "All" or value.get("bucket") == selected_bucket)
759
  and (not search_query or search_query.lower() in value.get("message", "").lower())
760
  }
761
  if filtered:
762
  for trustbuilder_id, data in filtered.items():
763
  with st.expander(f"TrustBuilder ID: {trustbuilder_id[:8]}"):
764
- st.write(f"**Brand:** {data['brand']}")
765
  st.write(f"**Message:** {data['message']}")
766
- st.write(f"**Bucket:** {data['bucket']}")
767
  else:
768
  st.write("No TrustBuilders found matching the criteria.")
769
  else:
770
  st.write("No TrustBuilders found.")
771
-
772
- # Save TrustBuilder Section
773
- st.subheader("Save TrustBuilders®")
774
- selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets)
775
- brand = st.text_input("Brand/Product/Person")
776
- trust_builder_message = st.text_area("Type/paste Trust Builder®")
777
-
778
- if st.button("Save TrustBuilder"):
779
- if selected_save_bucket and trust_builder_message.strip():
780
- save_content(st.session_state["wix_user_id"], brand, trust_builder_message.strip(), selected_save_bucket)
781
- else:
782
- st.warning("Please fill in all fields before saving.")
783
 
784
 
785
  side()
 
167
 
168
 
169
  def fetch_trustbuilders(user_id):
170
+ """
171
+ Fetch TrustBuilders for a specific user from Firebase.
172
+ """
173
  try:
 
174
  trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get()
175
  if trustbuilders.each():
 
 
176
  return {item.key(): item.val() for item in trustbuilders.each()}
177
  else:
 
178
  return {}
179
  except Exception as e:
180
  st.error(f"Error fetching TrustBuilders: {e}")
 
497
 
498
 
499
 
500
+ def save_content(user_id, content, bucket):
501
+ """
502
+ Save TrustBuilder to Firebase under a specified bucket.
503
+ """
504
  try:
505
+ entry_id = str(uuid.uuid4())
506
+ full_message = f"[{bucket}] {content}" # Append bucket name to the content
507
+ db.child("users").child(user_id).child("TrustBuilders").child(entry_id).set({"message": full_message})
508
+ st.success(f"TrustBuilder saved under '{bucket}'!")
 
 
509
  except Exception as e:
510
+ st.error(f"Could not save TrustBuilder. Error: {e}")
511
 
512
 
513
  def ai_allocate_trust_bucket(trust_builder_text):
 
744
  st.warning("Please select at least one file to upload.")
745
 
746
 
747
+ st.subheader("Save TrustBuilders®")
748
+ bucket_to_save = st.selectbox("Choose Trust Bucket to Save", trust_buckets)
749
+ brand = st.text_input("Brand/Product/Person")
750
+ trust_builder_message = st.text_area("Type/paste Trust Builder®")
751
+
752
+ if st.button("Save TrustBuilder"):
753
+ if bucket_to_save and trust_builder_message.strip():
754
+ save_content(
755
+ user_id=st.session_state.get("wix_user_id"), # Replace "demo_user" with actual user ID logic
756
+ content=trust_builder_message.strip(),
757
+ bucket=bucket_to_save
758
+ )
759
+ else:
760
+ st.warning("Please fill in all fields before saving.")
761
+
762
+ # Show My TrustBuilders Section
763
  st.subheader("Show My TrustBuilders®")
764
  search_query = st.text_input("Search by keyword")
765
  selected_bucket = st.selectbox("Select Trust Bucket", ["All"] + trust_buckets)
766
 
767
  if st.button("Show TrustBuilders"):
768
+ trustbuilders = fetch_trustbuilders(st.session_state.get("wix_user_id", "demo_user")) # Replace "demo_user" with actual user ID logic
769
  st.write(f"Filtering TrustBuilders for keyword='{search_query}' and bucket='{selected_bucket}'")
770
+
771
  if trustbuilders:
772
  filtered = {
773
  key: value for key, value in trustbuilders.items()
774
+ if (selected_bucket == "All" or f"[{selected_bucket}]" in value.get("message", ""))
775
  and (not search_query or search_query.lower() in value.get("message", "").lower())
776
  }
777
  if filtered:
778
  for trustbuilder_id, data in filtered.items():
779
  with st.expander(f"TrustBuilder ID: {trustbuilder_id[:8]}"):
 
780
  st.write(f"**Message:** {data['message']}")
 
781
  else:
782
  st.write("No TrustBuilders found matching the criteria.")
783
  else:
784
  st.write("No TrustBuilders found.")
 
 
 
 
 
 
 
 
 
 
 
 
785
 
786
 
787
  side()