GSMEthesis commited on
Commit
8560c5c
·
verified ·
1 Parent(s): 55b2aac

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -5
app.py CHANGED
@@ -817,24 +817,28 @@ def enhanced_likert_scale(question_data):
817
  <div class="likert-line">
818
  """
819
 
820
- # اضافه کردن نقاط (از 1 تا scale)
 
821
  for i in range(1, scale+1):
822
  value = scale - i
823
- scale_html += f"<div class='likert-dot {'active' if st.session_state.get(key) == value else ''}'></div>"
 
 
824
 
825
  scale_html += "</div></div>"
826
 
827
  # نمایش کامپوننت HTML
828
  components.html(scale_html, height=60)
829
- # ورودی عددی
 
830
  value = st.number_input(
831
  "پاسخ شما (از 1 تا 7):",
832
  min_value=0,
833
  max_value=scale,
834
- value=st.session_state.get(key) if st.session_state.get(key) is not None else 0, # مقدار پیش‌فرض 0
835
  step=1,
836
  key=f"{key}_input",
837
- placeholder="از 1 (کمترین) تا 7 (بیشترین)",
838
  format="%d",
839
  on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
840
  )
 
817
  <div class="likert-line">
818
  """
819
 
820
+ # اضافه کردن نقاط (از 1 تا scale) - فقط در صورتی که مقدار بزرگتر از 0 باشد
821
+ current_value = st.session_state.get(key, 0)
822
  for i in range(1, scale+1):
823
  value = scale - i
824
+ # فقط اگر مقدار جاری بزرگتر از 0 باشد و با این نقطه مطابقت داشته باشد، active شود
825
+ active_class = "active" if current_value > 0 and current_value == value else ""
826
+ scale_html += f"<div class='likert-dot {active_class}'></div>"
827
 
828
  scale_html += "</div></div>"
829
 
830
  # نمایش کامپوننت HTML
831
  components.html(scale_html, height=60)
832
+
833
+ # ورودی عددی با محدوده 0 تا scale
834
  value = st.number_input(
835
  "پاسخ شما (از 1 تا 7):",
836
  min_value=0,
837
  max_value=scale,
838
+ value=st.session_state.get(key),
839
  step=1,
840
  key=f"{key}_input",
841
+ placeholder=" 1 (کمترین) تا 7 (بیشترین)",
842
  format="%d",
843
  on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
844
  )