GSMEthesis commited on
Commit
d488d7c
·
verified ·
1 Parent(s): dac9a31

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -11
app.py CHANGED
@@ -739,7 +739,7 @@ h3 {
739
 
740
  # ========== توابع اصلی ==========
741
  def enhanced_likert_scale(question_data):
742
- """لیکرت اسکیل با خط نقطه‌دار HTML و ورودی عددی"""
743
  question = question_data["question"]
744
  key = question_data["key"]
745
  scale = question_data["scale"]
@@ -747,7 +747,7 @@ def enhanced_likert_scale(question_data):
747
 
748
  # مقداردهی اولیه
749
  if key not in st.session_state:
750
- st.session_state[key] = None
751
 
752
  # نمایش سوال
753
  st.markdown(f"<div style='text-align:center; font-weight:bold; margin-bottom:15px;'>{question}</div>",
@@ -817,25 +817,24 @@ def enhanced_likert_scale(question_data):
817
  <div class="likert-line">
818
  """
819
 
820
- # اضافه کردن نقاط
821
- for i in range(scale):
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
- # ورودی عددی
831
  value = st.number_input(
832
- "مقدار را وارد کنید (از 1 تا 7):",
833
- min_value=1,
834
  max_value=scale,
835
- value=st.session_state.get(key) if st.session_state.get(key) is not None else 1, # مقدار پیش‌فرض 1
836
  step=1,
837
  key=f"{key}_input",
838
- placeholder="لطفاً از 1 (کمترین) تا 7 (بیشترین) انتخاب کنید",
839
  format="%d",
840
  on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
841
  )
 
739
 
740
  # ========== توابع اصلی ==========
741
  def enhanced_likert_scale(question_data):
742
+ """لیکرت اسکیل با محدوده 0 تا scale و عدم نمایش نقطه برای 0"""
743
  question = question_data["question"]
744
  key = question_data["key"]
745
  scale = question_data["scale"]
 
747
 
748
  # مقداردهی اولیه
749
  if key not in st.session_state:
750
+ st.session_state[key] = 0
751
 
752
  # نمایش سوال
753
  st.markdown(f"<div style='text-align:center; font-weight:bold; margin-bottom:15px;'>{question}</div>",
 
817
  <div class="likert-line">
818
  """
819
 
820
+ # اضافه کردن نقاط (از 1 تا scale)
821
+ for i in range(1, scale+1):
822
+ scale_html += f"<div class='likert-dot {'active' if st.session_state.get(key) == i else ''}'></div>"
 
823
 
824
  scale_html += "</div></div>"
825
 
826
  # نمایش کامپوننت HTML
827
  components.html(scale_html, height=60)
828
 
829
+ # ورودی عددی با محدوده 0 تا scale
830
  value = st.number_input(
831
+ "مقدار را وارد کنید (از 0 تا 7):",
832
+ min_value=0,
833
  max_value=scale,
834
+ value=st.session_state.get(key),
835
  step=1,
836
  key=f"{key}_input",
837
+ placeholder="0: بدون نظر / 1 (کمترین) تا 7 (بیشترین)",
838
  format="%d",
839
  on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
840
  )