@firecms/core 3.3.0-canary.3ea2cd2 → 3.3.0-canary.42ba35b

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.
Files changed (70) hide show
  1. package/dist/app/useApp.d.ts +1 -0
  2. package/dist/components/EntityCollectionTable/column_utils.d.ts +4 -3
  3. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +2 -1
  4. package/dist/components/EntityPreview.d.ts +3 -1
  5. package/dist/core/DefaultDrawer.d.ts +10 -3
  6. package/dist/core/field_configs.d.ts +1 -1
  7. package/dist/form/field_bindings/GeopointFieldBinding.d.ts +5 -0
  8. package/dist/form/index.d.ts +1 -0
  9. package/dist/index.es.js +2090 -743
  10. package/dist/index.es.js.map +1 -1
  11. package/dist/index.umd.js +2089 -742
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/locales/pl.d.ts +2 -0
  14. package/dist/preview/index.d.ts +1 -0
  15. package/dist/preview/property_previews/GeopointPropertyPreview.d.ts +4 -0
  16. package/dist/types/collections.d.ts +17 -0
  17. package/dist/types/translations.d.ts +9 -1
  18. package/dist/util/entities.d.ts +1 -0
  19. package/dist/util/geopoint.d.ts +22 -0
  20. package/dist/util/index.d.ts +1 -0
  21. package/dist/util/navigation_blocking.d.ts +22 -0
  22. package/dist/util/navigation_from_path.d.ts +10 -0
  23. package/dist/util/navigation_utils.d.ts +20 -0
  24. package/package.json +16 -9
  25. package/src/app/Scaffold.tsx +47 -45
  26. package/src/app/useApp.tsx +1 -0
  27. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +2 -1
  28. package/src/components/EntityCollectionTable/column_utils.tsx +11 -19
  29. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +1 -1
  30. package/src/components/EntityCollectionView/EntityCollectionView.tsx +5 -2
  31. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +4 -1
  32. package/src/components/EntityCollectionView/FiltersDialog.tsx +39 -28
  33. package/src/components/EntityPreview.tsx +41 -40
  34. package/src/components/ReferenceWidget.tsx +1 -1
  35. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +2 -2
  36. package/src/components/VirtualTable/VirtualTable.tsx +19 -8
  37. package/src/components/common/useDataSourceTableController.tsx +66 -10
  38. package/src/core/DefaultDrawer.tsx +150 -64
  39. package/src/core/DrawerNavigationGroup.tsx +27 -29
  40. package/src/core/DrawerNavigationItem.tsx +10 -12
  41. package/src/core/EntityEditView.tsx +57 -32
  42. package/src/core/field_configs.tsx +15 -0
  43. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +1 -1
  44. package/src/form/field_bindings/GeopointFieldBinding.tsx +139 -0
  45. package/src/form/index.tsx +1 -0
  46. package/src/hooks/useBuildNavigationController.tsx +5 -1
  47. package/src/i18n/FireCMSi18nProvider.tsx +2 -0
  48. package/src/internal/useBuildSideEntityController.tsx +2 -1
  49. package/src/locales/de.ts +11 -3
  50. package/src/locales/en.ts +11 -3
  51. package/src/locales/es.ts +11 -3
  52. package/src/locales/fr.ts +11 -3
  53. package/src/locales/hi.ts +11 -3
  54. package/src/locales/it.ts +11 -3
  55. package/src/locales/pl.ts +730 -0
  56. package/src/locales/pt.ts +11 -3
  57. package/src/preview/PropertyPreview.tsx +12 -0
  58. package/src/preview/index.ts +1 -0
  59. package/src/preview/property_previews/GeopointPropertyPreview.tsx +23 -0
  60. package/src/routes/FireCMSRoute.tsx +44 -25
  61. package/src/types/collections.ts +18 -0
  62. package/src/types/translations.ts +9 -1
  63. package/src/util/entities.ts +13 -0
  64. package/src/util/geopoint.ts +81 -0
  65. package/src/util/index.ts +1 -0
  66. package/src/util/navigation_blocking.ts +45 -0
  67. package/src/util/navigation_from_path.ts +23 -6
  68. package/src/util/navigation_utils.ts +36 -2
  69. package/src/util/parent_references_from_path.ts +4 -2
  70. package/src/util/resolutions.ts +3 -0
