fix(mobil-webb): krascha inte pa webben (Firebase-persistens)

getReactNativePersistence/AsyncStorage finns inte i webb-bygget (react-native-
web) och gav 'Cannot read properties of undefined (reading bind)' vid start.
Pa webben anvands nu Firebases standard-webblagring (getAuth), pa native
AsyncStorage som forr. Gor att webbversionen kan koras for felsokning.
This commit is contained in:
Claude
2026-08-19 17:20:39 +00:00
parent fcd5c7989f
commit 935c613c75
@@ -13,6 +13,7 @@ import {
} from "firebase/auth";
import * as fbAuth from "firebase/auth";
import AsyncStorage from "@react-native-async-storage/async-storage";
import { Platform } from "react-native";
import type { AuthProvider, AuthUser, Unsubscribe } from "./types";
/**
@@ -37,10 +38,16 @@ const getReactNativePersistence = (
fbAuth as unknown as { getReactNativePersistence: (storage: unknown) => Persistence }
).getReactNativePersistence;
// AsyncStorage-persistens så inloggningen överlever app-omstart.
// Persistens så inloggningen överlever omstart. På webben (react-native-web)
// finns INTE getReactNativePersistence/AsyncStorage att anropa dem kraschar
// hela appen vid start ("Cannot read properties of undefined (reading 'bind')").
// Där använder vi Firebases standard-webblagring (getAuth), på native AsyncStorage.
let auth: Auth;
try {
auth = initializeAuth(app, { persistence: getReactNativePersistence(AsyncStorage) });
auth =
Platform.OS === "web"
? getAuth(app)
: initializeAuth(app, { persistence: getReactNativePersistence(AsyncStorage) });
} catch {
// initializeAuth kastar om den redan körts (Fast Refresh) återanvänd instansen.
auth = getAuth(app);