@kyro-cms/admin 0.12.3 → 0.12.5
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.cjs +64 -26
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +64 -26
- package/package.json +8 -2
- package/src/components/ActionBar.tsx +16 -16
- package/src/components/ApiHealth.tsx +522 -0
- package/src/components/ApiKeysManager.tsx +6 -4
- package/src/components/AuditLogsPage.tsx +4 -2
- package/src/components/AutoForm.tsx +10 -7
- package/src/components/BrandingHub.tsx +3 -1
- package/src/components/Dashboard.tsx +44 -37
- package/src/components/DashboardMetrics.tsx +168 -58
- package/src/components/DetailView.tsx +125 -50
- package/src/components/DeveloperCenter.tsx +5 -3
- package/src/components/GraphQLPlayground.tsx +10 -8
- package/src/components/ListView.tsx +66 -45
- package/src/components/LoginPage.tsx +21 -19
- package/src/components/MarketplaceManager.tsx +3 -1
- package/src/components/MediaGallery.tsx +12 -9
- package/src/components/PluginsManager.tsx +6 -4
- package/src/components/RestPlayground.tsx +8 -6
- package/src/components/SessionsManager.tsx +3 -1
- package/src/components/Sidebar.astro +180 -92
- package/src/components/UserManagement.tsx +8 -6
- package/src/components/UserMenu.tsx +19 -17
- package/src/components/VersionHistoryPanel.tsx +6 -4
- package/src/components/WebhookManager.tsx +143 -15
- package/src/components/autoform/AutoFormApiView.tsx +3 -1
- package/src/components/autoform/AutoFormEditView.tsx +5 -3
- package/src/components/autoform/AutoFormHeader.tsx +6 -6
- package/src/components/blocks/AccordionBlock.tsx +5 -3
- package/src/components/blocks/ArrayBlock.tsx +5 -3
- package/src/components/blocks/BlockWrapper.tsx +5 -3
- package/src/components/blocks/CodeBlock.tsx +4 -2
- package/src/components/blocks/FileBlock.tsx +5 -3
- package/src/components/blocks/HeroBlock.tsx +5 -3
- package/src/components/blocks/ImageBlock.tsx +6 -4
- package/src/components/blocks/ListBlock.tsx +5 -3
- package/src/components/blocks/ParagraphBlock.tsx +3 -1
- package/src/components/blocks/RelationshipBlock.tsx +5 -3
- package/src/components/blocks/RichTextBlock.tsx +5 -3
- package/src/components/blocks/VideoBlock.tsx +5 -3
- package/src/components/fields/AccordionField.tsx +10 -51
- package/src/components/fields/ArrayField.tsx +9 -7
- package/src/components/fields/ArrayLayout.tsx +3 -1
- package/src/components/fields/BlocksField.tsx +24 -75
- package/src/components/fields/ButtonField.tsx +3 -1
- package/src/components/fields/CardField.tsx +6 -4
- package/src/components/fields/GroupLayout.tsx +2 -49
- package/src/components/fields/HeadingField.tsx +3 -1
- package/src/components/fields/HeadingSubheadingField.tsx +4 -2
- package/src/components/fields/HeroField.tsx +8 -6
- package/src/components/fields/JSONField.tsx +9 -10
- package/src/components/fields/LinkField.tsx +4 -2
- package/src/components/fields/ListField.tsx +3 -1
- package/src/components/fields/MarkdownField.tsx +3 -17
- package/src/components/fields/RelationshipBlockField.tsx +7 -5
- package/src/components/fields/RelationshipField.tsx +3 -1
- package/src/components/fields/RichTextField.tsx +19 -16
- package/src/components/fields/SecretField.tsx +9 -69
- package/src/components/fields/SelectField.tsx +11 -6
- package/src/components/fields/TabsLayout.tsx +2 -48
- package/src/components/fields/TextField.tsx +9 -7
- package/src/components/fields/UploadField.tsx +3 -1
- package/src/components/fields/VideoField.tsx +6 -4
- package/src/components/ui/BlockDrawer.tsx +3 -1
- package/src/components/ui/CommandPalette.tsx +9 -7
- package/src/components/ui/CommandPaletteWrapper.tsx +3 -1
- package/src/components/ui/IconPickerModal.tsx +4 -2
- package/src/components/ui/PageHeader.tsx +48 -20
- package/src/components/users/UserDetail.tsx +3 -1
- package/src/components/users/UserForm.tsx +5 -3
- package/src/fields/examples/sample-field-2.tsx +3 -1
- package/src/fields/examples/sample-field.tsx +3 -1
- package/src/hooks/useAutoFormState.ts +19 -11
- package/src/integration.ts +21 -0
- package/src/layouts/AdminLayout.astro +252 -189
- package/src/layouts/AuthLayout.astro +52 -31
- package/src/lib/api.ts +7 -7
- package/src/lib/autoform-store.ts +4 -0
- package/src/lib/deep-equal.ts +3 -3
- package/src/lib/i18n.ts +44 -0
- package/src/lib/vite-shim-plugin.ts +3 -0
- package/src/locales/de.json +163 -0
- package/src/locales/en.json +163 -0
- package/src/locales/es.json +163 -0
- package/src/locales/fr.json +163 -0
- package/src/locales/pt.json +163 -0
- package/src/pages/403.astro +2 -1
- package/src/pages/[collection]/[id].astro +23 -10
- package/src/pages/[collection]/index.astro +48 -34
- package/src/pages/audit/index.astro +2 -1
- package/src/pages/graphql-explorer.astro +2 -1
- package/src/pages/graphql.astro +2 -1
- package/src/pages/health.astro +9 -0
- package/src/pages/index.astro +6 -5
- package/src/pages/keys.astro +2 -1
- package/src/pages/marketplace.astro +2 -1
- package/src/pages/media.astro +2 -1
- package/src/pages/plugins.astro +2 -1
- package/src/pages/rest-playground.astro +2 -1
- package/src/pages/roles/index.astro +16 -52
- package/src/pages/sessions.astro +2 -1
- package/src/pages/settings/[slug].astro +45 -30
- package/src/pages/users/[id].astro +1 -0
- package/src/pages/users/index.astro +2 -1
- package/src/pages/users/new.astro +2 -1
- package/src/pages/webhooks.astro +2 -1
- package/src/pages/index_ALT.astro +0 -3
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actions": {
|
|
3
|
+
"cancel": "Cancelar",
|
|
4
|
+
"create": "Crear {{item}}",
|
|
5
|
+
"delete": "Eliminar",
|
|
6
|
+
"deleteDocument": "Eliminar Documento",
|
|
7
|
+
"deleteEntry": "Eliminar Entrada",
|
|
8
|
+
"deleting": "Eliminando...",
|
|
9
|
+
"duplicateDocument": "Duplicar Documento",
|
|
10
|
+
"duplicating": "Duplicando...",
|
|
11
|
+
"edit": "Editar",
|
|
12
|
+
"new": "Nuevo",
|
|
13
|
+
"newDocument": "Nuevo Documento",
|
|
14
|
+
"signOut": "Cerrar Sesión",
|
|
15
|
+
"view": "Ver"
|
|
16
|
+
},
|
|
17
|
+
"common": {
|
|
18
|
+
"na": "N/D",
|
|
19
|
+
"no": "No",
|
|
20
|
+
"yes": "Sí"
|
|
21
|
+
},
|
|
22
|
+
"dashboard": {
|
|
23
|
+
"activeUsers": "Usuarios Activos",
|
|
24
|
+
"authService": "Servicio de Autenticación",
|
|
25
|
+
"cloudApi": "API en la Nube",
|
|
26
|
+
"contentGrowth": "Crecimiento de Contenido",
|
|
27
|
+
"contentGrowthDesc": "Instantánea de la velocidad de los documentos en los últimos 7 días",
|
|
28
|
+
"dbNode": "Nodo de Base de Datos",
|
|
29
|
+
"description": "Todo se ve genial en tu centro de comando hoy.",
|
|
30
|
+
"mediaAssets": "Recursos Multimedia",
|
|
31
|
+
"mediaCdn": "CDN Multimedia",
|
|
32
|
+
"mediaLibrary": "Biblioteca Multimedia",
|
|
33
|
+
"mediaLibraryDesc": "Administre recursos de alta fidelidad con nuestra galería fluida.",
|
|
34
|
+
"newAction": "Nuevo {{item}}",
|
|
35
|
+
"noCollections": "No hay colecciones disponibles para crear.",
|
|
36
|
+
"openAssets": "Abrir Recursos",
|
|
37
|
+
"quickLinks": "Enlaces Rápidos",
|
|
38
|
+
"recentActivity": "Actividad Reciente",
|
|
39
|
+
"statusActive": "Activo",
|
|
40
|
+
"statusHealthy": "Saludable",
|
|
41
|
+
"statusOptimal": "Óptimo",
|
|
42
|
+
"statusSecure": "Seguro",
|
|
43
|
+
"systemHealth": "Salud del Sistema",
|
|
44
|
+
"systemStatus": "Estado del Sistema",
|
|
45
|
+
"totalContent": "Contenido Total",
|
|
46
|
+
"viewAuditLogs": "Ver Registros de Auditoría",
|
|
47
|
+
"welcome": "Bienvenido, {{name}}"
|
|
48
|
+
},
|
|
49
|
+
"days": {
|
|
50
|
+
"fri": "Vie",
|
|
51
|
+
"mon": "Lun",
|
|
52
|
+
"sat": "Sáb",
|
|
53
|
+
"sun": "Dom",
|
|
54
|
+
"thu": "Jue",
|
|
55
|
+
"tue": "Mar",
|
|
56
|
+
"wed": "Mié"
|
|
57
|
+
},
|
|
58
|
+
"detailView": {
|
|
59
|
+
"collections": "Colecciones",
|
|
60
|
+
"coreConfiguration": "Configuración Principal",
|
|
61
|
+
"dateCreated": "Fecha de Creación",
|
|
62
|
+
"deleteMessage": "Esta acción no se puede deshacer.",
|
|
63
|
+
"deleteTitle": "¿Eliminar {{label}}?",
|
|
64
|
+
"dynamicStatus": "Estado Dinámico",
|
|
65
|
+
"generatingPreview": "Generando URL de vista previa...",
|
|
66
|
+
"globals": "Variables Globales",
|
|
67
|
+
"justNow": "Justo ahora",
|
|
68
|
+
"lastModified": "Última Modificación",
|
|
69
|
+
"metadata": "Metadatos",
|
|
70
|
+
"newDocument": "Nuevo {{label}}",
|
|
71
|
+
"openPreview": "Abrir Vista Previa",
|
|
72
|
+
"publicAt": "Público a las",
|
|
73
|
+
"quickLinks": "Enlaces Rápidos"
|
|
74
|
+
},
|
|
75
|
+
"listView": {
|
|
76
|
+
"actionsCol": "Acciones",
|
|
77
|
+
"addFilter": "Añadir Filtro",
|
|
78
|
+
"advancedFilters": "Filtros Avanzados",
|
|
79
|
+
"clearAll": "Borrar Todo",
|
|
80
|
+
"columns": "Columnas",
|
|
81
|
+
"createdCol": "Creado",
|
|
82
|
+
"deleteBulkMessage_one": "¿Estás seguro de que quieres eliminar {{count}} documento? Esto no se puede deshacer.",
|
|
83
|
+
"deleteBulkMessage_other": "¿Estás seguro de que quieres eliminar {{count}} documentos? Esto no se puede deshacer.",
|
|
84
|
+
"deleteBulkTitle": "Eliminar Documentos",
|
|
85
|
+
"deleteMessage": "¿Estás seguro de que quieres eliminar este documento? Esto no se puede deshacer.",
|
|
86
|
+
"deleteSelected": "Eliminar Selección",
|
|
87
|
+
"deleteTitle": "Eliminar Documento",
|
|
88
|
+
"filters": "Filtros",
|
|
89
|
+
"getStartedCreate": "Comienza creando tu primer {{item}}.",
|
|
90
|
+
"lastModifiedCol": "Última Modificación",
|
|
91
|
+
"noDocuments": "No se encontraron documentos",
|
|
92
|
+
"noFilters": "No hay filtros aplicados. Haz clic en \"Añadir Filtro\" para crear uno.",
|
|
93
|
+
"searchPlaceholder": "Buscar...",
|
|
94
|
+
"selectedCount_one": "{{count}} seleccionado",
|
|
95
|
+
"selectedCount_other": "{{count}} seleccionados",
|
|
96
|
+
"toggleColumns": "Mostrar/Ocultar Columnas",
|
|
97
|
+
"tryAdjustingFilters": "Intenta ajustar tus filtros o consulta de búsqueda."
|
|
98
|
+
},
|
|
99
|
+
"login": {
|
|
100
|
+
"confirmPassword": "Confirmar Contraseña",
|
|
101
|
+
"createAccount": "Crear Cuenta",
|
|
102
|
+
"createAccountDesc": "Crea una cuenta para acceder a la administración",
|
|
103
|
+
"createAdminAccount": "Crear Cuenta de Administrador",
|
|
104
|
+
"creatingAccount": "Creando cuenta...",
|
|
105
|
+
"email": "Correo Electrónico",
|
|
106
|
+
"enterCredentials": "Ingresa tus credenciales para acceder a la administración",
|
|
107
|
+
"hasAccount": "¿Ya tienes una cuenta?",
|
|
108
|
+
"noAccount": "¿No tienes una cuenta?",
|
|
109
|
+
"password": "Contraseña",
|
|
110
|
+
"setupAdmin": "Configura tu cuenta de administrador para empezar",
|
|
111
|
+
"signIn": "Iniciar Sesión",
|
|
112
|
+
"signInAction": "Iniciar sesión",
|
|
113
|
+
"signingIn": "Iniciando sesión...",
|
|
114
|
+
"signUp": "Registrarse"
|
|
115
|
+
},
|
|
116
|
+
"nav": {
|
|
117
|
+
"content": "Contenido",
|
|
118
|
+
"dashboard": "Panel de Control",
|
|
119
|
+
"developer": "Desarrollador",
|
|
120
|
+
"media": "Multimedia",
|
|
121
|
+
"plugins": "Complementos",
|
|
122
|
+
"resources": "Recursos",
|
|
123
|
+
"settings": "Ajustes",
|
|
124
|
+
"users": "Usuarios"
|
|
125
|
+
},
|
|
126
|
+
"sidebar": {
|
|
127
|
+
"darkMode": "Modo Oscuro",
|
|
128
|
+
"lightMode": "Modo Claro"
|
|
129
|
+
},
|
|
130
|
+
"toast": {
|
|
131
|
+
"accountCreated": "¡Cuenta creada!",
|
|
132
|
+
"connectionFailed": "Error de conexión",
|
|
133
|
+
"copyError": "Error al copiar los datos del documento",
|
|
134
|
+
"dataCopied": "Datos del documento copiados al portapapeles",
|
|
135
|
+
"dataPasted": "Datos del documento pegados",
|
|
136
|
+
"draftSaved": "Borrador guardado",
|
|
137
|
+
"duplicated": "Documento duplicado",
|
|
138
|
+
"duplicateError": "Error al duplicar el documento",
|
|
139
|
+
"pasteError": "El portapapeles no contiene un JSON de documento válido",
|
|
140
|
+
"published": "Publicado con éxito",
|
|
141
|
+
"publishError": "Error al publicar",
|
|
142
|
+
"saveError": "Error al guardar los cambios",
|
|
143
|
+
"unpublished": "Documento despublicado",
|
|
144
|
+
"unpublishError": "Error al despublicar",
|
|
145
|
+
"updated": "Actualizado",
|
|
146
|
+
"welcomeBack": "¡Bienvenido de nuevo!"
|
|
147
|
+
},
|
|
148
|
+
"userMenu": {
|
|
149
|
+
"account": "Cuenta",
|
|
150
|
+
"apiExplorer": "Explorador de API",
|
|
151
|
+
"apiKeys": "Claves de API",
|
|
152
|
+
"auditLogs": "Registros de Auditoría",
|
|
153
|
+
"developer": "Desarrollador",
|
|
154
|
+
"documentation": "Documentación",
|
|
155
|
+
"getSupport": "Obtener Soporte",
|
|
156
|
+
"graphqlPlayground": "Playground de GraphQL",
|
|
157
|
+
"permissions": "Permisos",
|
|
158
|
+
"profileSettings": "Ajustes de Perfil",
|
|
159
|
+
"resources": "Recursos",
|
|
160
|
+
"sessions": "Sesiones",
|
|
161
|
+
"webHooks": "Webhooks"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actions": {
|
|
3
|
+
"cancel": "Annuler",
|
|
4
|
+
"create": "Créer {{item}}",
|
|
5
|
+
"delete": "Supprimer",
|
|
6
|
+
"deleteDocument": "Supprimer le document",
|
|
7
|
+
"deleteEntry": "Supprimer l'entrée",
|
|
8
|
+
"deleting": "Suppression...",
|
|
9
|
+
"duplicateDocument": "Dupliquer le document",
|
|
10
|
+
"duplicating": "Duplication...",
|
|
11
|
+
"edit": "Modifier",
|
|
12
|
+
"new": "Nouveau",
|
|
13
|
+
"newDocument": "Nouveau Document",
|
|
14
|
+
"signOut": "Déconnexion",
|
|
15
|
+
"view": "Voir"
|
|
16
|
+
},
|
|
17
|
+
"common": {
|
|
18
|
+
"na": "N/D",
|
|
19
|
+
"no": "Non",
|
|
20
|
+
"yes": "Oui"
|
|
21
|
+
},
|
|
22
|
+
"dashboard": {
|
|
23
|
+
"activeUsers": "Utilisateurs Actifs",
|
|
24
|
+
"authService": "Service d'Authentification",
|
|
25
|
+
"cloudApi": "API Cloud",
|
|
26
|
+
"contentGrowth": "Croissance du Contenu",
|
|
27
|
+
"contentGrowthDesc": "Aperçu de la vitesse des documents sur les 7 derniers jours",
|
|
28
|
+
"dbNode": "Nœud de Base de Données",
|
|
29
|
+
"description": "Tout semble parfait dans votre centre de contrôle aujourd'hui.",
|
|
30
|
+
"mediaAssets": "Ressources Multimédias",
|
|
31
|
+
"mediaCdn": "CDN Multimédia",
|
|
32
|
+
"mediaLibrary": "Médiathèque",
|
|
33
|
+
"mediaLibraryDesc": "Gérez des ressources haute fidélité avec notre galerie fluide.",
|
|
34
|
+
"newAction": "Nouveau {{item}}",
|
|
35
|
+
"noCollections": "Aucune collection disponible à créer.",
|
|
36
|
+
"openAssets": "Ouvrir les Ressources",
|
|
37
|
+
"quickLinks": "Liens Rapides",
|
|
38
|
+
"recentActivity": "Activité Récente",
|
|
39
|
+
"statusActive": "Actif",
|
|
40
|
+
"statusHealthy": "Sain",
|
|
41
|
+
"statusOptimal": "Optimal",
|
|
42
|
+
"statusSecure": "Sécurisé",
|
|
43
|
+
"systemHealth": "Santé du Système",
|
|
44
|
+
"systemStatus": "État du Système",
|
|
45
|
+
"totalContent": "Contenu Total",
|
|
46
|
+
"viewAuditLogs": "Voir les Journaux d'Audit",
|
|
47
|
+
"welcome": "Bon retour, {{name}}"
|
|
48
|
+
},
|
|
49
|
+
"days": {
|
|
50
|
+
"fri": "Ven",
|
|
51
|
+
"mon": "Lun",
|
|
52
|
+
"sat": "Sam",
|
|
53
|
+
"sun": "Dim",
|
|
54
|
+
"thu": "Jeu",
|
|
55
|
+
"tue": "Mar",
|
|
56
|
+
"wed": "Mer"
|
|
57
|
+
},
|
|
58
|
+
"detailView": {
|
|
59
|
+
"collections": "Collections",
|
|
60
|
+
"coreConfiguration": "Configuration Principale",
|
|
61
|
+
"dateCreated": "Date de Création",
|
|
62
|
+
"deleteMessage": "Cette action est irréversible.",
|
|
63
|
+
"deleteTitle": "Supprimer {{label}} ?",
|
|
64
|
+
"dynamicStatus": "Statut Dynamique",
|
|
65
|
+
"generatingPreview": "Génération de l'URL d'aperçu...",
|
|
66
|
+
"globals": "Variables Globales",
|
|
67
|
+
"justNow": "À l'instant",
|
|
68
|
+
"lastModified": "Dernière Modification",
|
|
69
|
+
"metadata": "Métadonnées",
|
|
70
|
+
"newDocument": "Nouveau {{label}}",
|
|
71
|
+
"openPreview": "Ouvrir l'Aperçu",
|
|
72
|
+
"publicAt": "Public à",
|
|
73
|
+
"quickLinks": "Liens Rapides"
|
|
74
|
+
},
|
|
75
|
+
"listView": {
|
|
76
|
+
"actionsCol": "Actions",
|
|
77
|
+
"addFilter": "Ajouter un Filtre",
|
|
78
|
+
"advancedFilters": "Filtres Avancés",
|
|
79
|
+
"clearAll": "Tout Effacer",
|
|
80
|
+
"columns": "Colonnes",
|
|
81
|
+
"createdCol": "Créé",
|
|
82
|
+
"deleteBulkMessage_one": "Voulez-vous vraiment supprimer {{count}} document ? C'est irréversible.",
|
|
83
|
+
"deleteBulkMessage_other": "Voulez-vous vraiment supprimer {{count}} documents ? C'est irréversible.",
|
|
84
|
+
"deleteBulkTitle": "Supprimer des Documents",
|
|
85
|
+
"deleteMessage": "Voulez-vous vraiment supprimer ce document ? C'est irréversible.",
|
|
86
|
+
"deleteSelected": "Supprimer la Sélection",
|
|
87
|
+
"deleteTitle": "Supprimer le Document",
|
|
88
|
+
"filters": "Filtres",
|
|
89
|
+
"getStartedCreate": "Commencez par créer votre premier {{item}}.",
|
|
90
|
+
"lastModifiedCol": "Dernière Modification",
|
|
91
|
+
"noDocuments": "Aucun document trouvé",
|
|
92
|
+
"noFilters": "Aucun filtre appliqué. Cliquez sur \"Ajouter un Filtre\" pour en créer un.",
|
|
93
|
+
"searchPlaceholder": "Rechercher...",
|
|
94
|
+
"selectedCount_one": "{{count}} sélectionné",
|
|
95
|
+
"selectedCount_other": "{{count}} sélectionnés",
|
|
96
|
+
"toggleColumns": "Afficher/Masquer les Colonnes",
|
|
97
|
+
"tryAdjustingFilters": "Essayez de modifier vos filtres ou votre requête de recherche."
|
|
98
|
+
},
|
|
99
|
+
"login": {
|
|
100
|
+
"confirmPassword": "Confirmer le Mot de Passe",
|
|
101
|
+
"createAccount": "Créer un Compte",
|
|
102
|
+
"createAccountDesc": "Créez un compte pour accéder à l'administration",
|
|
103
|
+
"createAdminAccount": "Créer un Compte Administrateur",
|
|
104
|
+
"creatingAccount": "Création du compte...",
|
|
105
|
+
"email": "Email",
|
|
106
|
+
"enterCredentials": "Entrez vos identifiants pour accéder à l'administration",
|
|
107
|
+
"hasAccount": "Vous avez déjà un compte ?",
|
|
108
|
+
"noAccount": "Vous n'avez pas de compte ?",
|
|
109
|
+
"password": "Mot de Passe",
|
|
110
|
+
"setupAdmin": "Configurez votre compte administrateur pour commencer",
|
|
111
|
+
"signIn": "Se Connecter",
|
|
112
|
+
"signInAction": "Se connecter",
|
|
113
|
+
"signingIn": "Connexion...",
|
|
114
|
+
"signUp": "S'inscrire"
|
|
115
|
+
},
|
|
116
|
+
"nav": {
|
|
117
|
+
"content": "Contenu",
|
|
118
|
+
"dashboard": "Tableau de Bord",
|
|
119
|
+
"developer": "Développeur",
|
|
120
|
+
"media": "Médias",
|
|
121
|
+
"plugins": "Extensions",
|
|
122
|
+
"resources": "Ressources",
|
|
123
|
+
"settings": "Paramètres",
|
|
124
|
+
"users": "Utilisateurs"
|
|
125
|
+
},
|
|
126
|
+
"sidebar": {
|
|
127
|
+
"darkMode": "Mode Sombre",
|
|
128
|
+
"lightMode": "Mode Clair"
|
|
129
|
+
},
|
|
130
|
+
"toast": {
|
|
131
|
+
"accountCreated": "Compte créé !",
|
|
132
|
+
"connectionFailed": "Échec de la connexion",
|
|
133
|
+
"copyError": "Échec de la copie des données",
|
|
134
|
+
"dataCopied": "Données copiées dans le presse-papiers",
|
|
135
|
+
"dataPasted": "Données collées",
|
|
136
|
+
"draftSaved": "Brouillon enregistré",
|
|
137
|
+
"duplicated": "Document dupliqué",
|
|
138
|
+
"duplicateError": "Échec de la duplication du document",
|
|
139
|
+
"pasteError": "Le presse-papiers ne contient pas de JSON valide",
|
|
140
|
+
"published": "Publié avec succès",
|
|
141
|
+
"publishError": "Échec de la publication",
|
|
142
|
+
"saveError": "Échec de l'enregistrement",
|
|
143
|
+
"unpublished": "Document dépublié",
|
|
144
|
+
"unpublishError": "Échec de la dépublication",
|
|
145
|
+
"updated": "Mise à jour réussie",
|
|
146
|
+
"welcomeBack": "Bon retour !"
|
|
147
|
+
},
|
|
148
|
+
"userMenu": {
|
|
149
|
+
"account": "Compte",
|
|
150
|
+
"apiExplorer": "Explorateur d'API",
|
|
151
|
+
"apiKeys": "Clés d'API",
|
|
152
|
+
"auditLogs": "Journaux d'Audit",
|
|
153
|
+
"developer": "Développeur",
|
|
154
|
+
"documentation": "Documentation",
|
|
155
|
+
"getSupport": "Obtenir de l'Aide",
|
|
156
|
+
"graphqlPlayground": "Playground GraphQL",
|
|
157
|
+
"permissions": "Permissions",
|
|
158
|
+
"profileSettings": "Paramètres du Profil",
|
|
159
|
+
"resources": "Ressources",
|
|
160
|
+
"sessions": "Sessions",
|
|
161
|
+
"webHooks": "Webhooks"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actions": {
|
|
3
|
+
"cancel": "Cancelar",
|
|
4
|
+
"create": "Criar {{item}}",
|
|
5
|
+
"delete": "Excluir",
|
|
6
|
+
"deleteDocument": "Excluir Documento",
|
|
7
|
+
"deleteEntry": "Excluir Entrada",
|
|
8
|
+
"deleting": "Excluindo...",
|
|
9
|
+
"duplicateDocument": "Duplicar Documento",
|
|
10
|
+
"duplicating": "Duplicando...",
|
|
11
|
+
"edit": "Editar",
|
|
12
|
+
"new": "Novo",
|
|
13
|
+
"newDocument": "Novo Documento",
|
|
14
|
+
"signOut": "Sair",
|
|
15
|
+
"view": "Ver"
|
|
16
|
+
},
|
|
17
|
+
"common": {
|
|
18
|
+
"na": "N/A",
|
|
19
|
+
"no": "Não",
|
|
20
|
+
"yes": "Sim"
|
|
21
|
+
},
|
|
22
|
+
"dashboard": {
|
|
23
|
+
"activeUsers": "Usuários Ativos",
|
|
24
|
+
"authService": "Serviço de Autenticação",
|
|
25
|
+
"cloudApi": "API em Nuvem",
|
|
26
|
+
"contentGrowth": "Crescimento de Conteúdo",
|
|
27
|
+
"contentGrowthDesc": "Visão geral da velocidade dos documentos nos últimos 7 dias",
|
|
28
|
+
"dbNode": "Nó de Banco de Dados",
|
|
29
|
+
"description": "Tudo parece ótimo no seu centro de comando hoje.",
|
|
30
|
+
"mediaAssets": "Ativos de Mídia",
|
|
31
|
+
"mediaCdn": "CDN de Mídia",
|
|
32
|
+
"mediaLibrary": "Biblioteca de Mídia",
|
|
33
|
+
"mediaLibraryDesc": "Gerencie ativos de alta fidelidade com nossa galeria fluida.",
|
|
34
|
+
"newAction": "Novo {{item}}",
|
|
35
|
+
"noCollections": "Nenhuma coleção disponível para criação.",
|
|
36
|
+
"openAssets": "Abrir Ativos",
|
|
37
|
+
"quickLinks": "Links Rápidos",
|
|
38
|
+
"recentActivity": "Atividade Recente",
|
|
39
|
+
"statusActive": "Ativo",
|
|
40
|
+
"statusHealthy": "Saudável",
|
|
41
|
+
"statusOptimal": "Ideal",
|
|
42
|
+
"statusSecure": "Seguro",
|
|
43
|
+
"systemHealth": "Saúde do Sistema",
|
|
44
|
+
"systemStatus": "Status do Sistema",
|
|
45
|
+
"totalContent": "Conteúdo Total",
|
|
46
|
+
"viewAuditLogs": "Ver Registros de Auditoria",
|
|
47
|
+
"welcome": "Bem-vindo de volta, {{name}}"
|
|
48
|
+
},
|
|
49
|
+
"days": {
|
|
50
|
+
"fri": "Sex",
|
|
51
|
+
"mon": "Seg",
|
|
52
|
+
"sat": "Sáb",
|
|
53
|
+
"sun": "Dom",
|
|
54
|
+
"thu": "Qui",
|
|
55
|
+
"tue": "Ter",
|
|
56
|
+
"wed": "Qua"
|
|
57
|
+
},
|
|
58
|
+
"detailView": {
|
|
59
|
+
"collections": "Coleções",
|
|
60
|
+
"coreConfiguration": "Configuração Principal",
|
|
61
|
+
"dateCreated": "Data de Criação",
|
|
62
|
+
"deleteMessage": "Esta ação não pode ser desfeita.",
|
|
63
|
+
"deleteTitle": "Excluir {{label}}?",
|
|
64
|
+
"dynamicStatus": "Status Dinâmico",
|
|
65
|
+
"generatingPreview": "Gerando URL de visualização...",
|
|
66
|
+
"globals": "Variáveis Globais",
|
|
67
|
+
"justNow": "Agora mesmo",
|
|
68
|
+
"lastModified": "Última Modificação",
|
|
69
|
+
"metadata": "Metadados",
|
|
70
|
+
"newDocument": "Novo {{label}}",
|
|
71
|
+
"openPreview": "Abrir Visualização em Nova Guia",
|
|
72
|
+
"publicAt": "Público às",
|
|
73
|
+
"quickLinks": "Links Rápidos"
|
|
74
|
+
},
|
|
75
|
+
"listView": {
|
|
76
|
+
"actionsCol": "Ações",
|
|
77
|
+
"addFilter": "Adicionar Filtro",
|
|
78
|
+
"advancedFilters": "Filtros Avançados",
|
|
79
|
+
"clearAll": "Limpar Tudo",
|
|
80
|
+
"columns": "Colunas",
|
|
81
|
+
"createdCol": "Criado",
|
|
82
|
+
"deleteBulkMessage_one": "Tem certeza de que deseja excluir {{count}} documento? Isso não pode ser desfeito.",
|
|
83
|
+
"deleteBulkMessage_other": "Tem certeza de que deseja excluir {{count}} documentos? Isso não pode ser desfeito.",
|
|
84
|
+
"deleteBulkTitle": "Excluir Documentos",
|
|
85
|
+
"deleteMessage": "Tem certeza de que deseja excluir este documento? Isso não pode ser desfeito.",
|
|
86
|
+
"deleteSelected": "Excluir Selecionados",
|
|
87
|
+
"deleteTitle": "Excluir Documento",
|
|
88
|
+
"filters": "Filtros",
|
|
89
|
+
"getStartedCreate": "Comece criando seu primeiro {{item}}.",
|
|
90
|
+
"lastModifiedCol": "Última Modificação",
|
|
91
|
+
"noDocuments": "Nenhum documento encontrado",
|
|
92
|
+
"noFilters": "Nenhum filtro aplicado. Clique em \"Adicionar Filtro\" para criar um.",
|
|
93
|
+
"searchPlaceholder": "Pesquisar...",
|
|
94
|
+
"selectedCount_one": "{{count}} selecionado",
|
|
95
|
+
"selectedCount_other": "{{count}} selecionados",
|
|
96
|
+
"toggleColumns": "Alternar Colunas",
|
|
97
|
+
"tryAdjustingFilters": "Tente ajustar seus filtros ou a consulta de pesquisa."
|
|
98
|
+
},
|
|
99
|
+
"login": {
|
|
100
|
+
"confirmPassword": "Confirmar Senha",
|
|
101
|
+
"createAccount": "Criar Conta",
|
|
102
|
+
"createAccountDesc": "Crie uma conta para acessar a administração",
|
|
103
|
+
"createAdminAccount": "Criar Conta de Administrador",
|
|
104
|
+
"creatingAccount": "Criando conta...",
|
|
105
|
+
"email": "E-mail",
|
|
106
|
+
"enterCredentials": "Insira suas credenciais para acessar a administração",
|
|
107
|
+
"hasAccount": "Já tem uma conta?",
|
|
108
|
+
"noAccount": "Não tem uma conta?",
|
|
109
|
+
"password": "Senha",
|
|
110
|
+
"setupAdmin": "Configure sua conta de administrador para começar",
|
|
111
|
+
"signIn": "Entrar",
|
|
112
|
+
"signInAction": "Entrar",
|
|
113
|
+
"signingIn": "Entrando...",
|
|
114
|
+
"signUp": "Inscrever-se"
|
|
115
|
+
},
|
|
116
|
+
"nav": {
|
|
117
|
+
"content": "Conteúdo",
|
|
118
|
+
"dashboard": "Painel de Controle",
|
|
119
|
+
"developer": "Desenvolvedor",
|
|
120
|
+
"media": "Mídia",
|
|
121
|
+
"plugins": "Plugins",
|
|
122
|
+
"resources": "Recursos",
|
|
123
|
+
"settings": "Configurações",
|
|
124
|
+
"users": "Usuários"
|
|
125
|
+
},
|
|
126
|
+
"sidebar": {
|
|
127
|
+
"darkMode": "Modo Escuro",
|
|
128
|
+
"lightMode": "Modo Claro"
|
|
129
|
+
},
|
|
130
|
+
"toast": {
|
|
131
|
+
"accountCreated": "Conta criada!",
|
|
132
|
+
"connectionFailed": "Falha na conexão",
|
|
133
|
+
"copyError": "Falha ao copiar os dados do documento",
|
|
134
|
+
"dataCopied": "Dados do documento copiados para a área de transferência",
|
|
135
|
+
"dataPasted": "Dados do documento colados",
|
|
136
|
+
"draftSaved": "Rascunho salvo",
|
|
137
|
+
"duplicated": "Documento duplicado",
|
|
138
|
+
"duplicateError": "Falha ao duplicar documento",
|
|
139
|
+
"pasteError": "A área de transferência não contém um JSON de documento válido",
|
|
140
|
+
"published": "Publicado com sucesso",
|
|
141
|
+
"publishError": "Falha ao publicar",
|
|
142
|
+
"saveError": "Falha ao salvar as alterações",
|
|
143
|
+
"unpublished": "Documento despublicado",
|
|
144
|
+
"unpublishError": "Falha ao despublicar",
|
|
145
|
+
"updated": "Atualizado",
|
|
146
|
+
"welcomeBack": "Bem-vindo de volta!"
|
|
147
|
+
},
|
|
148
|
+
"userMenu": {
|
|
149
|
+
"account": "Conta",
|
|
150
|
+
"apiExplorer": "Explorador de API",
|
|
151
|
+
"apiKeys": "Chaves de API",
|
|
152
|
+
"auditLogs": "Registros de Auditoria",
|
|
153
|
+
"developer": "Desenvolvedor",
|
|
154
|
+
"documentation": "Documentação",
|
|
155
|
+
"getSupport": "Obter Suporte",
|
|
156
|
+
"graphqlPlayground": "Playground GraphQL",
|
|
157
|
+
"permissions": "Permissões",
|
|
158
|
+
"profileSettings": "Configurações de Perfil",
|
|
159
|
+
"resources": "Recursos",
|
|
160
|
+
"sessions": "Sessões",
|
|
161
|
+
"webHooks": "Webhooks"
|
|
162
|
+
}
|
|
163
|
+
}
|
package/src/pages/403.astro
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
import AdminLayout from "../layouts/AdminLayout.astro";
|
|
3
|
+
import i18next from '../lib/i18n';
|
|
3
4
|
import { adminPath } from "../lib/paths";
|
|
4
5
|
|
|
5
6
|
// Ensure this page looks premium
|
|
6
7
|
---
|
|
7
8
|
|
|
8
|
-
<AdminLayout title="Access Denied">
|
|
9
|
+
<AdminLayout title={i18next.t("pages." + "Access Denied".replace(/ /g, ""), { defaultValue: "Access Denied" })}>
|
|
9
10
|
<div class="flex-1 flex items-center justify-center p-8">
|
|
10
11
|
<div class="max-w-md w-full text-center space-y-8">
|
|
11
12
|
<div class="relative">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import AdminLayout from "../../layouts/AdminLayout.astro";
|
|
3
|
+
import i18next from '../../lib/i18n';
|
|
3
4
|
import { collections } from "../../lib/config";
|
|
4
5
|
import { AutoForm } from "../../components/AutoForm";
|
|
5
6
|
import { adminPath } from "../../lib/paths";
|
|
@@ -7,20 +8,31 @@ import { adminPath } from "../../lib/paths";
|
|
|
7
8
|
const { collection, id } = Astro.params;
|
|
8
9
|
|
|
9
10
|
// Validate collection exists
|
|
10
|
-
if
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
// Workaround for Astro route overlap: if 'settings' hits the dynamic collection route
|
|
12
|
+
const isSettings = collection === "settings";
|
|
13
|
+
let config: any;
|
|
14
|
+
let isNew: boolean = false;
|
|
15
|
+
let title: string = "";
|
|
13
16
|
|
|
14
|
-
|
|
17
|
+
if (!isSettings) {
|
|
18
|
+
if (!collection || !collections[collection]) {
|
|
19
|
+
return Astro.redirect(adminPath);
|
|
20
|
+
}
|
|
21
|
+
config = collections[collection];
|
|
22
|
+
isNew = !id || id === "new";
|
|
23
|
+
title = isNew
|
|
24
|
+
? `Create ${config.singularLabel || config.label || collection}`
|
|
25
|
+
: `Edit ${config.singularLabel || config.label || collection}`;
|
|
26
|
+
}
|
|
15
27
|
|
|
16
|
-
|
|
17
|
-
const title = isNew
|
|
18
|
-
? `Create ${config.singularLabel || config.label || collection}`
|
|
19
|
-
: `Edit ${config.singularLabel || config.label || collection}`;
|
|
28
|
+
import SettingsPageAstro from "../settings/[slug].astro";
|
|
20
29
|
---
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
<
|
|
31
|
+
{isSettings ? (
|
|
32
|
+
<SettingsPageAstro slug={id} />
|
|
33
|
+
) : (
|
|
34
|
+
<AdminLayout title={title}>
|
|
35
|
+
<div class="flex-1 overflow-y-auto space-y-6">
|
|
24
36
|
<form id="doc-form">
|
|
25
37
|
<AutoForm
|
|
26
38
|
client:load
|
|
@@ -32,3 +44,4 @@ const title = isNew
|
|
|
32
44
|
</form>
|
|
33
45
|
</div>
|
|
34
46
|
</AdminLayout>
|
|
47
|
+
)}
|
|
@@ -1,53 +1,67 @@
|
|
|
1
1
|
---
|
|
2
2
|
import AdminLayout from "../../layouts/AdminLayout.astro";
|
|
3
|
+
import i18next from '../../lib/i18n';
|
|
3
4
|
import { collections } from "../../lib/config";
|
|
4
5
|
import { ListView } from "../../components/ListView";
|
|
5
6
|
import { adminPath, apiPath } from "../../lib/paths";
|
|
6
7
|
|
|
7
8
|
const { collection } = Astro.params;
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const isSettings = collection === "settings";
|
|
11
|
+
let config: any;
|
|
12
|
+
if (!isSettings) {
|
|
13
|
+
if (!collection || !collections[collection]) {
|
|
14
|
+
return Astro.redirect(adminPath);
|
|
15
|
+
}
|
|
12
16
|
|
|
13
|
-
// Redirect system collections to dedicated pages
|
|
14
|
-
if (collection === "users") return Astro.redirect(`${adminPath}/users`);
|
|
15
|
-
if (collection === "audit_logs") return Astro.redirect(`${adminPath}/audit`);
|
|
17
|
+
// Redirect system collections to dedicated pages
|
|
18
|
+
if (collection === "users") return Astro.redirect(`${adminPath}/users`);
|
|
19
|
+
if (collection === "audit_logs") return Astro.redirect(`${adminPath}/audit`);
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
config = collections[collection];
|
|
22
|
+
}
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
const limit = parseInt(Astro.url.searchParams.get("limit") || "10");
|
|
24
|
+
import SettingsIndexAstro from "../settings/index.astro";
|
|
21
25
|
|
|
22
26
|
let docs: any[] = [];
|
|
23
27
|
let totalDocs = 0;
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
if (!isSettings) {
|
|
30
|
+
const page = parseInt(Astro.url.searchParams.get("page") || "1");
|
|
31
|
+
const limit = parseInt(Astro.url.searchParams.get("limit") || "10");
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
const response = await fetch(
|
|
35
|
+
`${Astro.url.origin}${apiPath}/${collection}?page=${page}&limit=${limit}&t=${Date.now()}`,
|
|
36
|
+
{
|
|
37
|
+
headers: Astro.request.headers,
|
|
38
|
+
credentials: "include",
|
|
39
|
+
},
|
|
40
|
+
);
|
|
41
|
+
if (response.ok) {
|
|
42
|
+
const data = await response.json();
|
|
43
|
+
docs = data.docs || [];
|
|
44
|
+
totalDocs = data.totalDocs || 0;
|
|
45
|
+
}
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error("Failed to fetch documents:", error);
|
|
37
48
|
}
|
|
38
|
-
} catch (error) {
|
|
39
|
-
console.error("Failed to fetch documents:", error);
|
|
40
49
|
}
|
|
50
|
+
|
|
41
51
|
---
|
|
42
52
|
|
|
43
|
-
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
{isSettings ? (
|
|
54
|
+
<SettingsIndexAstro />
|
|
55
|
+
) : (
|
|
56
|
+
<AdminLayout title={config.label || collection || "Collection"}>
|
|
57
|
+
<div class="flex-1 overflow-y-auto">
|
|
58
|
+
<ListView
|
|
59
|
+
client:load
|
|
60
|
+
collection={config}
|
|
61
|
+
collectionSlug={collection}
|
|
62
|
+
initialDocs={docs}
|
|
63
|
+
initialTotal={totalDocs}
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
</AdminLayout>
|
|
67
|
+
)}
|