Spaces:
Paused
Paused
Maryam Ilka commited on
Update app.py
Browse files
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 |
-
|
| 808 |
-
|
| 809 |
-
|
| 810 |
-
|
| 811 |
-
|
| 812 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 813 |
else:
|
| 814 |
-
st.session_state.current_page = "
|
| 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, # کانتکت در انتها
|