Wajahat698 commited on
Commit
f37d7d2
·
verified ·
1 Parent(s): 546bbfd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -52
app.py CHANGED
@@ -180,18 +180,18 @@ def upload_to_firebase(user_id, file):
180
 
181
  def fetch_trustbuilders(user_id):
182
  """
183
- Fetch all TrustBuilders as plain text from Firebase.
184
  """
185
  try:
186
- trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get()
187
- if trustbuilders.each():
188
- return [item.val() for item in trustbuilders.each()]
189
  else:
190
- st.warning("No TrustBuilders found in Firebase.")
191
- return []
192
  except Exception as e:
193
  st.error(f"Error fetching TrustBuilders: {e}")
194
- return []
195
 
196
 
197
  def delete_trustbuilder(user_id, trustbuilder_id):
@@ -491,19 +491,19 @@ def load_user_content(user_id):
491
  st.info("not loaded ")
492
 
493
 
494
- def save_content(user_id, content, bucket):
495
  """
496
- Save TrustBuilder as plain text in Firebase.
497
  """
498
  try:
499
- trustbuilder_text = f"{bucket}: {content}"
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
509
  return "Stability"
@@ -769,52 +769,44 @@ def side():
769
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
770
 
771
  st.subheader("Show My TrustBuilders®")
772
- search_query = st.text_input("Search by keyword")
773
- selected_bucket = st.selectbox("Select Trust Bucket", ["All"] + trust_buckets)
774
-
775
- if st.button("Show TrustBuilders"):
776
- trustbuilders = fetch_trustbuilders(st.session_state.get("user_id", "demo_user")) # Replace with actual user ID
777
- st.write(f"Filtering TrustBuilders for keyword='{search_query}' and bucket='{selected_bucket}'")
778
-
 
 
 
779
  if trustbuilders:
780
- filtered = [
781
- tb for tb in trustbuilders
782
- if (selected_bucket == "All" or tb.startswith(selected_bucket)) and
783
- (not search_query or search_query.lower() in tb.lower())
784
- ]
785
- if filtered:
786
- for tb in filtered:
787
- st.write(tb)
 
 
788
  else:
789
  st.write("No TrustBuilders found matching the criteria.")
790
  else:
791
  st.write("No TrustBuilders found.")
792
-
793
-
794
- # Save TrustBuilders Section
795
  st.subheader("Save TrustBuilders®")
796
-
797
- st.subheader("Show My TrustBuilders®")
798
- search_query = st.text_input("Search by keyword")
799
- selected_bucket = st.selectbox("Select Trust Bucket", ["All"] + trust_buckets)
800
-
801
- if st.button("Show TrustBuilders"):
802
- trustbuilders = fetch_trustbuilders(st.session_state.get("user_id", "demo_user")) # Replace with actual user ID
803
- st.write(f"Filtering TrustBuilders for keyword='{search_query}' and bucket='{selected_bucket}'")
804
-
805
- if trustbuilders:
806
- filtered = [
807
- tb for tb in trustbuilders
808
- if (selected_bucket == "All" or tb.startswith(selected_bucket)) and
809
- (not search_query or search_query.lower() in tb.lower())
810
- ]
811
- if filtered:
812
- for tb in filtered:
813
- st.write(tb)
814
- else:
815
- st.write("No TrustBuilders found matching the criteria.")
816
  else:
817
- st.write("No TrustBuilders found.")
818
 
819
 
820
 
 
180
 
181
  def fetch_trustbuilders(user_id):
182
  """
183
+ Fetch all TrustBuilders for a user from Firebase.
184
  """
185
  try:
186
+ trustbuilders = db.child("users").child(user_id).child("TrustBuilders").get().val()
187
+ if trustbuilders:
188
+ return trustbuilders
189
  else:
190
+ st.warning("No TrustBuilders found.")
191
+ return {}
192
  except Exception as e:
193
  st.error(f"Error fetching TrustBuilders: {e}")
194
+ return {}
195
 
196
 
197
  def delete_trustbuilder(user_id, trustbuilder_id):
 
491
  st.info("not loaded ")
492
 
493
 
494
+ def save_content(user_id, content):
495
  """
496
+ Save TrustBuilder in Firebase under the correct structure.
497
  """
498
  try:
499
+ trustbuilder_id = str(uuid.uuid4())
500
+ trustbuilder_data = {"content": content}
501
+ db.child("users").child(user_id).child("TrustBuilders").child(trustbuilder_id).set(trustbuilder_data)
502
+ st.success(f"TrustBuilder '{content}' saved successfully!")
503
  except Exception as e:
504
  st.error(f"Error saving TrustBuilder: {e}")
505
 
506
 
 
507
  def ai_allocate_trust_bucket(trust_builder_text):
508
  # Implement your AI allocation logic here
509
  return "Stability"
 
769
  trust_buckets = ["Stability", "Development", "Relationship", "Benefit", "Vision", "Competence"]
770
 
771
  st.subheader("Show My TrustBuilders®")
772
+ # Ensure unique keys for each text input by providing explicit keys
773
+ search_query = st.text_input("Search by keyword", key="search_query")
774
+ selected_bucket = st.selectbox("Select Trust Bucket", ["All"] + trust_buckets, key="selected_bucket")
775
+
776
+ if st.button("Show TrustBuilders", key="show_trustbuilders"):
777
+ # Fetch TrustBuilders from Firebase
778
+ trustbuilders = fetch_trustbuilders(st.session_state.get("user_id", "demo_user"))
779
+ st.write(f"Debugging: Retrieved TrustBuilders - {trustbuilders}") # Debug output to check what is being fetched
780
+
781
+ results = []
782
  if trustbuilders:
783
+ for tb_id, tb_data in trustbuilders.items():
784
+ content = tb_data.get("content", "")
785
+ bucket, text = content.split(": ", 1) if ": " in content else ("", content)
786
+ if (selected_bucket == "All" or bucket == selected_bucket) and (not search_query or search_query.lower() in text.lower()):
787
+ results.append(content)
788
+
789
+ if results:
790
+ st.write("### Results:")
791
+ for result in results:
792
+ st.write(f"- {result}")
793
  else:
794
  st.write("No TrustBuilders found matching the criteria.")
795
  else:
796
  st.write("No TrustBuilders found.")
797
+
 
 
798
  st.subheader("Save TrustBuilders®")
799
+ brand_save = st.text_input("Brand/Product/Person", key="brand_input_save")
800
+ trust_builder_text = st.text_area("Type/paste Trust Builder®", key="trust_builder_text")
801
+ selected_save_bucket = st.selectbox("Choose Trust Bucket to Save", trust_buckets, key="save_bucket")
802
+
803
+ if st.button("Save TrustBuilder", key="save_trustbuilder"):
804
+ if trust_builder_text.strip() and selected_save_bucket:
805
+ content_to_save = f"{selected_save_bucket}: Brand: {brand_save.strip()} | {trust_builder_text.strip()}"
806
+ save_content(st.session_state.get("wix_user_id", "demo_user"), content_to_save) # Assume function signature has been corrected
807
+ st.success("TrustBuilder saved successfully!")
 
 
 
 
 
 
 
 
 
 
 
808
  else:
809
+ st.warning("Please fill all fields before saving.")
810
 
811
 
812