@@ -0,0 +1,139 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+
3
+ import { CloseIcon, IconButton, TextField } from "@firecms/ui";
4
+ import { FieldProps, GeoPoint } from "../../types";
5
+ import { FieldHelperText, LabelWithIcon } from "../components";
6
+ import { PropertyIdCopyTooltip } from "../../components";
7
+ import { useClearRestoreValue } from "../useClearRestoreValue";
8
+ import { getIconForProperty } from "../../util";
9
+ import { formatGeoPoint, getGeoPointCoordinates, parseGeoPoint } from "../../util/geopoint";
10
+
11
+ type GeopointFieldBindingProps = FieldProps<GeoPoint>;
12
+
13
+ export function GeopointFieldBinding({
14
+ propertyKey,
15
+ value,
16
+ setValue,
17
+ error,
18
+ showError,
19
+ disabled,
20
+ autoFocus,
21
+ property,
22
+ includeDescription,
23
+ size = "large"
24
+ }: GeopointFieldBindingProps) {
25
+
26
+ const coordinates = getGeoPointCoordinates(value);
27
+ const canClear = Boolean((property as any).clearable);
28
+ const [latitude, setLatitude] = useState<string>(coordinates ? coordinates.latitude.toString() : "");
29
+ const [longitude, setLongitude] = useState<string>(coordinates ? coordinates.longitude.toString() : "");
30
+ const [localError, setLocalError] = useState<string | undefined>();
31
+ const skipSyncRef = useRef(false);
32
+
33
+ useClearRestoreValue({
34
+ property,
35
+ value,
36
+ setValue
37
+ });
38
+
39
+ useEffect(() => {
40
+ if (skipSyncRef.current) {
41
+ skipSyncRef.current = false;
42
+ return;
43
+ }
44
+ const nextCoordinates = getGeoPointCoordinates(value);
45
+ setLatitude(nextCoordinates ? nextCoordinates.latitude.toString() : "");
46
+ setLongitude(nextCoordinates ? nextCoordinates.longitude.toString() : "");
47
+ }, [value]);
48
+
49
+ const updateGeoPoint = (nextLatitude: string, nextLongitude: string) => {
50
+ skipSyncRef.current = true;
51
+ setLatitude(nextLatitude);
52
+ setLongitude(nextLongitude);
53
+
54
+ const trimmedLatitude = nextLatitude.trim();
55
+ const trimmedLongitude = nextLongitude.trim();
56
+
57
+ if (!trimmedLatitude && !trimmedLongitude) {
58
+ setLocalError(undefined);
59
+ setValue(null);
60
+ return;
61
+ }
62
+
63
+ const parsed = parseGeoPoint(`${trimmedLatitude}, ${trimmedLongitude}`);
64
+
65
+ if (parsed.error) {
66
+ setLocalError(parsed.error);
67
+ setValue(null);
68
+ return;
69
+ }
70
+
71
+ setLocalError(undefined);
72
+ setValue(parsed.point);
73
+ };
74
+
75
+ const handleClear = (event?: React.MouseEvent) => {
76
+ if (event) {
77
+ event.preventDefault();
78
+ event.stopPropagation();
79
+ }
80
+ updateGeoPoint("", "");
81
+ };
82
+
83
+ const resolvedError = localError ?? error;
84
+ const shouldShowError = Boolean(resolvedError) || Boolean(showError && error);
85
+
86
+ return (
87
+ <>
88
+ <PropertyIdCopyTooltip propertyKey={propertyKey}>
89
+ <div className="flex flex-col gap-2">
90
+ <div className="mt-1">
91
+ <LabelWithIcon
92
+ icon={getIconForProperty(property, "small")}
93
+ required={property.validation?.required}
94
+ title={property.name}
95
+ className={shouldShowError ? "text-red-500 dark:text-red-500" : "text-text-secondary dark:text-text-secondary-dark"}
96
+ />
97
+ </div>
98
+ <div className="grid grid-cols-1 gap-2 md:grid-cols-2">
99
+ <TextField
100
+ size={size}
101
+ value={latitude}
102
+ onChange={(event) => updateGeoPoint(event.target.value, longitude)}
103
+ autoFocus={autoFocus}
104
+ label={"Latitude"}
105
+ type="number"
106
+ disabled={disabled}
107
+ endAdornment={canClear ? (
108
+ <IconButton onClick={handleClear}>
109
+ <CloseIcon />
110
+ </IconButton>
111
+ ) : undefined}
112
+ error={shouldShowError && Boolean(resolvedError)}
113
+ />
114
+ <TextField
115
+ size={size}
116
+ value={longitude}
117
+ onChange={(event) => updateGeoPoint(latitude, event.target.value)}
118
+ label={"Longitude"}
119
+ type="number"
120
+ disabled={disabled}
121
+ error={shouldShowError && Boolean(resolvedError)}
122
+ />
123
+ </div>
124
+ {value && !resolvedError && (
125
+ <div className="text-xs text-text-secondary dark:text-text-secondary-dark font-mono">
126
+ {formatGeoPoint(value)}
127
+ </div>
128
+ )}
129
+ </div>
130
+ </PropertyIdCopyTooltip>
131
+
132
+ <FieldHelperText includeDescription={includeDescription}
133
+ showError={shouldShowError}
134
+ error={resolvedError}
135
+ disabled={disabled}
136
+ property={property}/>
137
+ </>
138
+ );
139
+ }
@@ -11,6 +11,7 @@ export { StorageUploadFieldBinding } from "./field_bindings/StorageUploadFieldBi
11
11
  export { TextFieldBinding } from "./field_bindings/TextFieldBinding";
