GSMEthesis commited on
Commit
80321ef
·
verified ·
1 Parent(s): c15bb1c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -11
app.py CHANGED
@@ -787,7 +787,7 @@ def enhanced_likert_scale(question_data):
787
  middle_label = ""
788
  if scale % 2 == 1: # اگر مقیاس فرد باشد
789
  middle_value = (scale // 2) + 1
790
- middle_label = f"""
791
  <div style='position: absolute; left: 50%; transform: translateX(-50%);'>
792
  <span style='font-size: 14px; font-weight: bold; color: #6a0dad;'>متوسط</span>
793
  <div style='height: 15px; width: 2px; background: #6a0dad; margin: 2px auto;'></div>
@@ -858,16 +858,25 @@ def enhanced_likert_scale(question_data):
858
  """
859
 
860
  # ایجاد دکمه‌های سفارشی با خطوط راهنما
861
- options_html = "".join([
862
- f'<div class="likert-option-container" style="position: relative;">'
863
- f'<div class="likert-option {"selected" if st.session_state.get(key) == i+1 else ""}" '
864
- f'onclick="handleLikertClick({i})">'
865
- f'<span class="likert-number">{i+1}</span>'
866
- f'</div>'
867
- f'{"<div class=\'likert-guide-line\'></div>" if i+1 == 1 or i+1 == scale or (scale % 2 == 1 and i+1 == Math.ceil(scale/2)) else ""}'
868
- f'</div>'
869
- for i in range(scale)
870
- ])
 
 
 
 
 
 
 
 
 
871
 
872
  # ترکیب تمام بخش‌ها با استایل بهبود یافته
873
  components.html(
 
787
  middle_label = ""
788
  if scale % 2 == 1: # اگر مقیاس فرد باشد
789
  middle_value = (scale // 2) + 1
790
+ middle_label = """
791
  <div style='position: absolute; left: 50%; transform: translateX(-50%);'>
792
  <span style='font-size: 14px; font-weight: bold; color: #6a0dad;'>متوسط</span>
793
  <div style='height: 15px; width: 2px; background: #6a0dad; margin: 2px auto;'></div>
 
858
  """
859
 
860
  # ایجاد دکمه‌های سفارشی با خطوط راهنما
861
+ options_html = []
862
+ for i in range(scale):
863
+ is_selected = st.session_state.get(key) == i+1
864
+ is_first = i+1 == 1
865
+ is_last = i+1 == scale
866
+ is_middle = scale % 2 == 1 and i+1 == (scale // 2) + 1
867
+
868
+ option_html = f"""
869
+ <div class="likert-option-container" style="position: relative;">
870
+ <div class="likert-option {'selected' if is_selected else ''}"
871
+ onclick="handleLikertClick({i})">
872
+ <span class="likert-number">{i+1}</span>
873
+ </div>
874
+ {'<div class="likert-guide-line"></div>' if is_first or is_last or is_middle else ''}
875
+ </div>
876
+ """
877
+ options_html.append(option_html)
878
+
879
+ options_html = "".join(options_html)
880
 
881
  # ترکیب تمام بخش‌ها با استایل بهبود یافته
882
  components.html(