Maryam Ilka commited on
Commit
7d6d22f
·
verified ·
1 Parent(s): af0ebde

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -36
app.py CHANGED
@@ -746,32 +746,6 @@ def attention_check1():
746
  st.warning("لطفاً یک گزینه را انتخاب کنید")
747
 
748
 
749
- def attention_check2():
750
- """سوال توجه دوم (بدون بررسی پاسخ صحیح)"""
751
- st.markdown("""
752
- <style>
753
- /* تضمین رنگ متن برای تمام سطوح */
754
- .st-ec, .st-ed, .st-ee, .st-ef, .st-eg, .st-eh, .st-ei, .st-ej {
755
- color: black !important;
756
- }
757
- </style>
758
- """, unsafe_allow_html=True)
759
- st.markdown("### سوال")
760
-
761
- answer = st.radio(
762
- "حاصل ۵ × ۳ به اضافه ۲ چقدر می‌شود؟",
763
- ["1", "13", "15", "17", "دیگر"],
764
- index=None,
765
- key="att2_radio"
766
- )
767
-
768
- if st.button("ادامه", key="att2_btn"):
769
- if answer:
770
- st.session_state.attention_check2 = answer
771
- st.session_state.current_page = "explanation_questions"
772
- st.rerun()
773
- else:
774
- st.warning("لطفاً یک گزینه را انتخاب کنید")
775
 
776
  def random_likert_questions():
777
  """نمایش تصادفی سوالات لیکرت"""
@@ -793,25 +767,69 @@ def random_likert_questions():
793
  # سوالات procedural (7 گزینه‌ای)
794
  {"key": "procedural_1", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است.", "scale": "7point", "label": "procedural_1"},
795
  {"key": "procedural_2", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است.", "scale": "7point", "label": "procedural_2"},
796
- {"key": "procedural_3", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم معقول است.", "scale": "7point", "label": "procedural_3"}
 
 
 
797
  ]
798
 
799
  # تصادفی‌سازی ترتیب سوالات
800
  random.shuffle(st.session_state.all_questions)
801
  st.session_state.current_question_index = 0
802
 
 
 
 
 
 
 
 
 
 
 
 
803
  if st.session_state.current_question_index < len(st.session_state.all_questions):
804
  q = st.session_state.all_questions[st.session_state.current_question_index]
805
 
806
- # نمایش سوال بدون شماره
807
- answer = create_likert_question(q["question"], q["key"], q["scale"])
808
-
809
- if answer:
810
- st.session_state.current_question_index += 1
811
- time.sleep(0.5)
812
- st.rerun()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
813
  else:
814
- st.session_state.current_page = "attention_check2"
815
  st.rerun()
816
 
817
  def explanation_questions():
@@ -1034,7 +1052,6 @@ def main():
1034
  "map_view": map_view,
1035
  "attention_check1": attention_check1,
1036
  "random_likert_questions": random_likert_questions,
1037
- "attention_check2": attention_check2,
1038
  "explanation_questions": explanation_questions,
1039
  "demographic": demographic_form, # دموگرافیک قبل از کانتکت
1040
  "contact": user_contact, # کانتکت در انتها
 
746
  st.warning("لطفاً یک گزینه را انتخاب کنید")
747
 
748
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
749
 
750
  def random_likert_questions():
751
  """نمایش تصادفی سوالات لیکرت"""
 
767
  # سوالات procedural (7 گزینه‌ای)
768
  {"key": "procedural_1", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است.", "scale": "7point", "label": "procedural_1"},
769
  {"key": "procedural_2", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است.", "scale": "7point", "label": "procedural_2"},
770
+ {"key": "procedural_3", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم معقول است.", "scale": "7point", "label": "procedural_3"},
771
+
772
+ # سوال attention_check2 به صورت رندوم در میان سوالات دیگر
773
+ {"key": "attention_check2", "question": "حاصل ۵ × ۳ به اضافه ۲ چقدر می‌شود؟", "scale": "attention", "label": "attention_check2"}
774
  ]
775
 
776
  # تصادفی‌سازی ترتیب سوالات
777
  random.shuffle(st.session_state.all_questions)
778
  st.session_state.current_question_index = 0
779
 
780
+ # نمایش توضیحات بالای سوالات (فقط برای سوالات لیکرت)
781
+ if (st.session_state.current_question_index < len(st.session_state.all_questions) and \
782
+ (st.session_state.all_questions[st.session_state.current_question_index]["scale"] != "attention"):
783
+ st.markdown("""
784
+ <div style="background-color: #f8f9fa; padding: 15px; border-radius: 10px; margin-bottom: 20px;">
785
+ <p style="font-weight: bold;">راهنمای پاسخگویی:</p>
786
+ <p>لطفا موافقت خود را با سوالات زیر طبق گزینه‌ها اعلام کنید.</p>
787
+ <p>با کلیک روی هر گزینه پاسخ شما انتخاب خواهد شد. لطفا با صبوری و بررسی سوالات را پاسخ دهید و تا بارگزاری سوال بعدی کمی صبر کنید.</p>
788
+ </div>
789
+ """, unsafe_allow_html=True)
790
+
791
  if st.session_state.current_question_index < len(st.session_state.all_questions):
792
  q = st.session_state.all_questions[st.session_state.current_question_index]
793
 
794
+ # نمایش سوال attention_check2 به صورت خاص
795
+ if q["scale"] == "attention":
796
+
797
+ st.markdown("""
798
+ <style>
799
+ /* تضمین رنگ متن برای تمام سطوح */
800
+ .st-ec, .st-ed, .st-ee, .st-ef, .st-eg, .st-eh, .st-ei, .st-ej {
801
+ color: black !important;
802
+ }
803
+ </style>
804
+ """, unsafe_allow_html=True)
805
+ st.markdown("### سوال")
806
+
807
+ answer = st.radio(
808
+ "حاصل ۵ × ۳ به اضافه ۲ چقدر می‌شود؟",
809
+ ["1", "13", "15", "17", "دیگر"],
810
+ index=None,
811
+ key="att2_radio"
812
+ )
813
+
814
+ if st.button("ادامه", key="att2_btn"):
815
+ if answer:
816
+ st.session_state.attention_check2 = answer
817
+ st.session_state.current_question_index += 1
818
+ time.sleep(0.5)
819
+ st.rerun()
820
+ else:
821
+ st.warning("لطفاً یک گزینه را انتخاب کنید")
822
+ else:
823
+ # نمایش سوالات لیکرت به صورت معمول
824
+ answer = create_likert_question(q["question"], q["key"], q["scale"])
825
+
826
+ if answer:
827
+ st.session_state.attention_check2 = answer # ذخیره پاسخ در session_state
828
+ st.session_state.current_question_index += 1
829
+ time.sleep(0.5)
830
+ st.rerun()
831
  else:
832
+ st.session_state.current_page = "explanation_questions"
833
  st.rerun()
834
 
835
  def explanation_questions():
 
1052
  "map_view": map_view,
1053
  "attention_check1": attention_check1,
1054
  "random_likert_questions": random_likert_questions,
 
1055
  "explanation_questions": explanation_questions,
1056
  "demographic": demographic_form, # دموگرافیک قبل از کانتکت
1057
  "contact": user_contact, # کانتکت در انتها