Sina Media Lab commited on
Commit
26df557
·
1 Parent(s): be0b9ff
Files changed (1) hide show
  1. app.py +13 -21
app.py CHANGED
@@ -23,8 +23,6 @@ if 'pdf_data' not in st.session_state:
23
  st.session_state.pdf_data = None
24
  if 'next_disabled' not in st.session_state:
25
  st.session_state.next_disabled = True
26
- if 'submit_disabled' not in st.session_state:
27
- st.session_state.submit_disabled = True
28
  if 'selected_answer' not in st.session_state:
29
  st.session_state.selected_answer = None
30
 
@@ -114,7 +112,6 @@ def navigate_question(direction):
114
  st.session_state.questions.append(new_question)
115
  st.session_state.current_index = len(st.session_state.questions) - 1
116
  st.session_state.next_disabled = True
117
- st.session_state.submit_disabled = True
118
  st.session_state.selected_answer = None
119
 
120
  # Load all modules dynamically
@@ -137,7 +134,6 @@ if selected_module != st.session_state.current_module:
137
  st.session_state.module_question_count[selected_module] = 0
138
  st.session_state.module_correct_count[selected_module] = 0
139
  st.session_state.next_disabled = True
140
- st.session_state.submit_disabled = True
141
  st.session_state.selected_answer = None
142
 
143
  # Load the current module's question
@@ -176,25 +172,21 @@ with st.form(key=f'question_form_{st.session_state.current_index}'):
176
  key=f"question_{st.session_state.current_index}_options",
177
  index=None # Ensure no option is pre-selected
178
  )
179
- # Enable submit button when an answer is selected
180
- submit_button = st.form_submit_button(label="Submit", disabled=st.session_state.submit_disabled)
181
 
182
  # Handle button state and answer submission
183
- if selected_answer and st.session_state.submit_disabled:
184
- st.session_state.submit_disabled = False
185
-
186
- if submit_button and selected_answer:
187
- # Process the answer
188
- current_question['selected'] = selected_answer
189
- current_question['answered'] = True
190
- st.session_state.module_question_count[selected_module] += 1
191
-
192
- if selected_answer == current_question['correct_answer']:
193
- st.session_state.correct_count += 1
194
- st.session_state.module_correct_count[selected_module] += 1
195
-
196
- st.session_state.next_disabled = False
197
- st.session_state.submit_disabled = True
198
 
199
  # Show correct/incorrect feedback after submission
200
  if current_question.get('answered', False):
 
23
  st.session_state.pdf_data = None
24
  if 'next_disabled' not in st.session_state:
25
  st.session_state.next_disabled = True
 
 
26
  if 'selected_answer' not in st.session_state:
27
  st.session_state.selected_answer = None
28
 
 
112
  st.session_state.questions.append(new_question)
113
  st.session_state.current_index = len(st.session_state.questions) - 1
114
  st.session_state.next_disabled = True
 
115
  st.session_state.selected_answer = None
116
 
117
  # Load all modules dynamically
 
134
  st.session_state.module_question_count[selected_module] = 0
135
  st.session_state.module_correct_count[selected_module] = 0
136
  st.session_state.next_disabled = True
 
137
  st.session_state.selected_answer = None
138
 
139
  # Load the current module's question
 
172
  key=f"question_{st.session_state.current_index}_options",
173
  index=None # Ensure no option is pre-selected
174
  )
175
+ submit_button = st.form_submit_button(label="Submit")
 
176
 
177
  # Handle button state and answer submission
178
+ if submit_button:
179
+ if selected_answer is not None:
180
+ # Process the answer
181
+ current_question['selected'] = selected_answer
182
+ current_question['answered'] = True
183
+ st.session_state.module_question_count[selected_module] += 1
184
+
185
+ if selected_answer == current_question['correct_answer']:
186
+ st.session_state.correct_count += 1
187
+ st.session_state.module_correct_count[selected_module] += 1
188
+
189
+ st.session_state.next_disabled = False
 
 
 
190
 
191
  # Show correct/incorrect feedback after submission
192
  if current_question.get('answered', False):