12
12
  export { SwitchFieldBinding } from "./field_bindings/SwitchFieldBinding";
13
13
  export { DateTimeFieldBinding } from "./field_bindings/DateTimeFieldBinding";
14
+ export { GeopointFieldBinding } from "./field_bindings/GeopointFieldBinding";
14
15
  export { ReferenceFieldBinding } from "./field_bindings/ReferenceFieldBinding";
15
16
  export { ReferenceAsStringFieldBinding } from "./field_bindings/ReferenceAsStringFieldBinding";
16
17
  export { MapFieldBinding } from "./field_bindings/MapFieldBinding";
@@ -414,7 +414,11 @@ export function useBuildNavigationController<EC extends EntityCollection, USER e
414
414
  const baseCollection = getCollectionByPathOrId(removeInitialAndTrailingSlashes(idOrPath), collections);
415
415
 
416
416
  const userOverride = includeUserOverride ? userConfigPersistence?.getCollectionConfig(idOrPath) : undefined;
417
- const overriddenCollection = baseCollection ? mergeDeep(baseCollection, userOverride ?? {}) : undefined;
417
+ let overriddenCollection = baseCollection;
418
+ if (baseCollection && userOverride) {
419
+ const { properties, ...rest } = userOverride;
420
+ overriddenCollection = mergeDeep(baseCollection, rest);
421
+ }
418
422
 
419
423
  let result: Partial<EntityCollection> | undefined = overriddenCollection;
420
424
 
@@ -8,6 +8,7 @@ import { fr } from "../locales/fr";
8
8
  import { it } from "../locales/it";
9
9
  import { hi } from "../locales/hi";
10
10
  import { pt } from "../locales/pt";
11
+ import { pl } from "../locales/pl";
11
12
  import { FireCMSTranslations } from "../types/translations";
12
13
 
13
14
  const FIRECMS_NS = "firecms_core";
@@ -139,6 +140,7 @@ function buildResources(
139
140
  it: { [FIRECMS_NS]: { ...it } },
140
141
  hi: { [FIRECMS_NS]: { ...hi } },
141
142
  pt: { [FIRECMS_NS]: { ...pt } },
143
+ pl: { [FIRECMS_NS]: { ...pl } },
142
144
  };
143
145
 
144
146
  if (!translations) return resources;
