-
-
Save acoyfellow/2779fb121fac0f32c7419e8dfede772d to your computer and use it in GitHub Desktop.
import { initializeApp } from 'firebase/app'; | |
import { getAuth, onAuthStateChanged } from "firebase/auth"; | |
import { getFirestore } from 'firebase/firestore'; | |
import { getStorage } from "firebase/storage"; | |
let ssrAuthed = window.ssrUser; | |
const firebaseConfig = { | |
// ... | |
}; | |
const firebase = window.firebase || initializeApp(firebaseConfig); | |
window.firebase = firebase; | |
const auth = getAuth(firebase); | |
const firestore = getFirestore(firebase); | |
const storage = getStorage(firebase); | |
onAuthStateChanged(auth, (u) => { | |
console.log({ ssrAuthed, u }); | |
}); | |
export { | |
firebase, | |
auth, | |
firestore, | |
storage | |
}; | |
One other question: did you have any issues in build mode? I'm getting the old window is not defined
error when I run build, but not in dev.
@thormuller - no i don't.. but, does that error persist if you add a browser
check in the $layout.svelte
? Just to be sure this file isn't called on the server. I wonder if that would help.
It may depend on the versio of sk, there might be a change I didn't catch up to yet
@thormuller Instead of using the window
object to save the app instance, I have used this and it seems to work.
import { initializeApp, getApp, getApps } from 'firebase/app';
const firebase = (getApps().length && getApp()) || initializeApp(firebaseConfig);
Thank you both. To @acoyfellow's point, there was just a bit update to SK and an update to Vite. I'm in the midst of that update, so perhaps this is an artifact of the swirl. I'll definitely try your solution if the update doesn't fix things.
Thanks so much for the detail. Seeing the hooks doc in particular was helpful. All the best!