feat: fixes and formatter
This commit is contained in:
+54
-58
@@ -1,102 +1,98 @@
|
||||
import AsyncStorage from "@react-native-async-storage/async-storage";
|
||||
import {
|
||||
getReactNativePersistence,
|
||||
initializeAuth,
|
||||
} from "firebase/auth/react-native";
|
||||
import firebase from "firebase/compat/app";
|
||||
import "firebase/compat/auth";
|
||||
import "firebase/compat/firestore";
|
||||
import "firebase/compat/functions";
|
||||
import "firebase/compat/storage";
|
||||
import { Platform } from "react-native";
|
||||
import AsyncStorage from '@react-native-async-storage/async-storage'
|
||||
import { getReactNativePersistence, initializeAuth } from 'firebase/auth/react-native'
|
||||
import firebase from 'firebase/compat/app'
|
||||
import 'firebase/compat/auth'
|
||||
import 'firebase/compat/firestore'
|
||||
import 'firebase/compat/functions'
|
||||
import 'firebase/compat/storage'
|
||||
import { Platform } from 'react-native'
|
||||
|
||||
const functionsInstances = {};
|
||||
const emulatorConfigured = {};
|
||||
const emulatorHost = Platform.OS === "web" ? "localhost" : "192.168.1.103";
|
||||
const USE_FUNCTIONS_EMULATOR = false; // Toggle to route functions traffic to the local emulator.
|
||||
const functionsInstances = {}
|
||||
const emulatorConfigured = {}
|
||||
const emulatorHost = Platform.OS === 'web' ? 'localhost' : '192.168.1.103'
|
||||
const USE_FUNCTIONS_EMULATOR = false // Toggle to route functions traffic to the local emulator.
|
||||
|
||||
const configureFunctionsEmulator = (instance, regionKey = "us-central1") => {
|
||||
const shouldUseEmulator = USE_FUNCTIONS_EMULATOR && instance?.useEmulator;
|
||||
const configureFunctionsEmulator = (instance, regionKey = 'us-central1') => {
|
||||
const shouldUseEmulator = USE_FUNCTIONS_EMULATOR && instance?.useEmulator
|
||||
|
||||
if (!shouldUseEmulator || emulatorConfigured[regionKey]) {
|
||||
return;
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
instance.useEmulator(emulatorHost, 5001);
|
||||
emulatorConfigured[regionKey] = true;
|
||||
instance.useEmulator(emulatorHost, 5001)
|
||||
emulatorConfigured[regionKey] = true
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
`[firebase] Unable to set functions emulator for region ${regionKey}`,
|
||||
error?.message
|
||||
);
|
||||
)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const firebaseConfig = {
|
||||
apiKey: "AIzaSyCuHJHdwVN_F-VmUG4Hd7bGiMRqj6rPlLo",
|
||||
authDomain: "musicland-d33f9.firebaseapp.com",
|
||||
projectId: "musicland-d33f9",
|
||||
storageBucket: "musicland-d33f9.firebasestorage.app",
|
||||
messagingSenderId: "305598753437",
|
||||
appId: "1:305598753437:web:9930f10af59e5cf7f28274",
|
||||
measurementId: "G-RV4MS1SVTT",
|
||||
};
|
||||
apiKey: 'AIzaSyCuHJHdwVN_F-VmUG4Hd7bGiMRqj6rPlLo',
|
||||
authDomain: 'musicland-d33f9.firebaseapp.com',
|
||||
projectId: 'musicland-d33f9',
|
||||
storageBucket: 'musicland-d33f9.firebasestorage.app',
|
||||
messagingSenderId: '305598753437',
|
||||
appId: '1:305598753437:web:9930f10af59e5cf7f28274',
|
||||
measurementId: 'G-RV4MS1SVTT',
|
||||
}
|
||||
|
||||
if (!firebase?.apps?.filter(({ name_ }) => name_ === "[DEFAULT]").length) {
|
||||
const defaultApp = firebase.initializeApp(firebaseConfig);
|
||||
if (!firebase?.apps?.filter(({ name_ }) => name_ === '[DEFAULT]').length) {
|
||||
const defaultApp = firebase.initializeApp(firebaseConfig)
|
||||
|
||||
initializeAuth(defaultApp, {
|
||||
persistence: getReactNativePersistence(AsyncStorage),
|
||||
});
|
||||
})
|
||||
|
||||
// if (__DEV__) {
|
||||
// firebase.functions().useEmulator("localhost", 5001);
|
||||
// }
|
||||
const defaultFunctions = firebase.functions();
|
||||
functionsInstances["us-central1"] = defaultFunctions;
|
||||
configureFunctionsEmulator(defaultFunctions, "us-central1");
|
||||
console.log("Firebase init");
|
||||
const defaultFunctions = firebase.functions()
|
||||
functionsInstances['us-central1'] = defaultFunctions
|
||||
configureFunctionsEmulator(defaultFunctions, 'us-central1')
|
||||
console.log('Firebase init')
|
||||
}
|
||||
|
||||
// Firestore settings for React Native/iOS: avoid streaming transport issues
|
||||
const firestore = firebase.firestore();
|
||||
const firestore = firebase.firestore()
|
||||
try {
|
||||
// Prefer auto-detect; disable fetch streams for RN iOS stability
|
||||
firebase.firestore().settings({
|
||||
experimentalAutoDetectLongPolling: true,
|
||||
useFetchStreams: false,
|
||||
ignoreUndefinedProperties: true,
|
||||
});
|
||||
})
|
||||
} catch (e) {
|
||||
// Ignore if settings were already set elsewhere
|
||||
}
|
||||
|
||||
export const usersRef = firestore.collection("users");
|
||||
export const projectsRef = firestore.collection("projects");
|
||||
export const tasksRef = firestore.collection("tasks");
|
||||
export const playlistsRef = firestore.collection("playlists");
|
||||
export const chatsRef = firestore.collection("chats");
|
||||
export const videosRef = firestore.collection("videos");
|
||||
export const notificationsRef = firestore.collection("notifications");
|
||||
export const reportsRef = firestore.collection("reports");
|
||||
export const usersRef = firestore.collection('users')
|
||||
export const projectsRef = firestore.collection('projects')
|
||||
export const tasksRef = firestore.collection('tasks')
|
||||
export const playlistsRef = firestore.collection('playlists')
|
||||
export const chatsRef = firestore.collection('chats')
|
||||
export const videosRef = firestore.collection('videos')
|
||||
export const notificationsRef = firestore.collection('notifications')
|
||||
export const reportsRef = firestore.collection('reports')
|
||||
|
||||
export const { arrayUnion, arrayRemove, increment, serverTimestamp } =
|
||||
firebase.firestore.FieldValue;
|
||||
export const deleteField = firebase.firestore.FieldValue.delete;
|
||||
export const { arrayUnion, arrayRemove, increment, serverTimestamp } = firebase.firestore.FieldValue
|
||||
export const deleteField = firebase.firestore.FieldValue.delete
|
||||
|
||||
export const getFunctionsClient = (region = "us-central1") => {
|
||||
const regionKey = region || "us-central1";
|
||||
export const getFunctionsClient = (region = 'us-central1') => {
|
||||
const regionKey = region || 'us-central1'
|
||||
|
||||
if (!functionsInstances[regionKey]) {
|
||||
functionsInstances[regionKey] = firebase.app().functions(regionKey);
|
||||
functionsInstances[regionKey] = firebase.app().functions(regionKey)
|
||||
}
|
||||
|
||||
const instance = functionsInstances[regionKey];
|
||||
const instance = functionsInstances[regionKey]
|
||||
|
||||
configureFunctionsEmulator(instance, regionKey);
|
||||
configureFunctionsEmulator(instance, regionKey)
|
||||
|
||||
return instance;
|
||||
};
|
||||
return instance
|
||||
}
|
||||
|
||||
export default firebase;
|
||||
export default firebase
|
||||
|
||||
Reference in New Issue
Block a user