ibraheem007 commited on
Commit
430ed76
·
verified ·
1 Parent(s): 1e964b4

Update components/session_manager.py

Browse files
Files changed (1) hide show
  1. components/session_manager.py +39 -5
components/session_manager.py CHANGED
@@ -125,19 +125,53 @@ def load_user_history_from_db():
125
  print(f"❌ Error loading history from database: {e}")
126
  st.session_state.user_history = []
127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  def clear_session():
129
- """Clear session state but preserve user identity and history"""
130
- preserved_keys = ['user_id', 'current_page'] # REMOVED 'user_history' from preserved keys
 
 
 
 
131
  preserved = {k: st.session_state[k] for k in preserved_keys if k in st.session_state}
132
 
133
- st.session_state.clear()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
  # Restore preserved keys
136
  for k, v in preserved.items():
137
  st.session_state[k] = v
138
 
139
- # Re-initialize defaults AND reload history
140
- initialize_session_state()
 
 
141
 
142
  def update_session_state(**kwargs):
143
  # Update all the session state values
 
125
  print(f"❌ Error loading history from database: {e}")
126
  st.session_state.user_history = []
127
 
128
+ # def clear_session():
129
+ # """Clear session state but preserve user identity and history"""
130
+ # preserved_keys = ['user_id', 'current_page'] # REMOVED 'user_history' from preserved keys
131
+ # preserved = {k: st.session_state[k] for k in preserved_keys if k in st.session_state}
132
+
133
+ # st.session_state.clear()
134
+
135
+ # # Restore preserved keys
136
+ # for k, v in preserved.items():
137
+ # st.session_state[k] = v
138
+
139
+ # # Re-initialize defaults AND reload history
140
+ # initialize_session_state()
141
+
142
  def clear_session():
143
+ """Clear session state but preserve user identity, auth, and navigation"""
144
+ preserved_keys = [
145
+ 'user_id', 'username', 'fullname', 'authenticated',
146
+ 'current_page', 'selected_model', 'user_history'
147
+ ]
148
+
149
  preserved = {k: st.session_state[k] for k in preserved_keys if k in st.session_state}
150
 
151
+ # Clear only content-related session state, not auth
152
+ keys_to_clear = [
153
+ 'user_type', 'original_prompt', 'generated_output', 'feedback_given',
154
+ 'regenerated', 'content_source', 'student_level', 'pdf_export_data',
155
+ 'tutor_topic', 'tutor_content_type', 'feedback_clarity', 'feedback_depth',
156
+ 'feedback_complexity', 'feedback_comments', 'original_filename',
157
+ 'saved_to_history', 'from_history', 'showing_regeneration_prompt',
158
+ 'pending_model_switch', 'previous_model', 'regenerate_with_new_model',
159
+ 'scrolled_to_top', 'regeneration_count', 'regeneration_type',
160
+ 'previous_feedback_given', 'pending_regeneration', 'show_adaptation_message'
161
+ ]
162
+
163
+ for key in keys_to_clear:
164
+ if key in st.session_state:
165
+ del st.session_state[key]
166
 
167
  # Restore preserved keys
168
  for k, v in preserved.items():
169
  st.session_state[k] = v
170
 
171
+ # Ensure current page is generator for new content
172
+ st.session_state.current_page = "generator"
173
+
174
+ print("✅ Session cleared for new content, auth preserved")
175
 
176
  def update_session_state(**kwargs):
177
  # Update all the session state values