Lashtw commited on
Commit
c174672
·
verified ·
1 Parent(s): fc7f4c4

Upload 9 files

Browse files
Files changed (1) hide show
  1. src/views/InstructorView.js +13 -3
src/views/InstructorView.js CHANGED
@@ -1,5 +1,7 @@
1
  import { createRoom, subscribeToRoom, getChallenges, resetProgress, removeUser } from "../services/classroom.js";
2
  import { signInWithGoogle, signInWithGoogleRedirect, signOutUser, checkInstructorPermission, getInstructors, addInstructor, updateInstructor, removeInstructor } from "../services/auth.js";
 
 
3
  import { generateMonsterSVG, getNextMonster, MONSTER_DEFS } from "../utils/monsterUtils.js";
4
 
5
  // Load html-to-image dynamically (Better support than html2canvas)
@@ -402,9 +404,17 @@ export function setupInstructorEvents() {
402
  // Attach listener if button exists
403
  const retryBtn = document.getElementById('redirect-login-btn');
404
  if (retryBtn) {
405
- retryBtn.addEventListener('click', () => {
406
- localStorage.setItem('vibecoding_redirect_login', 'true'); // Flag for main.js
407
- signInWithGoogleRedirect().catch(e => alert("跳轉失敗: " + e.message));
 
 
 
 
 
 
 
 
408
  });
409
  }
410
 
 
1
  import { createRoom, subscribeToRoom, getChallenges, resetProgress, removeUser } from "../services/classroom.js";
2
  import { signInWithGoogle, signInWithGoogleRedirect, signOutUser, checkInstructorPermission, getInstructors, addInstructor, updateInstructor, removeInstructor } from "../services/auth.js";
3
+ import { auth } from "../services/firebase.js";
4
+ import { setPersistence, browserLocalPersistence } from "https://www.gstatic.com/firebasejs/10.7.1/firebase-auth.js"; // Direct import for forceful persistence
5
  import { generateMonsterSVG, getNextMonster, MONSTER_DEFS } from "../utils/monsterUtils.js";
6
 
7
  // Load html-to-image dynamically (Better support than html2canvas)
 
404
  // Attach listener if button exists
405
  const retryBtn = document.getElementById('redirect-login-btn');
406
  if (retryBtn) {
407
+ retryBtn.addEventListener('click', async () => {
408
+ localStorage.setItem('vibecoding_redirect_login', 'true');
409
+ try {
410
+ const { auth } = await import("../services/firebase.js");
411
+ const { setPersistence, browserLocalPersistence } = await import("firebase/auth");
412
+ await setPersistence(auth, browserLocalPersistence); // Force persistence
413
+ console.log("Persistence set to LOCAL");
414
+ await signInWithGoogleRedirect();
415
+ } catch (e) {
416
+ alert("跳轉失敗: " + e.message);
417
+ }
418
  });
419
  }
420