Sina Media Lab commited on
Commit
86cc97a
·
1 Parent(s): 4cdcf33
Files changed (1) hide show
  1. app.py +9 -12
app.py CHANGED
@@ -23,8 +23,8 @@ if 'pdf_data' not in st.session_state:
23
  st.session_state.pdf_data = None
24
  if 'selected_answer' not in st.session_state:
25
  st.session_state.selected_answer = None
26
- if 'show_next_button' not in st.session_state:
27
- st.session_state.show_next_button = False
28
 
29
  def reset_pdf_cache():
30
  st.session_state.pdf_data = None
@@ -107,10 +107,10 @@ def generate_new_question(module_name, module):
107
  def navigate_question(direction):
108
  if direction == "prev" and st.session_state.current_index > 0:
109
  st.session_state.current_index -= 1
110
- st.session_state.show_next_button = True
111
  elif direction == "next" and st.session_state.current_index < len(st.session_state.questions) - 1:
112
  st.session_state.current_index += 1
113
- st.session_state.show_next_button = True
114
 
115
  # Load all modules dynamically
116
  modules = load_modules()
@@ -132,7 +132,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.selected_answer = None
135
- st.session_state.show_next_button = False
136
 
137
  # Load the current module's question
138
  current_question = st.session_state.questions[st.session_state.current_index]
@@ -171,19 +171,16 @@ with st.form(key=f'question_form_{st.session_state.current_index}'):
171
  index=None # Ensure no option is pre-selected
172
  )
173
 
174
- # Determine button label
175
- button_label = "Next Question" if st.session_state.show_next_button else "Submit"
176
-
177
- submit_button = st.form_submit_button(label=button_label)
178
 
179
  # Handle button state and answer submission
180
  if submit_button:
181
- if st.session_state.show_next_button:
182
  # Move to the next question
183
  new_question = generate_new_question(selected_module, modules[selected_module])
184
  st.session_state.questions.append(new_question)
185
  st.session_state.current_index = len(st.session_state.questions) - 1
186
- st.session_state.show_next_button = False
187
  else:
188
  if selected_answer is not None:
189
  # Process the answer
@@ -195,7 +192,7 @@ if submit_button:
195
  st.session_state.correct_count += 1
196
  st.session_state.module_correct_count[selected_module] += 1
197
 
198
- st.session_state.show_next_button = True
199
 
200
  # Show correct/incorrect feedback after submission
201
  if current_question.get('answered', False):
 
23
  st.session_state.pdf_data = None
24
  if 'selected_answer' not in st.session_state:
25
  st.session_state.selected_answer = None
26
+ if 'button_label' not in st.session_state:
27
+ st.session_state.button_label = "Submit"
28
 
29
  def reset_pdf_cache():
30
  st.session_state.pdf_data = None
 
107
  def navigate_question(direction):
108
  if direction == "prev" and st.session_state.current_index > 0:
109
  st.session_state.current_index -= 1
110
+ st.session_state.button_label = "Next Question"
111
  elif direction == "next" and st.session_state.current_index < len(st.session_state.questions) - 1:
112
  st.session_state.current_index += 1
113
+ st.session_state.button_label = "Next Question"
114
 
115
  # Load all modules dynamically
116
  modules = load_modules()
 
132
  st.session_state.module_question_count[selected_module] = 0
133
  st.session_state.module_correct_count[selected_module] = 0
134
  st.session_state.selected_answer = None
135
+ st.session_state.button_label = "Submit"
136
 
137
  # Load the current module's question
138
  current_question = st.session_state.questions[st.session_state.current_index]
 
171
  index=None # Ensure no option is pre-selected
172
  )
173
 
174
+ submit_button = st.form_submit_button(label=st.session_state.button_label)
 
 
 
175
 
176
  # Handle button state and answer submission
177
  if submit_button:
178
+ if st.session_state.button_label == "Next Question":
179
  # Move to the next question
180
  new_question = generate_new_question(selected_module, modules[selected_module])
181
  st.session_state.questions.append(new_question)
182
  st.session_state.current_index = len(st.session_state.questions) - 1
183
+ st.session_state.button_label = "Submit"
184
  else:
185
  if selected_answer is not None:
186
  # Process the answer
 
192
  st.session_state.correct_count += 1
193
  st.session_state.module_correct_count[selected_module] += 1
194
 
195
+ st.session_state.button_label = "Next Question"
196
 
197
  # Show correct/incorrect feedback after submission
198
  if current_question.get('answered', False):