diff --git a/src/features/collections/store/collectionSlice.ts b/src/features/collections/store/collectionSlice.ts
index cb77914..14f6a02 100644
--- a/src/features/collections/store/collectionSlice.ts
+++ b/src/features/collections/store/collectionSlice.ts
@@ -323,13 +323,13 @@ export const createCollection = createAppAsyncThunk<
}
const fdId = firestoreDatabaseId ?? getActiveFirestoreDatabase(project)?.id;
- dispatch(
+ await dispatch(
refreshCollections({
project,
refreshToken: project.refreshToken,
...(fdId ? { firestoreDatabaseId: fdId } : {}),
}),
- );
+ ).unwrap();
return trimmedName;
} catch (error) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
diff --git a/src/features/projects/components/sidebar/SidebarMenu.tsx b/src/features/projects/components/sidebar/SidebarMenu.tsx
index 5492944..75946aa 100644
--- a/src/features/projects/components/sidebar/SidebarMenu.tsx
+++ b/src/features/projects/components/sidebar/SidebarMenu.tsx
@@ -166,12 +166,14 @@ function SidebarMenu({
Firestore
-
+ {menuTarget.project.authMethod !== 'emulator' && (
+
+ )}
>
) : menuTarget?.menuType === 'firestoreDatabase' ? (
<>
diff --git a/src/features/projects/components/sidebar/SidebarProjectsList.tsx b/src/features/projects/components/sidebar/SidebarProjectsList.tsx
index 8d67afc..c23d8f5 100644
--- a/src/features/projects/components/sidebar/SidebarProjectsList.tsx
+++ b/src/features/projects/components/sidebar/SidebarProjectsList.tsx
@@ -430,18 +430,20 @@ function SidebarProjectsList({
>
Firestore
-
- {
- e.stopPropagation();
- onAddFirestoreDatabase(project);
- }}
- sx={{ p: 0.25, color: 'primary.main' }}
- >
-
-
-
+ {project.authMethod !== 'emulator' && (
+
+ {
+ e.stopPropagation();
+ onAddFirestoreDatabase(project);
+ }}
+ sx={{ p: 0.25, color: 'primary.main' }}
+ >
+
+
+
+ )}
{
@@ -927,18 +929,20 @@ function SidebarProjectsList({
>
Firestore
-
- {
- e.stopPropagation();
- onAddFirestoreDatabase(project);
- }}
- sx={{ p: 0.25, color: 'primary.main' }}
- >
-
-
-
+ {project.authMethod !== 'emulator' && (
+
+ {
+ e.stopPropagation();
+ onAddFirestoreDatabase(project);
+ }}
+ sx={{ p: 0.25, color: 'primary.main' }}
+ >
+
+
+
+ )}
{
@@ -1171,24 +1175,26 @@ function SidebarProjectsList({
);
})}
- {
- e.stopPropagation();
- onAddFirestoreDatabase(project);
- }}
- sx={{
- display: 'flex',
- alignItems: 'center',
- px: 1,
- py: 0.5,
- cursor: 'pointer',
- color: 'primary.main',
- '&:hover': { bgcolor: 'action.hover' },
- }}
- >
-
- Add database
-
+ {project.authMethod !== 'emulator' && (
+ {
+ e.stopPropagation();
+ onAddFirestoreDatabase(project);
+ }}
+ sx={{
+ display: 'flex',
+ alignItems: 'center',
+ px: 1,
+ py: 0.5,
+ cursor: 'pointer',
+ color: 'primary.main',
+ '&:hover': { bgcolor: 'action.hover' },
+ }}
+ >
+
+ Add database
+
+ )}
@@ -1392,18 +1398,20 @@ function SidebarProjectsList({
>
Firestore
-
- {
- e.stopPropagation();
- onAddFirestoreDatabase(project);
- }}
- sx={{ p: 0.25, color: 'primary.main' }}
- >
-
-
-
+ {project.authMethod !== 'emulator' && (
+
+ {
+ e.stopPropagation();
+ onAddFirestoreDatabase(project);
+ }}
+ sx={{ p: 0.25, color: 'primary.main' }}
+ >
+
+
+
+ )}
{
@@ -1636,24 +1644,26 @@ function SidebarProjectsList({
);
})}
- {
- e.stopPropagation();
- onAddFirestoreDatabase(project);
- }}
- sx={{
- display: 'flex',
- alignItems: 'center',
- px: 1,
- py: 0.5,
- cursor: 'pointer',
- color: 'primary.main',
- '&:hover': { bgcolor: 'action.hover' },
- }}
- >
-
- Add database
-
+ {project.authMethod !== 'emulator' && (
+ {
+ e.stopPropagation();
+ onAddFirestoreDatabase(project);
+ }}
+ sx={{
+ display: 'flex',
+ alignItems: 'center',
+ px: 1,
+ py: 0.5,
+ cursor: 'pointer',
+ color: 'primary.main',
+ '&:hover': { bgcolor: 'action.hover' },
+ }}
+ >
+
+ Add database
+
+ )}
diff --git a/src/features/projects/store/projectsSlice.ts b/src/features/projects/store/projectsSlice.ts
index d219f05..7ee784f 100644
--- a/src/features/projects/store/projectsSlice.ts
+++ b/src/features/projects/store/projectsSlice.ts
@@ -697,7 +697,9 @@ const projectsSlice = createSlice({
if (item.id === projectId) {
const proj = item as Project;
if (
- (proj.authMethod === 'serviceAccount' || proj.authMethod === 'google') &&
+ (proj.authMethod === 'serviceAccount' ||
+ proj.authMethod === 'google' ||
+ proj.authMethod === 'emulator') &&
firestoreDatabaseId &&
proj.firestoreDatabases?.length
) {