From 20f1ed47144371f467ad191276ffeaa4e5282a62 Mon Sep 17 00:00:00 2001 From: hreyes Date: Wed, 4 Feb 2026 12:41:01 -0600 Subject: [PATCH 1/7] feature/nav-tab-client-provider --- frontend/src/lib/config/shortcuts.ts | 3 + .../clients-providers-edit-shortcuts.ts | 41 + .../clients-providers-list-shortcuts.ts | 38 + .../clients_and_providers/+page.svelte | 319 +++-- .../edit/[[id]]/+page.svelte | 1095 ++++++++++------- 5 files changed, 904 insertions(+), 592 deletions(-) create mode 100644 frontend/src/lib/config/shortcuts/clients-providers-edit-shortcuts.ts create mode 100644 frontend/src/lib/config/shortcuts/clients-providers-list-shortcuts.ts diff --git a/frontend/src/lib/config/shortcuts.ts b/frontend/src/lib/config/shortcuts.ts index 13ad46de..f3b5e82f 100644 --- a/frontend/src/lib/config/shortcuts.ts +++ b/frontend/src/lib/config/shortcuts.ts @@ -22,6 +22,9 @@ export const GLOBAL_NAV = { // Customs & Brokers 'a': '/dashboard/customs_brokers', + // Clients & Providers + 'o': '/dashboard/clients_and_providers', + // Invoices 'i': '/dashboard/invoices', diff --git a/frontend/src/lib/config/shortcuts/clients-providers-edit-shortcuts.ts b/frontend/src/lib/config/shortcuts/clients-providers-edit-shortcuts.ts new file mode 100644 index 00000000..8d2e4c35 --- /dev/null +++ b/frontend/src/lib/config/shortcuts/clients-providers-edit-shortcuts.ts @@ -0,0 +1,41 @@ +import type { ShortcutDef } from '$lib/stores/shortcut-store'; + +export const obtenerAtajosEdicionSocio = (acciones: { + irGeneral: () => void; + irDireccion: () => void; + irProgramas: () => void; + irConfig: () => void; + guardar: () => void; + cancelar: () => void; +}): ShortcutDef[] => [ + { + key: 'Alt+Digit1', + description: 'Tab General', + action: acciones.irGeneral + }, + { + key: 'Alt+Digit2', + description: 'Tab Dirección', + action: acciones.irDireccion + }, + { + key: 'Alt+Digit3', + description: 'Tab Programas', + action: acciones.irProgramas + }, + { + key: 'Alt+Digit4', + description: 'Tab Configuración', + action: acciones.irConfig + }, + { + key: 'Ctrl+S', + description: 'Guardar', + action: acciones.guardar + }, + { + key: 'Escape', + description: 'Cancelar / Volver', + action: acciones.cancelar + } + ]; diff --git a/frontend/src/lib/config/shortcuts/clients-providers-list-shortcuts.ts b/frontend/src/lib/config/shortcuts/clients-providers-list-shortcuts.ts new file mode 100644 index 00000000..6de7f9f2 --- /dev/null +++ b/frontend/src/lib/config/shortcuts/clients-providers-list-shortcuts.ts @@ -0,0 +1,38 @@ +import type { ShortcutDef } from '$lib/stores/shortcut-store'; + +export const obtenerAtajosListaSocios = (acciones: { + filtrarTodos: () => void; + filtrarClientes: () => void; + filtrarProveedores: () => void; + nuevo: () => void; + recargar: () => void; +}): ShortcutDef[] => [ + { + key: 'Alt+Digit1', + description: 'Ver Todos', + action: acciones.filtrarTodos, + context: 'Clients Providers Navigation' + }, + { + key: 'Alt+Digit2', + description: 'Ver Clientes', + action: acciones.filtrarClientes, + context: 'Clients Providers Navigation' + }, + { + key: 'Alt+Digit3', + description: 'Ver Proveedores', + action: acciones.filtrarProveedores, + context: 'Clients Providers Navigation' + }, + { + key: 'Alt+Shift+N', + description: 'Nuevo Socio', + action: acciones.nuevo + }, + { + key: 'Alt+Shift+R', + description: 'Actualizar Lista', + action: acciones.recargar + } + ]; diff --git a/frontend/src/routes/dashboard/clients_and_providers/+page.svelte b/frontend/src/routes/dashboard/clients_and_providers/+page.svelte index 173101a7..27bc72fb 100644 --- a/frontend/src/routes/dashboard/clients_and_providers/+page.svelte +++ b/frontend/src/routes/dashboard/clients_and_providers/+page.svelte @@ -3,7 +3,10 @@ import { browser } from '$app/environment'; import { goto } from '$app/navigation'; import { page } from '$app/stores'; - import { clientsProvidersApi, type ClientProvider } from '$lib/api/dashboard/a76/clients-providers'; + import { + clientsProvidersApi, + type ClientProvider + } from '$lib/api/dashboard/a76/clients-providers'; import { Button } from '$lib/components/ui/button'; import * as Card from '$lib/components/ui/card'; import { Input } from '$lib/components/ui/input'; @@ -21,7 +24,7 @@ let items = $state(data.items || []); let selectedItem = $state(null); let isLoading = $state(false); - + // Server-side filtering/pagination parameters let currentPage = $state(data.page || 1); let pageSize = $state(50); @@ -37,7 +40,7 @@ let error = $state(data.error || null); // --- Lifecycle --- - + onMount(() => { if (browser) { // Sincronizar token de cookies a localStorage si es necesario @@ -49,7 +52,8 @@ }; const cookieToken = getCookie('access_token'); const localToken = localStorage.getItem('access_token'); - if (cookieToken && cookieToken !== localToken) localStorage.setItem('access_token', cookieToken); + if (cookieToken && cookieToken !== localToken) + localStorage.setItem('access_token', cookieToken); // Listen for company changes const handleCompanyChange = () => loadItems(1); // Reload from page 1 @@ -68,9 +72,9 @@ try { const filters: any = {}; if (searchType !== 'both') filters.type = searchType; - // Note: The API technically supports name/rfc fitlering if backend implements it. - // Assuming backend supports 'name' and 'rfc' query params based on standard patterns, - // or we filter client side if the list is small. + // Note: The API technically supports name/rfc fitlering if backend implements it. + // Assuming backend supports 'name' and 'rfc' query params based on standard patterns, + // or we filter client side if the list is small. // Given pagination, we should try sending them. If backend ignores them, we might need client filtering. // Ideally backend should handle this. I will assume backend filters for now or add query params. if (searchName) filters.name = searchName; @@ -105,7 +109,7 @@ searchType = value; loadItems(1); } - + function handleSearch() { loadItems(1); } @@ -118,10 +122,13 @@ if (selectedItem) goto(`/dashboard/clients_and_providers/edit/${selectedItem.id}`); } + import { useShortcuts } from '$lib/hooks/use-shortcuts'; + import { obtenerAtajosListaSocios } from '$lib/config/shortcuts/clients-providers-list-shortcuts'; + async function handleDelete() { if (!selectedItem || !companyStore.activeCompany?.id) return; if (!confirm('¿Estás seguro de eliminar este registro?')) return; - + try { await clientsProvidersApi.delete(selectedItem.id, companyStore.activeCompany.id); toast.success('Registro eliminado'); @@ -132,6 +139,16 @@ } } + useShortcuts( + 'Clients Providers List', + obtenerAtajosListaSocios({ + filtrarTodos: () => handleTypeChange('both'), + filtrarClientes: () => handleTypeChange('client'), + filtrarProveedores: () => handleTypeChange('provider'), + nuevo: () => goto('/dashboard/clients_and_providers/edit/new'), + recargar: () => loadItems(1) + }) + );
@@ -145,7 +162,9 @@ {#if error} - + Error @@ -168,18 +187,18 @@
- e.key === 'Enter' && handleSearch()} />
- e.key === 'Enter' && handleSearch()} /> @@ -188,7 +207,11 @@ - {searchType === 'both' ? 'Todos' : searchType === 'client' ? 'Clientes' : 'Proveedores'} + {searchType === 'both' + ? 'Todos' + : searchType === 'client' + ? 'Clientes' + : 'Proveedores'} Todos @@ -234,13 +257,23 @@ {#if isLoading} - Cargando... + Cargando... {:else if items.length === 0} - No se encontraron registros + No se encontraron registros {:else} {#each items as item (item.id)} - selectItem(item)} > {item.id} @@ -248,15 +281,28 @@ {item.name} {#if item.client_or_provider === 'client'} - Cliente + Cliente {:else if item.client_or_provider === 'provider'} - Proveedor + Proveedor {:else} - Ambos + Ambos {/if} - + {item.is_active ? 'Activo' : 'Inactivo'} @@ -266,113 +312,140 @@
- -
- - - Página {currentPage} de {Math.ceil(totalItems / pageSize)} - - -
+ +
+ + + Página {currentPage} de {Math.ceil(totalItems / pageSize)} + + +
-
+
-

Detalles del Registro

-

+

+ Detalles del Registro +

+

{selectedItem?.name || '---'}

-
- {selectedItem?.rfc || ''} -
+
+ {selectedItem?.rfc || ''} +
{#if selectedItem}
-
- -

{selectedItem.client_or_provider}

-
- - {#if selectedItem.address} -
- -
-

{selectedItem.address.streets || ''} {selectedItem.address.exterior_number || ''} {selectedItem.address.interior_number ? 'Int ' + selectedItem.address.interior_number : ''}

-

{selectedItem.address.neighborhood || ''}

-

{selectedItem.address.city || ''}, {selectedItem.address.state || ''}

-

{selectedItem.address.postal_code || ''}, {selectedItem.address.country || ''}

-
-
- -
- - {#if selectedItem.address.email} -
- - {selectedItem.address.email} -
- {/if} - {#if selectedItem.address.phone} -
- - {selectedItem.address.phone} -
- {/if} -
- {:else} -
-

Sin dirección registrada

-
- {/if} +
+ +

{selectedItem.client_or_provider}

+
- {#if selectedItem.programs} -
- -
-
- Programa - {selectedItem.programs.program || '-'} -
-
- Número - {selectedItem.programs.program_number || '-'} -
-
- TAX ID - {selectedItem.programs.tax_id || '-'} -
-
-
- {/if} + {#if selectedItem.address} +
+ +
+

+ {selectedItem.address.streets || ''} + {selectedItem.address.exterior_number || ''} + {selectedItem.address.interior_number + ? 'Int ' + selectedItem.address.interior_number + : ''} +

+

{selectedItem.address.neighborhood || ''}

+

{selectedItem.address.city || ''}, {selectedItem.address.state || ''}

+

+ {selectedItem.address.postal_code || ''}, {selectedItem.address.country || ''} +

+
+
+ +
+ + {#if selectedItem.address.email} +
+ + {selectedItem.address.email} +
+ {/if} + {#if selectedItem.address.phone} +
+ + {selectedItem.address.phone} +
+ {/if} +
+ {:else} +
+

Sin dirección registrada

+
+ {/if} + + {#if selectedItem.programs} +
+ +
+
+ Programa + {selectedItem.programs.program || '-'} +
+
+ Número + {selectedItem.programs.program_number || '-'} +
+
+ TAX ID + {selectedItem.programs.tax_id || '-'} +
+
+
+ {/if}
{:else} -
+

Selecciona un registro

@@ -383,7 +456,9 @@
-
+
-
diff --git a/frontend/src/routes/dashboard/clients_and_providers/edit/[[id]]/+page.svelte b/frontend/src/routes/dashboard/clients_and_providers/edit/[[id]]/+page.svelte index 30b1ecd6..31c9cd50 100644 --- a/frontend/src/routes/dashboard/clients_and_providers/edit/[[id]]/+page.svelte +++ b/frontend/src/routes/dashboard/clients_and_providers/edit/[[id]]/+page.svelte @@ -1,517 +1,666 @@
- -
-
-
- -

- {isEditing ? `Socio Comercial #${id}` : 'Nuevo Socio Comercial'} -

- {#if isEditing} - - {formData.is_active ? 'Activo' : 'Inactivo'} - - {:else} - Nuevo - {/if} -
-

- {isEditing ? 'Edita la información del cliente o proveedor' : 'Registra un nuevo cliente o proveedor en el sistema'} -

-
-
+ +
+
+
+ +

+ {isEditing ? `Socio Comercial #${id}` : 'Nuevo Socio Comercial'} +

+ {#if isEditing} + + {formData.is_active ? 'Activo' : 'Inactivo'} + + {:else} + Nuevo + {/if} +
+

+ {isEditing + ? 'Edita la información del cliente o proveedor' + : 'Registra un nuevo cliente o proveedor en el sistema'} +

+
+
- + - -
-
{ e.preventDefault(); handleSubmit(); }}> - - - - - - - Información General - Datos principales de identificación y clasificación. - - -
-
- - -
-
- - - - {typeLabels[formData.client_or_provider] || "Selecciona un tipo"} - - - Cliente - Proveedor - Ambos - - -
-
+ +
+ + { + e.preventDefault(); + handleSubmit(); + }} + > + + + + + + Información General + Datos principales de identificación y clasificación. + + +
+
+ + +
+
+ + + + {typeLabels[formData.client_or_provider] || 'Selecciona un tipo'} + + + Cliente + Proveedor + Ambos + + +
+
-
-
- - -
-
- - -
-
+
+
+ + +
+
+ + +
+
-
-
- - -
-
- - - - {formData.type_nat_foreign === 'N' ? 'Nacional' : formData.type_nat_foreign === 'E' ? 'Extranjero' : 'Seleccione'} - - - Nacional - Extranjero - - -
-
+
+
+ + +
+
+ + + + {formData.type_nat_foreign === 'N' + ? 'Nacional' + : formData.type_nat_foreign === 'E' + ? 'Extranjero' + : 'Seleccione'} + + + Nacional + Extranjero + + +
+
-
-
- - -
-
- - -
-
-
-
-
+
+
+ + +
+
+ + +
+
+ + + - - - - - Dirección y Contacto - Ubicación fiscal y datos de contacto. - - -
-
- - -
-
-
- - -
-
- - -
-
-
+ + + + + Dirección y Contacto + Ubicación fiscal y datos de contacto. + + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
-
-
- - -
-
- - -
-
- - -
-
+
+
+ + +
+
+ + +
+
+ + +
+
-
-
- - -
-
- - -
-
- - -
-
+
+
+ + +
+
+ + +
+
+ + +
+
- + -
-
- - -
-
- - -
-
-
-
-
+
+
+ + +
+
+ + +
+
+
+
+
- - - - - Programas y Certificaciones - Información sobre IMMEX, PROSEC y otras certificaciones. - - -
-
- - -
-
- - -
-
+ + + + + Programas y Certificaciones + Información sobre IMMEX, PROSEC y otras certificaciones. + + +
+
+ + +
+
+ + +
+
-
-
- - -
-
- - -
-
- - -
-
+
+
+ + +
+
+ + +
+
+ + +
+
-
-
- - -
-
- - -
-
-
-
-
+
+
+ + +
+
+ + +
+
+
+
+
- - - - - Configuración - Ajustes de estado y atributos especiales. - - -
-
- -
- -

Habilitar o deshabilitar este socio comercial

-
-
-
- -
- -

Marcar si es un proveedor nacional

-
-
-
-
-
-
-
- -
+ + + + + Configuración + Ajustes de estado y atributos especiales. + + +
+
+ +
+ +

+ Habilitar o deshabilitar este socio comercial +

+
+
+
+ +
+ +

Marcar si es un proveedor nacional

+
+
+
+
+
+
+
+ +
-
-
- - -
- - - General - - - Dirección - - - Programas - - - Config - - -
-
+
+
+ + +
+ + + General + + + Dirección + + + Programas + + + Config + + +
+
- -
- - {#if !isEditing} - - {/if} - -
-
-
\ No newline at end of file + +
+ + {#if !isEditing} + + {/if} + +
+
+
From 8e53293e622c10b820f60fd4c323be7c46e565af Mon Sep 17 00:00:00 2001 From: hreyes Date: Wed, 4 Feb 2026 16:52:23 -0600 Subject: [PATCH 2/7] feature/nav-tab-fix-routes --- .../exchange_rate/create-edit-dialog.svelte | 581 +++++----- .../classification/create-edit-dialog.svelte | 212 ++-- .../concepts/create-edit-dialog.svelte | 393 +++---- .../create-edit-dialog.svelte | 176 ++++ .../create-edite-dialoge.svelte | 164 --- .../doda/create-edit-dialog.svelte | 715 +++++++------ .../general_catalogs/doda/data-table.svelte | 102 -- .../create-edit-dialog.svelte | 390 ++++--- .../equivalencies/create-edit-dialog.svelte | 249 +++-- .../error_catalogs/create-edit-dialog.svelte | 345 +++--- .../identifiers/create-edit-dialog.svelte | 241 +++-- .../inpc/create-edit-dialog.svelte | 232 ++-- .../legend/create-edite-dialoge.svelte | 153 --- .../legends/create-edit-dialog.svelte | 169 +++ .../locations/create-edit-dialog.svelte | 240 +++-- .../create-edit-dialog.svelte | 364 ++++--- .../prevalidators/create-edit-dialog.svelte | 253 +++-- .../signatures/create-edit-dialog.svelte | 303 +++--- .../create-edit-dialog.svelte | 272 ++--- .../ace/create-edit-dialog.svelte | 225 ++-- .../american/create-edit-dialog.svelte | 161 +-- .../customs/create-edit-dialog.svelte | 175 ++-- .../general/create-edit-dialog.svelte | 161 +-- .../oma/create-edit-dialog.svelte | 161 +-- .../dashboard/goods/parts/partForm.svelte | 2 +- .../edit/items/fa/item-sheet-fa.svelte | 2 +- .../edit/items/inv/item-sheet-inv.svelte | 2 +- .../invoices/edit/items/items-tab-form.svelte | 2 +- .../packages/create-edit-dialog.svelte | 48 +- .../edit/contributions-tab-form.svelte | 2 +- .../pedimentos/edit/general-tab-form.svelte | 2 +- .../edit/other-data-tab-form.svelte | 2 +- .../dashboard/ports/create-edit-dialog.svelte | 161 ++- .../dashboard/seal/create-edit-dialog.svelte | 15 +- .../keyboard/KeyboardManager.svelte | 40 +- .../keyboard/ShortcutsHelpModal.svelte | 2 +- .../clients_and_providers/edit.ts} | 0 .../clients_and_providers/list.ts} | 0 .../customs_brokers/edit.ts} | 0 .../customs_brokers/list.ts} | 0 .../general_catalogs/classification/edit.ts | 4 + .../general_catalogs/classification/list.ts | 4 + .../general_catalogs/common/factory.ts | 86 ++ .../company_information/edit.ts | 25 + .../company_information/list.ts | 29 + .../general_catalogs/concepts/edit.ts | 4 + .../general_catalogs/concepts/list.ts | 4 + .../customs_broker_concepts/edit.ts | 4 + .../customs_broker_concepts/list.ts | 4 + .../dashboard/general_catalogs/doda/edit.ts | 27 + .../dashboard/general_catalogs/doda/list.ts | 29 + .../electronic_notices/edit.ts | 4 + .../electronic_notices/list.ts | 4 + .../general_catalogs/equivalencies/edit.ts | 4 + .../general_catalogs/equivalencies/list.ts | 4 + .../general_catalogs/error_catalogs/edit.ts | 4 + .../general_catalogs/error_catalogs/list.ts | 4 + .../general_catalogs/exchange_rate/edit.ts | 4 + .../general_catalogs/exchange_rate/list.ts | 4 + .../general_catalogs/identifiers/edit.ts | 4 + .../general_catalogs/identifiers/list.ts | 4 + .../dashboard/general_catalogs/inpc/edit.ts | 4 + .../dashboard/general_catalogs/inpc/list.ts | 4 + .../general_catalogs/legends/edit.ts | 4 + .../general_catalogs/legends/list.ts | 4 + .../general_catalogs/locations/edit.ts | 4 + .../general_catalogs/locations/list.ts | 4 + .../multi_currency_types/edit.ts | 4 + .../multi_currency_types/list.ts | 4 + .../general_catalogs/packages/edit.ts | 7 + .../general_catalogs/packages/list.ts | 9 + .../dashboard/general_catalogs/ports/edit.ts | 4 + .../dashboard/general_catalogs/ports/list.ts | 4 + .../general_catalogs/prevalidators/edit.ts | 4 + .../general_catalogs/prevalidators/list.ts | 4 + .../dashboard/general_catalogs/seal/edit.ts | 4 + .../dashboard/general_catalogs/seal/list.ts | 4 + .../general_catalogs/signatures/edit.ts | 4 + .../general_catalogs/signatures/list.ts | 4 + .../general_catalogs/tariff_fractions/list.ts | 4 + .../general_catalogs/unit_conversions/edit.ts | 4 + .../general_catalogs/unit_conversions/list.ts | 4 + .../units_of_measure/ace/edit.ts | 4 + .../units_of_measure/ace/list.ts | 4 + .../units_of_measure/american/edit.ts | 4 + .../units_of_measure/american/list.ts | 4 + .../units_of_measure/commercial/edit.ts | 4 + .../units_of_measure/commercial/list.ts | 4 + .../units_of_measure/customs/edit.ts | 4 + .../units_of_measure/customs/list.ts | 4 + .../units_of_measure/general/edit.ts | 4 + .../units_of_measure/general/list.ts | 4 + .../units_of_measure/oma/edit.ts | 4 + .../units_of_measure/oma/list.ts | 4 + .../goods/edit.ts} | 0 .../goods/list.ts} | 0 .../invoices/edit.ts} | 0 .../invoices/item/fixed_asset.ts} | 0 .../invoices/item/inventory.ts} | 0 .../invoices/item/list.ts} | 0 .../invoices/list.ts} | 0 .../pedimentos/edit.ts} | 0 .../pedimentos/list.ts} | 0 .../pedimentos/tabs/contributions.ts} | 0 .../pedimentos/tabs/general.ts} | 0 .../pedimentos/tabs/other_data.ts} | 0 .../clients_and_providers/+page.svelte | 2 +- .../edit/[[id]]/+page.svelte | 2 +- .../dashboard/customs_brokers/+page.svelte | 2 +- .../customs_brokers/edit/[[id]]/+page.svelte | 2 +- .../classification_concepts/+page.svelte | 159 +-- .../company_information/+page.svelte | 159 +-- .../edit/[[id]]/+page.svelte | 990 +++++++++--------- .../general_catalogs/concepts/+page.svelte | 156 +-- .../customs_broker_concepts/+page.svelte | 171 +-- .../general_catalogs/doda/+page.svelte | 146 +-- .../doda/edit/[[id]]/+page.svelte | 719 +++++++------ .../electronic_notices/+page.svelte | 156 +-- .../equivalencies/+page.svelte | 158 +-- .../error_catalogs/+page.svelte | 154 +-- .../exchange-rate/+page.svelte | 152 +-- .../exchange-rate/new/+page.svelte | 261 ++--- .../general_catalogs/identifiers/+page.svelte | 154 +-- .../general_catalogs/inpc/+page.svelte | 152 +-- .../general_catalogs/legends/+page.svelte | 156 +-- .../general_catalogs/locations/+page.svelte | 152 +-- .../multi_currency_types/+page.svelte | 158 +-- .../general_catalogs/packages/+page.svelte | 92 +- .../general_catalogs/ports/+page.svelte | 166 +-- .../prevalidators/+page.svelte | 150 +-- .../general_catalogs/seal/+page.svelte | 36 +- .../general_catalogs/signatures/+page.svelte | 126 +-- .../tariff-fractions/+page.svelte | 28 +- .../unit_conversions/+page.svelte | 151 ++- .../units_of_measure/ace/+page.svelte | 156 +-- .../units_of_measure/american/+page.svelte | 156 +-- .../units_of_measure/customs/+page.svelte | 158 +-- .../units_of_measure/general/+page.svelte | 156 +-- .../units_of_measure/oma/+page.svelte | 156 +-- .../routes/dashboard/goods/parts/+page.svelte | 2 +- .../routes/dashboard/invoices/+page.svelte | 2 +- .../dashboard/invoices/edit/[id]/+page.svelte | 2 +- .../routes/dashboard/pedimentos/+page.svelte | 2 +- .../pedimentos/edit/[id]/+page.svelte | 2 +- 144 files changed, 6990 insertions(+), 5829 deletions(-) create mode 100644 frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edit-dialog.svelte delete mode 100644 frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edite-dialoge.svelte delete mode 100644 frontend/src/lib/components/dashboard/general_catalogs/doda/data-table.svelte delete mode 100644 frontend/src/lib/components/dashboard/general_catalogs/legend/create-edite-dialoge.svelte create mode 100644 frontend/src/lib/components/dashboard/general_catalogs/legends/create-edit-dialog.svelte rename frontend/src/lib/config/shortcuts/{clients-providers-edit-shortcuts.ts => dashboard/clients_and_providers/edit.ts} (100%) rename frontend/src/lib/config/shortcuts/{clients-providers-list-shortcuts.ts => dashboard/clients_and_providers/list.ts} (100%) rename frontend/src/lib/config/shortcuts/{customs-broker-edit-shortcuts.ts => dashboard/customs_brokers/edit.ts} (100%) rename frontend/src/lib/config/shortcuts/{customs-brokers-list-shortcuts.ts => dashboard/customs_brokers/list.ts} (100%) create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/classification/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/classification/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/common/factory.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/company_information/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/company_information/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/concepts/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/concepts/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/customs_broker_concepts/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/customs_broker_concepts/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/doda/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/doda/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/electronic_notices/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/electronic_notices/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/equivalencies/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/equivalencies/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/error_catalogs/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/error_catalogs/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/exchange_rate/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/exchange_rate/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/identifiers/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/identifiers/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/inpc/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/inpc/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/legends/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/legends/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/locations/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/locations/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/multi_currency_types/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/multi_currency_types/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/packages/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/packages/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/ports/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/ports/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/prevalidators/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/prevalidators/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/seal/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/seal/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/signatures/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/signatures/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/tariff_fractions/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/unit_conversions/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/unit_conversions/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/ace/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/ace/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/american/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/american/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/commercial/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/commercial/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/customs/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/customs/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/general/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/general/list.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/oma/edit.ts create mode 100644 frontend/src/lib/config/shortcuts/dashboard/general_catalogs/units_of_measure/oma/list.ts rename frontend/src/lib/config/shortcuts/{goods-edit-shortcuts.ts => dashboard/goods/edit.ts} (100%) rename frontend/src/lib/config/shortcuts/{goods-list-shortcuts.ts => dashboard/goods/list.ts} (100%) rename frontend/src/lib/config/shortcuts/{invoice-edit-shortcuts.ts => dashboard/invoices/edit.ts} (100%) rename frontend/src/lib/config/shortcuts/{invoice-item-fa-shortcuts.ts => dashboard/invoices/item/fixed_asset.ts} (100%) rename frontend/src/lib/config/shortcuts/{invoice-item-inv-shortcuts.ts => dashboard/invoices/item/inventory.ts} (100%) rename frontend/src/lib/config/shortcuts/{invoice-item-list-shortcuts.ts => dashboard/invoices/item/list.ts} (100%) rename frontend/src/lib/config/shortcuts/{invoice-list-shortcuts.ts => dashboard/invoices/list.ts} (100%) rename frontend/src/lib/config/shortcuts/{pedimento-edit-shortcuts.ts => dashboard/pedimentos/edit.ts} (100%) rename frontend/src/lib/config/shortcuts/{pedimento-list-shortcuts.ts => dashboard/pedimentos/list.ts} (100%) rename frontend/src/lib/config/shortcuts/{contributions-tab-shortcuts.ts => dashboard/pedimentos/tabs/contributions.ts} (100%) rename frontend/src/lib/config/shortcuts/{general-tab-shortcuts.ts => dashboard/pedimentos/tabs/general.ts} (100%) rename frontend/src/lib/config/shortcuts/{other-data-shortcuts.ts => dashboard/pedimentos/tabs/other_data.ts} (100%) diff --git a/frontend/src/lib/components/dashboard/exchange_rate/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/exchange_rate/create-edit-dialog.svelte index f85eec38..2a7097d7 100644 --- a/frontend/src/lib/components/dashboard/exchange_rate/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/exchange_rate/create-edit-dialog.svelte @@ -1,287 +1,338 @@ - - - - -
- - {#if isMissingRateContext} -
-
- -
-
-

- {title} -

-

- Para continuar con el guardado, es necesario registrar el tipo de cambio oficial para esta fecha. -

-
-
- {:else} - - - - {title} - - - {/if} + + -
{ e.preventDefault(); handleSubmit(); }} class="p-6 pt-4 space-y-6"> - {#if error} -
- - {error} -
- {/if} + +
+ {#if isMissingRateContext} +
+
+ +
+
+

+ {title} +

+

+ Para continuar con el guardado, es necesario registrar el tipo de cambio oficial + para esta fecha. +

+
+
+ {:else} + + + + {title} + + + {/if} -
-
- -
- - {#if isMissingRateContext} -
- Requerida -
- {/if} -
-
+ { + e.preventDefault(); + handleSubmit(); + }} + class="p-6 pt-4 space-y-6" + > + {#if error} +
+ + {error} +
+ {/if} -
-
- - -
-
-
$
- -
-

- Ej. 24.1234 -

-
-
+
+
+ +
+ + {#if isMissingRateContext} +
+ Requerida +
+ {/if} +
+
- - - - - - - -
- - +
+
+ + +
+
+
+ $ +
+ +
+

Ej. 24.1234

+
+
+ + + + + + + + +
+
+
- - - ¿Estás seguro? - - Se {isEdit ? 'actualizará' : 'creará'} el tipo de cambio con valor {formData.value} para el día {formData.date}. - - - - showConfirmation = false}>Cancelar - Confirmar - - - \ No newline at end of file + + + ¿Estás seguro? + + Se {isEdit ? 'actualizará' : 'creará'} el tipo de cambio con valor {formData.value} para el día + {formData.date}. + + + + (showConfirmation = false)}>Cancelar + Confirmar + + + diff --git a/frontend/src/lib/components/dashboard/general_catalogs/classification/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/classification/create-edit-dialog.svelte index 86612132..fcadfd79 100644 --- a/frontend/src/lib/components/dashboard/general_catalogs/classification/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/general_catalogs/classification/create-edit-dialog.svelte @@ -1,115 +1,133 @@ - - - {title} - + + + {title} + -
{ e.preventDefault(); handleSubmit(); }} class="space-y-4"> - {#if error} -
- {error} -
- {/if} + { + e.preventDefault(); + handleSubmit(); + }} + class="space-y-4" + > + {#if error} +
+ {error} +
+ {/if} -
-
- - -
-
+
+
+ + +
+
- - - - -
-
-
\ No newline at end of file + + + + + + + diff --git a/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte index 779795b6..ac8532f5 100644 --- a/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte @@ -1,213 +1,230 @@ - - - {title} - + + + {title} + -
{ e.preventDefault(); handleSubmit(); }} class="space-y-4"> - {#if error} -
- {error} -
- {/if} + { + e.preventDefault(); + handleSubmit(); + }} + class="space-y-4" + > + {#if error} +
+ {error} +
+ {/if} - - -
- - -
- -
-
- - -
-
- - -
-
+ + +
+ + +
-
- - -
+
+
+ + +
+
+ + +
+
-
- - -
+
+ + +
-
- - -
+
+ + +
-
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
+
+ + +
-
- - -
+
+
+ + +
+
+ + +
+
-
-
+
+
+ + +
+
+ + +
+
- - - - - -
-
\ No newline at end of file +
+ + +
+ + + + + + + + + + diff --git a/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edit-dialog.svelte new file mode 100644 index 00000000..d7167f4d --- /dev/null +++ b/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edit-dialog.svelte @@ -0,0 +1,176 @@ + + + + + + {title} + + {isEdit ? 'Modifica los detalles del concepto' : 'Ingresa los datos para el nuevo concepto'} + + + +
{ + e.preventDefault(); + handleSubmit(); + }} + class="space-y-4" + > + {#if error} +
+ {error} +
+ {/if} + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + + + + +
+
+
diff --git a/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edite-dialoge.svelte b/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edite-dialoge.svelte deleted file mode 100644 index f9bb9f4b..00000000 --- a/frontend/src/lib/components/dashboard/general_catalogs/customs_broker_concepts/create-edite-dialoge.svelte +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - {title} - - {isEdit ? 'Modifica los detalles del concepto' : 'Ingresa los datos para el nuevo concepto'} - - - -
{ e.preventDefault(); handleSubmit(); }} class="space-y-4"> - {#if error} -
- {error} -
- {/if} - -
-
- - -
- -
- - -
- -
- - -
- -
- - -
-
- - - - - -
-
-
\ No newline at end of file diff --git a/frontend/src/lib/components/dashboard/general_catalogs/doda/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/doda/create-edit-dialog.svelte index 47bd0a8e..7bdd0c8e 100644 --- a/frontend/src/lib/components/dashboard/general_catalogs/doda/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/general_catalogs/doda/create-edit-dialog.svelte @@ -1,361 +1,400 @@ - - - {title} - + + + {title} + -
{ e.preventDefault(); handleSubmit(); }} class="py-4"> - {#if error} -
- {error} -
- {/if} + { + e.preventDefault(); + handleSubmit(); + }} + class="py-4" + > + {#if error} +
+ {error} +
+ {/if} - - - General - Aduana/Transp. - SAT / Digital - Otros - + + + General + Aduana/Transp. + SAT / Digital + Otros + - - -
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
- - -
-
-
- - -
-
- - -
-
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
- - -
-
- - -
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
- - -
-
- - -
-
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
- - -
-
- - -
-
- - -
-
-
- - -
-
- -