@@ -13,6 +13,7 @@ import {
13
13
  import { getNavigationEntriesFromPath, NavigationViewInternal } from "../util/navigation_from_path";
14
14
  import { useLocation } from "react-router-dom";
15
15
  import {
16
+ encodeEntityId,
16
17
  removeInitialAndTrailingSlashes,
17
18
  resolveCollection,
18
19
  resolveDefaultSelectedView,
@@ -277,7 +278,7 @@ const propsToSidePanel = (props: EntitySidePanelProps,
277
278
  const collectionPath = removeInitialAndTrailingSlashes(props.path);
278
279
 
279
280
  const urlPath = props.entityId
280
- ? buildUrlCollectionPath(`${collectionPath}/${props.entityId}${props.selectedTab ? "/" + props.selectedTab : ""}${locationSearch}#${SIDE_URL_HASH}`)
281
+ ? buildUrlCollectionPath(`${collectionPath}/${encodeEntityId(props.entityId)}${props.selectedTab ? "/" + props.selectedTab : ""}${locationSearch}#${SIDE_URL_HASH}`)
281
282
  : buildUrlCollectionPath(`${collectionPath}${locationSearch}#${NEW_URL_HASH}`);
282
283
 
283
284
  const resolvedPanelProps: EntitySidePanelProps<any> = {
package/src/locales/de.ts CHANGED
@@ -146,8 +146,8 @@ export const de: FireCMSTranslations = {
146
146
  // ─── Error states ─────────────────────────────────────────────
147
147
  error: "Fehler",
148
148
  error_uploading_file: "Fehler beim Hochladen der Datei",
149
- error_deleting: "Fehler beim Löschen",
150
- error_before_delete: "Fehler vor dem Löschen",
149
+ error_deleting: "Fehler beim Löschen: {{message}}",
150
+ error_before_delete: "Fehler vor dem Löschen: {{message}}",
151
151
  error_updating_asset: "Fehler beim Aktualisieren des Assets",
152
152
  error_deleting_asset: "Fehler beim Löschen des Assets",
153
153
  error_firestore_index: "Für diese Abfrage ist ein Firestore-Index erforderlich.",
@@ -514,10 +514,18 @@ export const de: FireCMSTranslations = {
514
514
  auto_setup_collections_button: "Sammlungen automatisch einrichten",
515
515
  auto_setup_collections_title: "Sammlungen automatisch einrichten?",
516
516
  auto_setup_collections_desc: "Dadurch werden automatisch Sammlungskonfigurationen für Sammlungen erstellt, die noch <b>NICHT</b> zugeordnet sind.",
517
- this_can_take_a_minute: "Dies kann ein bis zwei Minuten dauern",
517
+ setting_up_collections: "Sammlungen werden eingerichtet",
518
+ setting_up_collection: "{{name}} wird eingerichtet",
518
519
  no_collections_found_to_setup: "Keine einzurichtenden Sammlungen gefunden",
519
520
  collections_have_been_setup: "Sammlungen wurden automatisch eingerichtet",
520
521
  error_setting_up_collections: "Fehler beim automatischen Einrichten der Sammlungen",
522
+ setup_collections_title: "Set up collections",
523
+ setup_collections_select_desc: "Select which collections to automatically set up:",
524
+ select_all: "Select all",
525
+ deselect_all: "Deselect all",
526
+ setup_collections_confirm: "Set up ({{count}})",
527
+ collection_setup_success: "{{name}} has been set up",
528
+ go_to_collection: "Go to collection",
521
529
  add_your: "Fügen Sie Ihre",
522
530
  database_collections: "Datenbanksammlungen",
523
531
  to_firecms: "zu FireCMS hinzu",
package/src/locales/en.ts CHANGED
@@ -154,8 +154,8 @@ export const en: FireCMSTranslations = {
154
154
  // ─── Error states ─────────────────────────────────────────────
155
155
  error: "Error",
156
156
  error_uploading_file: "Error uploading file",
157
- error_deleting: "Error deleting",
158
- error_before_delete: "Error before delete",
157
+ error_deleting: "Error deleting: {{message}}",
158
+ error_before_delete: "Error before delete: {{message}}",
159
159
  error_updating_asset: "Error updating asset",
160
160
  error_deleting_asset: "Error deleting asset",
161
161
  error_firestore_index: "A Firestore index is required for this query.",
@@ -522,10 +522,18 @@ export const en: FireCMSTranslations = {
522
522
  auto_setup_collections_button: "Automatically set up collections",
523
523
  auto_setup_collections_title: "Automatically set up collections?",
524
524
  auto_setup_collections_desc: "This will automatically create collection configs for collections that are <b>NOT</b> already mapped",
525
- this_can_take_a_minute: "This can take a minute or two",
525
+ setting_up_collections: "Setting up collections",
526
+ setting_up_collection: "Setting up {{name}}",
526
527
  no_collections_found_to_setup: "No collections found to setup.",
527
528
  collections_have_been_setup: "Collections have been automatically setup.",
528
529
  error_setting_up_collections: "Error automatically setting up collections",
530
+ setup_collections_title: "Set up collections",
531
+ setup_collections_select_desc: "Select which collections to automatically set up:",
532
+ select_all: "Select all",
533
+ deselect_all: "Deselect all",
534
+ setup_collections_confirm: "Set up ({{count}})",
535
+ collection_setup_success: "{{name}} has been set up",
536
+ go_to_collection: "Go to collection",
529
537
 
530
538
  // --- Home Suggestions ---
531
539
  add_your: "Add your",
package/src/locales/es.ts CHANGED
@@ -152,8 +152,8 @@ export const es: FireCMSTranslations = {
152
152
  // ─── Error states ─────────────────────────────────────────────
153
153
  error: "Error",
154
154
  error_uploading_file: "Error al subir archivo",
155
- error_deleting: "Error al eliminar",
156
- error_before_delete: "Error antes de eliminar",
155
+ error_deleting: "Error al eliminar: {{message}}",
156
+ error_before_delete: "Error antes de eliminar: {{message}}",
157
157
  error_updating_asset: "Error al actualizar recurso",
158
158
  error_deleting_asset: "Error al eliminar recurso",
159
159
  error_firestore_index: "Se requiere un índice de Firestore para esta consulta.",
@@ -522,10 +522,18 @@ export const es: FireCMSTranslations = {
522
522
  auto_setup_collections_button: "Configurar colecciones automáticamente",
523
523
  auto_setup_collections_title: "¿Configurar colecciones automáticamente?",
524
524
  auto_setup_collections_desc: "Esto creará automáticamente la configuración de las colecciones que <b>NO</b> estén mapeadas",
525
- this_can_take_a_minute: "Esto puede tardar un minuto o dos",
525
+ setting_up_collections: "Configurando colecciones",
526
+ setting_up_collection: "Configurando {{name}}",
526
527
  no_collections_found_to_setup: "No se encontraron colecciones para configurar",
527
528
  collections_have_been_setup: "¡Tus colecciones han sido configuradas!",
528
529
  error_setting_up_collections: "Error al configurar colecciones",
530
+ setup_collections_title: "Set up collections",
531
+ setup_collections_select_desc: "Select which collections to automatically set up:",
532
+ select_all: "Select all",
533
+ deselect_all: "Deselect all",
534
+ setup_collections_confirm: "Set up ({{count}})",
535
+ collection_setup_success: "{{name}} has been set up",
536
+ go_to_collection: "Go to collection",
529
537
 
530
538
  // --- Home Suggestions ---
531
539
  add_your: "Añade tus",
package/src/locales/fr.ts CHANGED
@@ -146,8 +146,8 @@ export const fr: FireCMSTranslations = {
146
146
  // ─── Error states ─────────────────────────────────────────────
147
147
  error: "Erreur",
148
148
  error_uploading_file: "Erreur lors du téléchargement du fichier",
149
- error_deleting: "Erreur lors de la suppression",
150
- error_before_delete: "Erreur avant la suppression",
149
+ error_deleting: "Erreur lors de la suppression: {{message}}",
150
+ error_before_delete: "Erreur avant la suppression: {{message}}",
151
151
  error_updating_asset: "Erreur lors de la mise à jour de l'actif",
152
152
  error_deleting_asset: "Erreur lors de la suppression de l'actif",
153
153
  error_firestore_index: "Un index Firestore est requis pour cette requête.",
@@ -514,10 +514,18 @@ export const fr: FireCMSTranslations = {
514
514
  auto_setup_collections_button: "Configurer les collections automatiquement",
515
515
  auto_setup_collections_title: "Configurer les collections automatiquement ?",
516
516
  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",
517
- this_can_take_a_minute: "Cela peut prendre une minute",
517
+ setting_up_collections: "Configuration des collections",
518
+ setting_up_collection: "Configuration de {{name}}",
518
519
  no_collections_found_to_setup: "Aucune collection à configurer trouvée",
519
520
  collections_have_been_setup: "Les collections ont été configurées",
520
521
  error_setting_up_collections: "Erreur lors de la configuration des collections",
522
+ setup_collections_title: "Set up collections",
523
+ setup_collections_select_desc: "Select which collections to automatically set up:",
524
+ select_all: "Select all",
525
+ deselect_all: "Deselect all",
526
+ setup_collections_confirm: "Set up ({{count}})",
527
+ collection_setup_success: "{{name}} has been set up",
528
+ go_to_collection: "Go to collection",
521
529
  add_your: "Ajoutez vos",
522
530
  database_collections: "collections de base de données",
523
531
  to_firecms: "à FireCMS",
package/src/locales/hi.ts CHANGED
@@ -146,8 +146,8 @@ export const hi: FireCMSTranslations = {
146
146
  // ─── Error states ─────────────────────────────────────────────
147
147
  error: "त्रुटि",
148
148
  error_uploading_file: "फ़ाइल अपलोड करने में त्रुटि",
149
- error_deleting: "हटाने में त्रुटि",
150
- error_before_delete: "हटाने से पहले त्रुटि",
149
+ error_deleting: "हटाने में त्रुटि: {{message}}",
150
+ error_before_delete: "हटाने से पहले त्रुटि: {{message}}",
151
151
  error_updating_asset: "एसेट अपडेट करने में त्रुटि",
152
152
  error_deleting_asset: "एसेट हटाने में त्रुटि",
153
153
  error_firestore_index: "इस क्वेरी के लिए Firestore इंडेक्स आवश्यक है।",
@@ -514,10 +514,18 @@ export const hi: FireCMSTranslations = {
514
514
  auto_setup_collections_button: "संग्रहों को स्वचालित रूप से सेट करें",
515
515
  auto_setup_collections_title: "संग्रहों की स्वचालित सेटअप",
516
516
  auto_setup_collections_desc: "अपने मौजूदा Firestore डेटा के आधार पर संग्रहों को स्वचालित रूप से सेट करें। FireCMS को आपके लिए परफेक्ट CMS कॉन्फ़िगर करने दें।",
517
- this_can_take_a_minute: "इसमें एक मिनट लग सकता है",
517
+ setting_up_collections: "संग्रह सेट किए जा रहे हैं",
518
+ setting_up_collection: "{{name}} सेट किया जा रहा है",
518
519
  no_collections_found_to_setup: "सेट करने के लिए कोई संग्रह नहीं मिला",
519
520
  collections_have_been_setup: "संग्रहों को सेट कर दिया गया है",
520
521
  error_setting_up_collections: "संग्रह सेट करने में त्रुटि",
522
+ setup_collections_title: "Set up collections",
523
+ setup_collections_select_desc: "Select which collections to automatically set up:",
524
+ select_all: "Select all",
525
+ deselect_all: "Deselect all",
526
+ setup_collections_confirm: "Set up ({{count}})",
527
+ collection_setup_success: "{{name}} has been set up",
528
+ go_to_collection: "Go to collection",
521
529
  add_your: "अपने",
522
530
  database_collections: "डेटाबेस संग्रह",
523
531
  to_firecms: "को FireCMS में जोड़ें",
package/src/locales/it.ts CHANGED
@@ -146,8 +146,8 @@ export const it: FireCMSTranslations = {
146
146
  // ─── Error states ─────────────────────────────────────────────
147
147
  error: "Errore",
148
148
  error_uploading_file: "Errore durante il caricamento del file",
149
- error_deleting: "Errore durante l'eliminazione",
150
- error_before_delete: "Errore prima dell'eliminazione",
149
+ error_deleting: "Errore durante l'eliminazione: {{message}}",
150
+ error_before_delete: "Errore prima dell'eliminazione: {{message}}",
151
151
  error_updating_asset: "Errore durante l'aggiornamento dell'asset",
152
152
  error_deleting_asset: "Errore durante l'eliminazione dell'asset",
153
153
  error_firestore_index: "Per questa query è richiesto un indice Firestore.",
@@ -514,10 +514,18 @@ export const it: FireCMSTranslations = {
514
514
  auto_setup_collections_button: "Configura le collezioni automaticamente",
515
515
  auto_setup_collections_title: "Configurazione automatica delle collezioni",
516
516
  auto_setup_collections_desc: "Configura le collezioni automaticamente in base ai dati Firestore esistenti. Lascia che FireCMS configuri il CMS perfetto per te.",
517
- this_can_take_a_minute: "Potrebbe richiedere qualche minuto",
517
+ setting_up_collections: "Configurazione delle collezioni",
518
+ setting_up_collection: "Configurazione di {{name}}",
518
519
  no_collections_found_to_setup: "Nessuna collezione trovata da configurare",
519
520
  collections_have_been_setup: "Le collezioni sono state configurate",
520
521
  error_setting_up_collections: "Errore durante la configurazione delle collezioni",
522
+ setup_collections_title: "Set up collections",
523
+ setup_collections_select_desc: "Select which collections to automatically set up:",
524
+ select_all: "Select all",
525
+ deselect_all: "Deselect all",
526
+ setup_collections_confirm: "Set up ({{count}})",
527
+ collection_setup_success: "{{name}} has been set up",
528
+ go_to_collection: "Go to collection",
521
529
  add_your: "Aggiungi le tue",
522
530
  database_collections: "collezioni del database",
523
531
  to_firecms: "a FireCMS",