@firecms/core 3.3.0-canary.7e3431b → 3.3.0-canary.977172b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -849,8 +849,13 @@ const resolveCollection = ({
849
849
  ...a,
850
850
  ...b
851
851
  }), {});
852
+ const {
853
+ properties: overrideProps,
854
+ ...restOverrides
855
+ } = collectionOverride ?? {};
852
856
  return {
853
857
  ...collection,
858
+ ...restOverrides,
854
859
  properties: cleanedProperties,
855
860
  originalCollection: collection
856
861
  };
@@ -12353,7 +12358,7 @@ function StorageUpload(t0) {
12353
12358
  newValue.splice(fromIndex, 1);
12354
12359
  newValue.splice(toIndex, 0, item);
12355
12360
  setInternalValue(newValue);
12356
- const fieldValue = newValue.filter(_temp3$4).map(_temp4$3);
12361
+ const fieldValue = newValue.filter(_temp3$4).map(_temp4$4);
12357
12362
  onChange(fieldValue);
12358
12363
  };
12359
12364
  $[0] = multipleFilesSupported;
@@ -12547,7 +12552,7 @@ function _temp6$2(v_1) {
12547
12552
  function _temp5$2(v_0) {
12548
12553
  return !!v_0.storagePathOrDownloadUrl;
12549
12554
  }
12550
- function _temp4$3(e_0) {
12555
+ function _temp4$4(e_0) {
12551
12556
  return e_0.storagePathOrDownloadUrl;
12552
12557
  }
12553
12558
  function _temp3$4(e) {
@@ -18782,7 +18787,7 @@ function StringNumberFilterField(t0) {
18782
18787
  let t11;
18783
18788
  if ($[40] !== dataType || $[41] !== enumValues || $[42] !== internalValue || $[43] !== isNullOperation || $[44] !== multiple || $[45] !== name || $[46] !== operation || $[47] !== updateFilter) {
18784
18789
  t11 = enumValues && multiple && /* @__PURE__ */ jsx(MultiSelect, { size: "medium", position: "item-aligned", value: Array.isArray(internalValue) ? internalValue.map(_temp3$3) : [], disabled: isNullOperation, onValueChange: (value_2) => {
18785
- updateFilter(operation, dataType === "number" ? value_2.map(_temp4$2) : value_2);
18790
+ updateFilter(operation, dataType === "number" ? value_2.map(_temp4$3) : value_2);
18786
18791
  }, multiple, endAdornment: internalValue && /* @__PURE__ */ jsx(IconButton, { className: "absolute right-2 top-3", onClick: (e_2) => updateFilter(operation, void 0), children: /* @__PURE__ */ jsx(CloseIcon, {}) }), children: enumValues.map((enumConfig_0) => /* @__PURE__ */ jsx(MultiSelectItem, { value: String(enumConfig_0.id), children: /* @__PURE__ */ jsx(EnumValuesChip, { enumKey: String(enumConfig_0.id), enumValues, size: "small" }) }, `select_value_${name}_${enumConfig_0.id}`)) });
18787
18792
  $[40] = dataType;
18788
18793
  $[41] = enumValues;
@@ -18824,7 +18829,7 @@ function StringNumberFilterField(t0) {
18824
18829
  }
18825
18830
  return t13;
18826
18831
  }
18827
- function _temp4$2(v) {
18832
+ function _temp4$3(v) {
18828
18833
  return parseInt(v);
18829
18834
  }
18830
18835
  function _temp3$3(e_1) {
@@ -20915,7 +20920,7 @@ function SmallNavigationCard(t0) {
20915
20920
  return t5;
20916
20921
  }
20917
20922
  function NavigationCardBinding(t0) {
20918
- const $ = c(35);
20923
+ const $ = c(38);
20919
20924
  const {
20920
20925
  path,
20921
20926
  collection,
@@ -20928,6 +20933,9 @@ function NavigationCardBinding(t0) {
20928
20933
  shrink
20929
20934
  } = t0;
20930
20935
  const userConfigurationPersistence = useUserConfigurationPersistence();
20936
+ const {
20937
+ t
20938
+ } = useTranslation();
20931
20939
  const t1 = collection ?? view;
20932
20940
  let t2;
20933
20941
  if ($[0] !== t1) {
@@ -21000,51 +21008,61 @@ function NavigationCardBinding(t0) {
21000
21008
  t5 = $[13];
21001
21009
  }
21002
21010
  const actions = t5;
21011
+ let t6;
21012
+ if ($[18] !== name || $[19] !== t) {
21013
+ t6 = t(name);
21014
+ $[18] = name;
21015
+ $[19] = t;
21016
+ $[20] = t6;
21017
+ } else {
21018
+ t6 = $[20];
21019
+ }
21020
+ const translatedName = t6;
21003
21021
  if (type === "admin") {
21004
- let t62;
21005
- if ($[18] !== collectionIcon || $[19] !== name || $[20] !== url) {
21006
- t62 = /* @__PURE__ */ jsx(SmallNavigationCard, { icon: collectionIcon, name, url });
21007
- $[18] = collectionIcon;
21008
- $[19] = name;
21009
- $[20] = url;
21010
- $[21] = t62;
21022
+ let t72;
21023
+ if ($[21] !== collectionIcon || $[22] !== translatedName || $[23] !== url) {
21024
+ t72 = /* @__PURE__ */ jsx(SmallNavigationCard, { icon: collectionIcon, name: translatedName, url });
21025
+ $[21] = collectionIcon;
21026
+ $[22] = translatedName;
21027
+ $[23] = url;
21028
+ $[24] = t72;
21011
21029
  } else {
21012
- t62 = $[21];
21030
+ t72 = $[24];
21013
21031
  }
21014
- return t62;
21032
+ return t72;
21015
21033
  }
21016
- let t6;
21017
- if ($[22] !== navigate || $[23] !== onClick || $[24] !== path || $[25] !== url || $[26] !== userConfigurationPersistence) {
21018
- t6 = () => {
21034
+ let t7;
21035
+ if ($[25] !== navigate || $[26] !== onClick || $[27] !== path || $[28] !== url || $[29] !== userConfigurationPersistence) {
21036
+ t7 = () => {
21019
21037
  onClick?.();
21020
21038
  navigate(url);
21021
21039
  if (userConfigurationPersistence) {
21022
21040
  userConfigurationPersistence.setRecentlyVisitedPaths([path, ...(userConfigurationPersistence.recentlyVisitedPaths ?? []).filter((p_0) => p_0 !== path)]);
21023
21041
  }
21024
21042
  };
21025
- $[22] = navigate;
21026
- $[23] = onClick;
21027
- $[24] = path;
21028
- $[25] = url;
21029
- $[26] = userConfigurationPersistence;
21030
- $[27] = t6;
21043
+ $[25] = navigate;
21044
+ $[26] = onClick;
21045
+ $[27] = path;
21046
+ $[28] = url;
21047
+ $[29] = userConfigurationPersistence;
21048
+ $[30] = t7;
21031
21049
  } else {
21032
- t6 = $[27];
21050
+ t7 = $[30];
21033
21051
  }
21034
- let t7;
21035
- if ($[28] !== actions || $[29] !== collectionIcon || $[30] !== description || $[31] !== name || $[32] !== shrink || $[33] !== t6) {
21036
- t7 = /* @__PURE__ */ jsx(NavigationCard, { icon: collectionIcon, name, description, actions, onClick: t6, shrink });
21037
- $[28] = actions;
21038
- $[29] = collectionIcon;
21039
- $[30] = description;
21040
- $[31] = name;
21041
- $[32] = shrink;
21042
- $[33] = t6;
21043
- $[34] = t7;
21052
+ let t8;
21053
+ if ($[31] !== actions || $[32] !== collectionIcon || $[33] !== description || $[34] !== shrink || $[35] !== t7 || $[36] !== translatedName) {
21054
+ t8 = /* @__PURE__ */ jsx(NavigationCard, { icon: collectionIcon, name: translatedName, description, actions, onClick: t7, shrink });
21055
+ $[31] = actions;
21056
+ $[32] = collectionIcon;
21057
+ $[33] = description;
21058
+ $[34] = shrink;
21059
+ $[35] = t7;
21060
+ $[36] = translatedName;
21061
+ $[37] = t8;
21044
21062
  } else {
21045
- t7 = $[34];
21063
+ t8 = $[37];
21046
21064
  }
21047
- return t7;
21065
+ return t8;
21048
21066
  }
21049
21067
  const animateLayoutChanges = (args) => defaultAnimateLayoutChanges({
21050
21068
  ...args,
@@ -25523,7 +25541,12 @@ const EntityCollectionView$1 = React__default.memo(function EntityCollectionView
25523
25541
  const scrollRestoration = useScrollRestoration();
25524
25542
  const collection = useMemo(() => {
25525
25543
  const userOverride = userConfigPersistence?.getCollectionConfig(fullPath);
25526
- return userOverride ? mergeDeep(collectionProp, userOverride) : collectionProp;
25544
+ if (!userOverride) return collectionProp;
25545
+ const {
25546
+ properties,
25547
+ ...rest
25548
+ } = userOverride;
25549
+ return mergeDeep(collectionProp, rest);
25527
25550
  }, [collectionProp, fullPath, userConfigPersistence?.getCollectionConfig]);
25528
25551
  const openEntityMode = collection?.openEntityMode ?? DEFAULT_ENTITY_OPEN_MODE;
25529
25552
  const collectionRef = React__default.useRef(collection);
@@ -25777,11 +25800,12 @@ const EntityCollectionView$1 = React__default.memo(function EntityCollectionView
25777
25800
  collection,
25778
25801
  path: fullPath,
25779
25802
  propertyConfigs: customizationController.propertyConfigs,
25780
- authController
25781
- }), [collection, fullPath]);
25803
+ authController,
25804
+ userConfigPersistence
25805
+ }), [collection, fullPath, userConfigPersistence]);
25782
25806
  const hasEnumProperty = useMemo(() => {
25783
- const properties = resolvedCollection.properties;
25784
- return Object.values(properties).some((prop) => prop && prop.dataType === "string" && prop.enumValues);
25807
+ const properties_0 = resolvedCollection.properties;
25808
+ return Object.values(properties_0).some((prop) => prop && prop.dataType === "string" && prop.enumValues);
25785
25809
  }, [resolvedCollection.properties]);
25786
25810
  const enabledViews = useMemo(() => {
25787
25811
  const configured = collection.enabledViews ?? ["table", "cards", "kanban"];
@@ -25792,8 +25816,8 @@ const EntityCollectionView$1 = React__default.memo(function EntityCollectionView
25792
25816
  }, [collection.enabledViews, hasEnumProperty]);
25793
25817
  const kanbanPropertyOptions = useMemo(() => {
25794
25818
  const options = [];
25795
- const properties_0 = resolvedCollection.properties;
25796
- for (const [key_0, property_0] of Object.entries(properties_0)) {
25819
+ const properties_1 = resolvedCollection.properties;
25820
+ for (const [key_0, property_0] of Object.entries(properties_1)) {
25797
25821
  const prop_0 = property_0;
25798
25822
  if (prop_0 && prop_0.dataType === "string" && prop_0.enumValues) {
25799
25823
  options.push({
@@ -28096,7 +28120,14 @@ function useBuildNavigationController(props) {
28096
28120
  if (!collections_0) return void 0;
28097
28121
  const baseCollection = getCollectionByPathOrId(removeInitialAndTrailingSlashes(idOrPath), collections_0);
28098
28122
  const userOverride = includeUserOverride ? userConfigPersistence?.getCollectionConfig(idOrPath) : void 0;
28099
- const overriddenCollection = baseCollection ? mergeDeep(baseCollection, userOverride ?? {}) : void 0;
28123
+ let overriddenCollection = baseCollection;
28124
+ if (baseCollection && userOverride) {
28125
+ const {
28126
+ properties,
28127
+ ...rest
28128
+ } = userOverride;
28129
+ overriddenCollection = mergeDeep(baseCollection, rest);
28130
+ }
28100
28131
  let result = overriddenCollection;
28101
28132
  if (overriddenCollection) {
28102
28133
  const subcollections = overriddenCollection.subcollections;
@@ -30037,7 +30068,7 @@ function useBuildSideDialogsController() {
30037
30068
  replace: true,
30038
30069
  state: {
30039
30070
  base_location: baseLocation,
30040
- panels: updatedPanels.map(_temp4$1)
30071
+ panels: updatedPanels.map(_temp4$2)
30041
30072
  }
30042
30073
  });
30043
30074
  }
@@ -30135,7 +30166,7 @@ function _temp6$1(p_4) {
30135
30166
  function _temp5$1(p_3) {
30136
30167
  return p_3.key;
30137
30168
  }
30138
- function _temp4$1(p_2) {
30169
+ function _temp4$2(p_2) {
30139
30170
  return p_2.key;
30140
30171
  }
30141
30172
  function _temp3$2(p_1) {
@@ -32281,7 +32312,7 @@ const Scaffold = React__default.memo(function Scaffold2(props) {
32281
32312
  const otherChildren = t3;
32282
32313
  const includeDrawer = drawerChildren.length > 0;
32283
32314
  const largeLayout = useLargeLayout();
32284
- const [drawerOpen, setDrawerOpen] = React__default.useState(false);
32315
+ const [drawerOpen, setDrawerOpen] = React__default.useState(_temp4$1);
32285
32316
  const [onHover, setOnHover] = React__default.useState(false);
32286
32317
  let t4;
32287
32318
  if ($[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
@@ -32303,6 +32334,10 @@ const Scaffold = React__default.memo(function Scaffold2(props) {
32303
32334
  if ($[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
32304
32335
  t6 = () => {
32305
32336
  setDrawerOpen(true);
32337
+ try {
32338
+ localStorage.setItem("firecms_drawer_open", "true");
32339
+ } catch {
32340
+ }
32306
32341
  };
32307
32342
  $[8] = t6;
32308
32343
  } else {
@@ -32313,6 +32348,10 @@ const Scaffold = React__default.memo(function Scaffold2(props) {
32313
32348
  if ($[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
32314
32349
  t7 = () => {
32315
32350
  setDrawerOpen(false);
32351
+ try {
32352
+ localStorage.setItem("firecms_drawer_open", "false");
32353
+ } catch {
32354
+ }
32316
32355
  };
32317
32356
  $[9] = t7;
32318
32357
  } else {
@@ -32665,6 +32704,13 @@ function _temp2$1(child_0) {
32665
32704
  function _temp3$1(child_1) {
32666
32705
  return child_1.type.componentType !== "Drawer" && child_1.type.componentType !== "AppBar";
32667
32706
  }
32707
+ function _temp4$1() {
32708
+ try {
32709
+ return localStorage.getItem("firecms_drawer_open") === "true";
32710
+ } catch {
32711
+ return false;
32712
+ }
32713
+ }
32668
32714
  const en = {
32669
32715
  // ─── Form actions ────────────────────────────────────────────
32670
32716
  save: "Save",
@@ -32802,8 +32848,8 @@ const en = {
32802
32848
  // ─── Error states ─────────────────────────────────────────────
32803
32849
  error: "Error",
32804
32850
  error_uploading_file: "Error uploading file",
32805
- error_deleting: "Error deleting",
32806
- error_before_delete: "Error before delete",
32851
+ error_deleting: "Error deleting: {{message}}",
32852
+ error_before_delete: "Error before delete: {{message}}",
32807
32853
  error_updating_asset: "Error updating asset",
32808
32854
  error_deleting_asset: "Error deleting asset",
32809
32855
  error_firestore_index: "A Firestore index is required for this query.",
@@ -33068,8 +33114,8 @@ const en = {
33068
33114
  cms_users: "CMS Users",
33069
33115
  roles_menu: "Roles",
33070
33116
  project_settings: "Project settings",
33071
- firestore_explorer: "Firestore Explorer",
33072
- explore_your_firestore_data: "Explore your Firestore data",
33117
+ firestore_manager: "Firestore Manager",
33118
+ manage_your_firestore_data: "Manage your Firestore data",
33073
33119
  // ─── FireCMS Cloud Login ──────────────────────────────────────
33074
33120
  build_admin_panel_in_minutes: "Build Your Firebase Admin Panel in Minutes",
33075
33121
  go_live_instantly: "Go live instantly:",
@@ -33140,10 +33186,18 @@ const en = {
33140
33186
  auto_setup_collections_button: "Automatically set up collections",
33141
33187
  auto_setup_collections_title: "Automatically set up collections?",
33142
33188
  auto_setup_collections_desc: "This will automatically create collection configs for collections that are <b>NOT</b> already mapped",
33143
- this_can_take_a_minute: "This can take a minute or two",
33189
+ setting_up_collections: "Setting up collections",
33190
+ setting_up_collection: "Setting up {{name}}",
33144
33191
  no_collections_found_to_setup: "No collections found to setup.",
33145
33192
  collections_have_been_setup: "Collections have been automatically setup.",
33146
33193
  error_setting_up_collections: "Error automatically setting up collections",
33194
+ setup_collections_title: "Set up collections",
33195
+ setup_collections_select_desc: "Select which collections to automatically set up:",
33196
+ select_all: "Select all",
33197
+ deselect_all: "Deselect all",
33198
+ setup_collections_confirm: "Set up ({{count}})",
33199
+ collection_setup_success: "{{name}} has been set up",
33200
+ go_to_collection: "Go to collection",
33147
33201
  // --- Home Suggestions ---
33148
33202
  add_your: "Add your",
33149
33203
  database_collections: "database collections",
@@ -33471,8 +33525,8 @@ const es = {
33471
33525
  // ─── Error states ─────────────────────────────────────────────
33472
33526
  error: "Error",
33473
33527
  error_uploading_file: "Error al subir archivo",
33474
- error_deleting: "Error al eliminar",
33475
- error_before_delete: "Error antes de eliminar",
33528
+ error_deleting: "Error al eliminar: {{message}}",
33529
+ error_before_delete: "Error antes de eliminar: {{message}}",
33476
33530
  error_updating_asset: "Error al actualizar recurso",
33477
33531
  error_deleting_asset: "Error al eliminar recurso",
33478
33532
  error_firestore_index: "Se requiere un índice de Firestore para esta consulta.",
@@ -33739,8 +33793,8 @@ const es = {
33739
33793
  cms_users: "Usuarios del CMS",
33740
33794
  roles_menu: "Roles",
33741
33795
  project_settings: "Ajustes del proyecto",
33742
- firestore_explorer: "Explorador de Firestore",
33743
- explore_your_firestore_data: "Explora tus datos de Firestore",
33796
+ firestore_manager: "Gestor de Firestore",
33797
+ manage_your_firestore_data: "Gestiona tus datos de Firestore",
33744
33798
  // ─── FireCMS Cloud Login ──────────────────────────────────────
33745
33799
  build_admin_panel_in_minutes: "Crea tu panel de administración de Firebase en minutos",
33746
33800
  go_live_instantly: "En vivo al instante:",
@@ -33811,10 +33865,18 @@ const es = {
33811
33865
  auto_setup_collections_button: "Configurar colecciones automáticamente",
33812
33866
  auto_setup_collections_title: "¿Configurar colecciones automáticamente?",
33813
33867
  auto_setup_collections_desc: "Esto creará automáticamente la configuración de las colecciones que <b>NO</b> estén mapeadas",
33814
- this_can_take_a_minute: "Esto puede tardar un minuto o dos",
33868
+ setting_up_collections: "Configurando colecciones",
33869
+ setting_up_collection: "Configurando {{name}}",
33815
33870
  no_collections_found_to_setup: "No se encontraron colecciones para configurar",
33816
33871
  collections_have_been_setup: "¡Tus colecciones han sido configuradas!",
33817
33872
  error_setting_up_collections: "Error al configurar colecciones",
33873
+ setup_collections_title: "Set up collections",
33874
+ setup_collections_select_desc: "Select which collections to automatically set up:",
33875
+ select_all: "Select all",
33876
+ deselect_all: "Deselect all",
33877
+ setup_collections_confirm: "Set up ({{count}})",
33878
+ collection_setup_success: "{{name}} has been set up",
33879
+ go_to_collection: "Go to collection",
33818
33880
  // --- Home Suggestions ---
33819
33881
  add_your: "Añade tus",
33820
33882
  database_collections: "colecciones de base de datos",
@@ -34144,8 +34206,8 @@ const de = {
34144
34206
  // ─── Error states ─────────────────────────────────────────────
34145
34207
  error: "Fehler",
34146
34208
  error_uploading_file: "Fehler beim Hochladen der Datei",
34147
- error_deleting: "Fehler beim Löschen",
34148
- error_before_delete: "Fehler vor dem Löschen",
34209
+ error_deleting: "Fehler beim Löschen: {{message}}",
34210
+ error_before_delete: "Fehler vor dem Löschen: {{message}}",
34149
34211
  error_updating_asset: "Fehler beim Aktualisieren des Assets",
34150
34212
  error_deleting_asset: "Fehler beim Löschen des Assets",
34151
34213
  error_firestore_index: "Für diese Abfrage ist ein Firestore-Index erforderlich.",
@@ -34410,8 +34472,8 @@ const de = {
34410
34472
  cms_users: "CMS-Benutzer",
34411
34473
  roles_menu: "Rollen",
34412
34474
  project_settings: "Projekteinstellungen",
34413
- firestore_explorer: "Firestore-Explorer",
34414
- explore_your_firestore_data: "Deine Firestore-Daten durchsuchen",
34475
+ firestore_manager: "Firestore-Manager",
34476
+ manage_your_firestore_data: "Deine Firestore-Daten verwalten",
34415
34477
  // ─── FireCMS Cloud Login ──────────────────────────────────────
34416
34478
  build_admin_panel_in_minutes: "Erstellen Sie Ihr Firebase Admin Panel in wenigen Minuten",
34417
34479
  go_live_instantly: "Sofort live gehen:",
@@ -34482,10 +34544,18 @@ const de = {
34482
34544
  auto_setup_collections_button: "Sammlungen automatisch einrichten",
34483
34545
  auto_setup_collections_title: "Sammlungen automatisch einrichten?",
34484
34546
  auto_setup_collections_desc: "Dadurch werden automatisch Sammlungskonfigurationen für Sammlungen erstellt, die noch <b>NICHT</b> zugeordnet sind.",
34485
- this_can_take_a_minute: "Dies kann ein bis zwei Minuten dauern",
34547
+ setting_up_collections: "Sammlungen werden eingerichtet",
34548
+ setting_up_collection: "{{name}} wird eingerichtet",
34486
34549
  no_collections_found_to_setup: "Keine einzurichtenden Sammlungen gefunden",
34487
34550
  collections_have_been_setup: "Sammlungen wurden automatisch eingerichtet",
34488
34551
  error_setting_up_collections: "Fehler beim automatischen Einrichten der Sammlungen",
34552
+ setup_collections_title: "Set up collections",
34553
+ setup_collections_select_desc: "Select which collections to automatically set up:",
34554
+ select_all: "Select all",
34555
+ deselect_all: "Deselect all",
34556
+ setup_collections_confirm: "Set up ({{count}})",
34557
+ collection_setup_success: "{{name}} has been set up",
34558
+ go_to_collection: "Go to collection",
34489
34559
  add_your: "Fügen Sie Ihre",
34490
34560
  database_collections: "Datenbanksammlungen",
34491
34561
  to_firecms: "zu FireCMS hinzu",
@@ -34813,8 +34883,8 @@ const fr = {
34813
34883
  // ─── Error states ─────────────────────────────────────────────
34814
34884
  error: "Erreur",
34815
34885
  error_uploading_file: "Erreur lors du téléchargement du fichier",
34816
- error_deleting: "Erreur lors de la suppression",
34817
- error_before_delete: "Erreur avant la suppression",
34886
+ error_deleting: "Erreur lors de la suppression: {{message}}",
34887
+ error_before_delete: "Erreur avant la suppression: {{message}}",
34818
34888
  error_updating_asset: "Erreur lors de la mise à jour de l'actif",
34819
34889
  error_deleting_asset: "Erreur lors de la suppression de l'actif",
34820
34890
  error_firestore_index: "Un index Firestore est requis pour cette requête.",
@@ -35079,8 +35149,8 @@ const fr = {
35079
35149
  cms_users: "Utilisateurs du CMS",
35080
35150
  roles_menu: "Rôles",
35081
35151
  project_settings: "Paramètres du projet",
35082
- firestore_explorer: "Explorateur Firestore",
35083
- explore_your_firestore_data: "Explorez vos données Firestore",
35152
+ firestore_manager: "Gestionnaire Firestore",
35153
+ manage_your_firestore_data: "Gérez vos données Firestore",
35084
35154
  // ─── FireCMS Cloud Login ──────────────────────────────────────
35085
35155
  build_admin_panel_in_minutes: "Créez votre panneau d'administration Firebase en quelques minutes",
35086
35156
  go_live_instantly: "Mise en ligne immédiate :",
@@ -35151,10 +35221,18 @@ const fr = {
35151
35221
  auto_setup_collections_button: "Configurer les collections automatiquement",
35152
35222
  auto_setup_collections_title: "Configurer les collections automatiquement ?",
35153
35223
  auto_setup_collections_desc: "Cela créera automatiquement des configurations de collection pour les collections qui ne sont <b>PAS</b> déjà mappées",
35154
- this_can_take_a_minute: "Cela peut prendre une minute",
35224
+ setting_up_collections: "Configuration des collections",
35225
+ setting_up_collection: "Configuration de {{name}}",
35155
35226
  no_collections_found_to_setup: "Aucune collection à configurer trouvée",
35156
35227
  collections_have_been_setup: "Les collections ont été configurées",
35157
35228
  error_setting_up_collections: "Erreur lors de la configuration des collections",
35229
+ setup_collections_title: "Set up collections",
35230
+ setup_collections_select_desc: "Select which collections to automatically set up:",
35231
+ select_all: "Select all",
35232
+ deselect_all: "Deselect all",
35233
+ setup_collections_confirm: "Set up ({{count}})",
35234
+ collection_setup_success: "{{name}} has been set up",
35235
+ go_to_collection: "Go to collection",
35158
35236
  add_your: "Ajoutez vos",
35159
35237
  database_collections: "collections de base de données",
35160
35238
  to_firecms: "à FireCMS",
@@ -35482,8 +35560,8 @@ const it = {
35482
35560
  // ─── Error states ─────────────────────────────────────────────
35483
35561
  error: "Errore",
35484
35562
  error_uploading_file: "Errore durante il caricamento del file",
35485
- error_deleting: "Errore durante l'eliminazione",
35486
- error_before_delete: "Errore prima dell'eliminazione",
35563
+ error_deleting: "Errore durante l'eliminazione: {{message}}",
35564
+ error_before_delete: "Errore prima dell'eliminazione: {{message}}",
35487
35565
  error_updating_asset: "Errore durante l'aggiornamento dell'asset",
35488
35566
  error_deleting_asset: "Errore durante l'eliminazione dell'asset",
35489
35567
  error_firestore_index: "Per questa query è richiesto un indice Firestore.",
@@ -35748,8 +35826,8 @@ const it = {
35748
35826
  cms_users: "Utenti CMS",
35749
35827
  roles_menu: "Ruoli",
35750
35828
  project_settings: "Impostazioni del progetto",
35751
- firestore_explorer: "Esplora Firestore",
35752
- explore_your_firestore_data: "Esplora i tuoi dati Firestore",
35829
+ firestore_manager: "Gestore Firestore",
35830
+ manage_your_firestore_data: "Gestisci i tuoi dati Firestore",
35753
35831
  // ─── FireCMS Cloud Login ──────────────────────────────────────
35754
35832
  build_admin_panel_in_minutes: "Crea il tuo pannello di amministrazione Firebase in pochi minuti",
35755
35833
  go_live_instantly: "Online in un istante:",
@@ -35820,10 +35898,18 @@ const it = {
35820
35898
  auto_setup_collections_button: "Configura le collezioni automaticamente",
35821
35899
  auto_setup_collections_title: "Configurazione automatica delle collezioni",
35822
35900
  auto_setup_collections_desc: "Configura le collezioni automaticamente in base ai dati Firestore esistenti. Lascia che FireCMS configuri il CMS perfetto per te.",
35823
- this_can_take_a_minute: "Potrebbe richiedere qualche minuto",
35901
+ setting_up_collections: "Configurazione delle collezioni",
35902
+ setting_up_collection: "Configurazione di {{name}}",
35824
35903
  no_collections_found_to_setup: "Nessuna collezione trovata da configurare",
35825
35904
  collections_have_been_setup: "Le collezioni sono state configurate",
35826
35905
  error_setting_up_collections: "Errore durante la configurazione delle collezioni",
35906
+ setup_collections_title: "Set up collections",
35907
+ setup_collections_select_desc: "Select which collections to automatically set up:",
35908
+ select_all: "Select all",
35909
+ deselect_all: "Deselect all",
35910
+ setup_collections_confirm: "Set up ({{count}})",
35911
+ collection_setup_success: "{{name}} has been set up",
35912
+ go_to_collection: "Go to collection",
35827
35913
  add_your: "Aggiungi le tue",
35828
35914
  database_collections: "collezioni del database",
35829
35915
  to_firecms: "a FireCMS",
@@ -36151,8 +36237,8 @@ const hi = {
36151
36237
  // ─── Error states ─────────────────────────────────────────────
36152
36238
  error: "त्रुटि",
36153
36239
  error_uploading_file: "फ़ाइल अपलोड करने में त्रुटि",
36154
- error_deleting: "हटाने में त्रुटि",
36155
- error_before_delete: "हटाने से पहले त्रुटि",
36240
+ error_deleting: "हटाने में त्रुटि: {{message}}",
36241
+ error_before_delete: "हटाने से पहले त्रुटि: {{message}}",
36156
36242
  error_updating_asset: "एसेट अपडेट करने में त्रुटि",
36157
36243
  error_deleting_asset: "एसेट हटाने में त्रुटि",
36158
36244
  error_firestore_index: "इस क्वेरी के लिए Firestore इंडेक्स आवश्यक है।",
@@ -36417,8 +36503,8 @@ const hi = {
36417
36503
  cms_users: "CMS उपयोगकर्ता",
36418
36504
  roles_menu: "भूमिकाएँ",
36419
36505
  project_settings: "परियोजना सेटिंग",
36420
- firestore_explorer: "Firestore एक्सप्लोरर",
36421
- explore_your_firestore_data: "अपने Firestore डेटा का अन्वेषण करें",
36506
+ firestore_manager: "Firestore मैनेजर",
36507
+ manage_your_firestore_data: "अपने Firestore डेटा का प्रबंधन करें",
36422
36508
  // ─── FireCMS Cloud Login ──────────────────────────────────────
36423
36509
  build_admin_panel_in_minutes: "मिनटों में अपना Firebase एडमिन पैनल बनाएं",
36424
36510
  go_live_instantly: "तुरंत लाइव जाएं:",
@@ -36489,10 +36575,18 @@ const hi = {
36489
36575
  auto_setup_collections_button: "संग्रहों को स्वचालित रूप से सेट करें",
36490
36576
  auto_setup_collections_title: "संग्रहों की स्वचालित सेटअप",
36491
36577
  auto_setup_collections_desc: "अपने मौजूदा Firestore डेटा के आधार पर संग्रहों को स्वचालित रूप से सेट करें। FireCMS को आपके लिए परफेक्ट CMS कॉन्फ़िगर करने दें।",
36492
- this_can_take_a_minute: "इसमें एक मिनट लग सकता है",
36578
+ setting_up_collections: "संग्रह सेट किए जा रहे हैं",
36579
+ setting_up_collection: "{{name}} सेट किया जा रहा है",
36493
36580
  no_collections_found_to_setup: "सेट करने के लिए कोई संग्रह नहीं मिला",
36494
36581
  collections_have_been_setup: "संग्रहों को सेट कर दिया गया है",
36495
36582
  error_setting_up_collections: "संग्रह सेट करने में त्रुटि",
36583
+ setup_collections_title: "Set up collections",
36584
+ setup_collections_select_desc: "Select which collections to automatically set up:",
36585
+ select_all: "Select all",
36586
+ deselect_all: "Deselect all",
36587
+ setup_collections_confirm: "Set up ({{count}})",
36588
+ collection_setup_success: "{{name}} has been set up",
36589
+ go_to_collection: "Go to collection",
36496
36590
  add_your: "अपने",
36497
36591
  database_collections: "डेटाबेस संग्रह",
36498
36592
  to_firecms: "को FireCMS में जोड़ें",
@@ -36820,8 +36914,8 @@ const pt = {
36820
36914
  // ─── Error states ─────────────────────────────────────────────
36821
36915
  error: "Erro",
36822
36916
  error_uploading_file: "Erro ao carregar ficheiro",
36823
- error_deleting: "Erro ao eliminar",
36824
- error_before_delete: "Erro antes de eliminar",
36917
+ error_deleting: "Erro ao eliminar: {{message}}",
36918
+ error_before_delete: "Erro antes de eliminar: {{message}}",
36825
36919
  error_updating_asset: "Erro ao atualizar recurso",
36826
36920
  error_deleting_asset: "Erro ao eliminar recurso",
36827
36921
  error_firestore_index: "É necessário um índice Firestore para esta consulta.",
@@ -37086,8 +37180,8 @@ const pt = {
37086
37180
  cms_users: "Utilizadores do CMS",
37087
37181
  roles_menu: "Funções",
37088
37182
  project_settings: "Definições do projeto",
37089
- firestore_explorer: "Explorador do Firestore",
37090
- explore_your_firestore_data: "Explore os seus dados do Firestore",
37183
+ firestore_manager: "Gerenciador do Firestore",
37184
+ manage_your_firestore_data: "Gerencie os seus dados do Firestore",
37091
37185
  // ─── FireCMS Cloud Login ──────────────────────────────────────
37092
37186
  build_admin_panel_in_minutes: "Construa o Seu Painel de Administração Firebase em Minutos",
37093
37187
  go_live_instantly: "Entre em produção instantaneamente:",
@@ -37158,10 +37252,18 @@ const pt = {
37158
37252
  auto_setup_collections_button: "Configurar coleções automaticamente",
37159
37253
  auto_setup_collections_title: "Configurar coleções automaticamente?",
37160
37254
  auto_setup_collections_desc: "Isto criará automaticamente configurações de coleção para coleções que <b>NÃO</b> estão já mapeadas",
37161
- this_can_take_a_minute: "Isto pode demorar um ou dois minutos",
37255
+ setting_up_collections: "Configurando coleções",
37256
+ setting_up_collection: "Configurando {{name}}",
37162
37257
  no_collections_found_to_setup: "Nenhuma coleção encontrada para configurar.",
37163
37258
  collections_have_been_setup: "As coleções foram configuradas automaticamente.",
37164
37259
  error_setting_up_collections: "Erro ao configurar coleções automaticamente",
37260
+ setup_collections_title: "Set up collections",
37261
+ setup_collections_select_desc: "Select which collections to automatically set up:",
37262
+ select_all: "Select all",
37263
+ deselect_all: "Deselect all",
37264
+ setup_collections_confirm: "Set up ({{count}})",
37265
+ collection_setup_success: "{{name}} has been set up",
37266
+ go_to_collection: "Go to collection",
37165
37267
  // --- Home Suggestions ---
37166
37268
  add_your: "Adicione as suas",
37167
37269
  database_collections: "coleções da base de dados",