firebase-admin-panel
Version:
A customizable React admin panel for managing Firebase collections.
32 lines (31 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _firebase = require("../firebase");
var _firestore = require("firebase/firestore");
const useFirebaseInitialization = (firebaseConfig, collectionStructure) => {
(0, _react.useEffect)(() => {
(0, _firebase.initializeFirebase)(firebaseConfig);
}, [firebaseConfig]);
(0, _react.useEffect)(() => {
const db = (0, _firebase.getFirestoreDb)();
const initializeMetadata = async () => {
try {
const collectionNamesDocRef = (0, _firestore.doc)(db, "metadata", "collectionNames");
const collectionNamesDocSnap = await (0, _firestore.getDoc)(collectionNamesDocRef);
if (!collectionNamesDocSnap.exists()) {
await (0, _firestore.setDoc)(collectionNamesDocRef, {
collections: Object.keys(collectionStructure)
});
}
} catch (error) {
console.error("Error initializing metadata: ", error);
}
};
initializeMetadata();
}, [collectionStructure]);
};
var _default = exports.default = useFirebaseInitialization;