Sina Media Lab commited on
Commit
be0b9ff
·
1 Parent(s): 5866ecf
Files changed (1) hide show
  1. app.py +13 -2
app.py CHANGED
@@ -23,6 +23,10 @@ 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
 
27
  def reset_pdf_cache():
28
  st.session_state.pdf_data = None
@@ -110,6 +114,7 @@ def navigate_question(direction):
110
  st.session_state.questions.append(new_question)
111
  st.session_state.current_index = len(st.session_state.questions) - 1
112
  st.session_state.next_disabled = True
 
113
  st.session_state.selected_answer = None
114
 
115
  # Load all modules dynamically
@@ -132,6 +137,7 @@ if selected_module != st.session_state.current_module:
132
  st.session_state.module_question_count[selected_module] = 0
133
  st.session_state.module_correct_count[selected_module] = 0
134
  st.session_state.next_disabled = True
 
135
  st.session_state.selected_answer = None
136
 
137
  # Load the current module's question
@@ -167,12 +173,16 @@ with st.form(key=f'question_form_{st.session_state.current_index}'):
167
  selected_answer = st.radio(
168
  "Choose an answer:",
169
  options=current_question['options'],
170
- key=f"question_{st.session_state.current_index}_options"
 
171
  )
172
  # Enable submit button when an answer is selected
173
- submit_button = st.form_submit_button(label="Submit", disabled=selected_answer is None)
174
 
175
  # Handle button state and answer submission
 
 
 
176
  if submit_button and selected_answer:
177
  # Process the answer
178
  current_question['selected'] = selected_answer
@@ -184,6 +194,7 @@ if submit_button and selected_answer:
184
  st.session_state.module_correct_count[selected_module] += 1
185
 
186
  st.session_state.next_disabled = False
 
187
 
188
  # Show correct/incorrect feedback after submission
189
  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 '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
 
31
  def reset_pdf_cache():
32
  st.session_state.pdf_data = None
 
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
  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
 
173
  selected_answer = st.radio(
174
  "Choose an answer:",
175
  options=current_question['options'],
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
 
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):