@spaceinvoices/react-ui 0.4.2 → 0.4.4
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/cli/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/common/autocomplete.tsx +18 -2
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +0 -1
- package/src/components/advance-invoices/create/locales/de.ts +2 -0
- package/src/components/advance-invoices/create/locales/es.ts +2 -0
- package/src/components/advance-invoices/create/locales/fr.ts +2 -0
- package/src/components/advance-invoices/create/locales/hr.ts +1 -0
- package/src/components/advance-invoices/create/locales/it.ts +2 -0
- package/src/components/advance-invoices/create/locales/nl.ts +2 -0
- package/src/components/advance-invoices/create/locales/pl.ts +1 -0
- package/src/components/advance-invoices/create/locales/pt.ts +1 -0
- package/src/components/advance-invoices/create/locales/sl.ts +1 -0
- package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +0 -1
- package/src/components/advance-invoices/list/list-table.tsx +130 -40
- package/src/components/advance-invoices/list/locales/de.ts +6 -0
- package/src/components/advance-invoices/list/locales/en.ts +5 -0
- package/src/components/advance-invoices/list/locales/es.ts +6 -0
- package/src/components/advance-invoices/list/locales/fr.ts +6 -0
- package/src/components/advance-invoices/list/locales/hr.ts +6 -0
- package/src/components/advance-invoices/list/locales/it.ts +6 -0
- package/src/components/advance-invoices/list/locales/nl.ts +6 -0
- package/src/components/advance-invoices/list/locales/pl.ts +6 -0
- package/src/components/advance-invoices/list/locales/pt.ts +6 -0
- package/src/components/advance-invoices/list/locales/sl.ts +6 -0
- package/src/components/credit-notes/create/create-credit-note-form.tsx +114 -3
- package/src/components/credit-notes/create/locales/de.ts +2 -0
- package/src/components/credit-notes/create/locales/es.ts +2 -0
- package/src/components/credit-notes/create/locales/fr.ts +2 -0
- package/src/components/credit-notes/create/locales/hr.ts +1 -0
- package/src/components/credit-notes/create/locales/it.ts +2 -0
- package/src/components/credit-notes/create/locales/nl.ts +2 -0
- package/src/components/credit-notes/create/locales/pl.ts +1 -0
- package/src/components/credit-notes/create/locales/pt.ts +1 -0
- package/src/components/credit-notes/create/locales/sl.ts +1 -0
- package/src/components/credit-notes/credit-notes.hooks.ts +30 -0
- package/src/components/credit-notes/list/list-table.tsx +111 -36
- package/src/components/credit-notes/list/locales/de.ts +6 -1
- package/src/components/credit-notes/list/locales/en.ts +6 -0
- package/src/components/credit-notes/list/locales/es.ts +6 -1
- package/src/components/credit-notes/list/locales/fr.ts +6 -1
- package/src/components/credit-notes/list/locales/hr.ts +6 -1
- package/src/components/credit-notes/list/locales/it.ts +6 -1
- package/src/components/credit-notes/list/locales/nl.ts +6 -1
- package/src/components/credit-notes/list/locales/pl.ts +6 -1
- package/src/components/credit-notes/list/locales/pt.ts +6 -1
- package/src/components/credit-notes/list/locales/sl.ts +6 -1
- package/src/components/customers/customer-list-table/customer-list-table.tsx +0 -3
- package/src/components/customers/customer-list-table/locales/de.ts +1 -0
- package/src/components/customers/customer-list-table/locales/es.ts +1 -0
- package/src/components/customers/customer-list-table/locales/fr.ts +1 -0
- package/src/components/customers/customer-list-table/locales/hr.ts +1 -0
- package/src/components/customers/customer-list-table/locales/it.ts +1 -0
- package/src/components/customers/customer-list-table/locales/nl.ts +1 -0
- package/src/components/customers/customer-list-table/locales/pl.ts +1 -0
- package/src/components/customers/customer-list-table/locales/pt.ts +1 -0
- package/src/components/customers/customer-list-table/locales/sl.ts +1 -0
- package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +2 -2
- package/src/components/dashboard/invoice-status-chart/use-invoice-status.ts +3 -3
- package/src/components/dashboard/payment-methods-chart/use-payment-methods.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +1 -1
- package/src/components/dashboard/shared/use-revenue-data.ts +4 -4
- package/src/components/dashboard/shared/use-stats-counts.ts +4 -4
- package/src/components/dashboard/shared/use-stats-query.ts +1 -1
- package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +2 -2
- package/src/components/dashboard/top-customers-chart/use-top-customers.ts +1 -1
- package/src/components/delivery-notes/create/create-delivery-note-form.tsx +332 -0
- package/src/components/delivery-notes/create/locales/de.ts +50 -0
- package/src/components/delivery-notes/create/locales/es.ts +49 -0
- package/src/components/delivery-notes/create/locales/fr.ts +50 -0
- package/src/components/delivery-notes/create/locales/hr.ts +49 -0
- package/src/components/delivery-notes/create/locales/it.ts +49 -0
- package/src/components/delivery-notes/create/locales/nl.ts +50 -0
- package/src/components/delivery-notes/create/locales/pl.ts +49 -0
- package/src/components/delivery-notes/create/locales/pt.ts +50 -0
- package/src/components/delivery-notes/create/locales/sl.ts +49 -0
- package/src/components/delivery-notes/create/prepare-delivery-note-submission.ts +38 -0
- package/src/components/delivery-notes/create/use-delivery-note-customer-form.ts +1 -0
- package/src/components/delivery-notes/delivery-notes.hooks.ts +15 -0
- package/src/components/delivery-notes/list/index.ts +3 -0
- package/src/components/delivery-notes/list/list-row-actions.tsx +122 -0
- package/src/components/delivery-notes/list/list-table.tsx +247 -0
- package/src/components/delivery-notes/list/locales/de.ts +13 -0
- package/src/components/delivery-notes/list/locales/en.ts +13 -0
- package/src/components/delivery-notes/list/locales/es.ts +13 -0
- package/src/components/delivery-notes/list/locales/fr.ts +13 -0
- package/src/components/delivery-notes/list/locales/hr.ts +13 -0
- package/src/components/delivery-notes/list/locales/it.ts +13 -0
- package/src/components/delivery-notes/list/locales/nl.ts +13 -0
- package/src/components/delivery-notes/list/locales/pl.ts +13 -0
- package/src/components/delivery-notes/list/locales/pt.ts +13 -0
- package/src/components/delivery-notes/list/locales/sl.ts +13 -0
- package/src/components/delivery-notes/list/use-delivery-note-download.ts +63 -0
- package/src/components/documents/create/document-details-section.tsx +76 -58
- package/src/components/documents/create/linked-documents-info.tsx +82 -0
- package/src/components/documents/create/live-preview.tsx +38 -11
- package/src/components/documents/create/prepare-document-submission.ts +1 -1
- package/src/components/documents/documents.hooks.ts +2 -1
- package/src/components/documents/shared/document-preview-display.tsx +12 -5
- package/src/components/documents/types.ts +12 -3
- package/src/components/documents/view/document-activities-list.tsx +65 -47
- package/src/components/documents/view/document-details-card.tsx +102 -77
- package/src/components/documents/view/document-payments-list.tsx +102 -68
- package/src/components/documents/view/document-relations-list.tsx +120 -0
- package/src/components/documents/view/document-sidebar.tsx +151 -0
- package/src/components/documents/view/index.ts +2 -0
- package/src/components/documents/view/locales/de.ts +23 -0
- package/src/components/documents/view/locales/es.ts +23 -0
- package/src/components/documents/view/locales/fr.ts +23 -0
- package/src/components/documents/view/locales/hr.ts +23 -0
- package/src/components/documents/view/locales/it.ts +23 -0
- package/src/components/documents/view/locales/nl.ts +23 -0
- package/src/components/documents/view/locales/pl.ts +23 -0
- package/src/components/documents/view/locales/pt.ts +23 -0
- package/src/components/documents/view/locales/sl.ts +23 -0
- package/src/components/documents/view/use-document-download.ts +8 -5
- package/src/components/entities/create-entity-form.tsx +165 -13
- package/src/components/entities/entity-settings-form/entity-settings-form.tsx +101 -1
- package/src/components/entities/entity-settings-form/locales/de.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/es.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/fr.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/hr.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/it.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/nl.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/pl.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/pt.ts +9 -0
- package/src/components/entities/entity-settings-form/locales/sl.ts +9 -0
- package/src/components/entities/fina-settings-form/fina-settings-form.tsx +83 -71
- package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +7 -2
- package/src/components/entities/fina-settings-form/locales/de.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/en.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/es.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/fr.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/hr.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/it.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/nl.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/pl.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/pt.ts +2 -2
- package/src/components/entities/fina-settings-form/locales/sl.ts +2 -2
- package/src/components/entities/furs-settings-form/furs-settings-form.tsx +10 -1
- package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +7 -2
- package/src/components/entities/furs-settings-form/locales/en.ts +0 -1
- package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +12 -4
- package/src/components/entities/settings/pdf-template-selector/locales/de.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/es.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/fr.ts +4 -1
- package/src/components/entities/settings/pdf-template-selector/locales/hr.ts +4 -1
- package/src/components/entities/settings/pdf-template-selector/locales/it.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/nl.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/pl.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/pt.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/locales/sl.ts +3 -1
- package/src/components/entities/settings/pdf-template-selector/pdf-template-cards.tsx +1 -0
- package/src/components/estimates/create/create-estimate-form.tsx +29 -2
- package/src/components/estimates/list/list-table.tsx +3 -6
- package/src/components/estimates/list/locales/de.ts +1 -0
- package/src/components/estimates/list/locales/es.ts +1 -0
- package/src/components/estimates/list/locales/fr.ts +1 -0
- package/src/components/estimates/list/locales/hr.ts +1 -0
- package/src/components/estimates/list/locales/it.ts +1 -0
- package/src/components/estimates/list/locales/nl.ts +1 -0
- package/src/components/estimates/list/locales/pl.ts +1 -0
- package/src/components/estimates/list/locales/pt.ts +1 -0
- package/src/components/estimates/list/locales/sl.ts +1 -0
- package/src/components/export/document-export-form.tsx +9 -2
- package/src/components/export/index.ts +2 -0
- package/src/components/export/sales-per-item-export-form.tsx +223 -0
- package/src/components/invoices/create/create-invoice-form.tsx +48 -1
- package/src/components/invoices/create/locales/de.ts +11 -0
- package/src/components/invoices/create/locales/es.ts +11 -0
- package/src/components/invoices/create/locales/fr.ts +11 -0
- package/src/components/invoices/create/locales/hr.ts +10 -0
- package/src/components/invoices/create/locales/it.ts +11 -0
- package/src/components/invoices/create/locales/nl.ts +11 -0
- package/src/components/invoices/create/locales/pl.ts +10 -0
- package/src/components/invoices/create/locales/pt.ts +10 -0
- package/src/components/invoices/create/locales/sl.ts +10 -0
- package/src/components/invoices/invoices-furs.hooks.ts +27 -9
- package/src/components/invoices/list/list-row-actions.tsx +3 -3
- package/src/components/invoices/list/list-table.tsx +132 -21
- package/src/components/invoices/list/locales/de.ts +6 -0
- package/src/components/invoices/list/locales/en.ts +5 -0
- package/src/components/invoices/list/locales/es.ts +6 -0
- package/src/components/invoices/list/locales/fr.ts +6 -0
- package/src/components/invoices/list/locales/hr.ts +6 -0
- package/src/components/invoices/list/locales/it.ts +6 -0
- package/src/components/invoices/list/locales/nl.ts +6 -0
- package/src/components/invoices/list/locales/pl.ts +6 -0
- package/src/components/invoices/list/locales/pt.ts +6 -0
- package/src/components/invoices/list/locales/sl.ts +6 -0
- package/src/components/invoices/view/fiscalization-status-card.tsx +42 -24
- package/src/components/items/item-combobox.tsx +5 -3
- package/src/components/items/item-list-table/item-list-header.tsx +4 -17
- package/src/components/items/item-list-table/item-list-row-actions.tsx +3 -2
- package/src/components/items/item-list-table/item-list-row.tsx +3 -2
- package/src/components/items/item-list-table/item-list-table.tsx +3 -3
- package/src/components/items/item-list-table/locales/de.ts +1 -0
- package/src/components/items/item-list-table/locales/es.ts +1 -0
- package/src/components/items/item-list-table/locales/fr.ts +1 -0
- package/src/components/items/item-list-table/locales/hr.ts +1 -0
- package/src/components/items/item-list-table/locales/it.ts +1 -0
- package/src/components/items/item-list-table/locales/nl.ts +1 -0
- package/src/components/items/item-list-table/locales/pl.ts +1 -0
- package/src/components/items/item-list-table/locales/pt.ts +1 -0
- package/src/components/items/item-list-table/locales/sl.ts +1 -0
- package/src/components/payments/list/list-table.tsx +0 -4
- package/src/components/payments/list/locales/de.ts +1 -0
- package/src/components/payments/list/locales/es.ts +1 -0
- package/src/components/payments/list/locales/fr.ts +1 -0
- package/src/components/payments/list/locales/hr.ts +1 -0
- package/src/components/payments/list/locales/it.ts +1 -0
- package/src/components/payments/list/locales/nl.ts +1 -0
- package/src/components/payments/list/locales/pl.ts +1 -0
- package/src/components/payments/list/locales/pt.ts +1 -0
- package/src/components/payments/list/locales/sl.ts +1 -0
- package/src/components/recurring-invoices/list/list-table.tsx +0 -7
- package/src/components/recurring-invoices/list/locales/de.ts +1 -0
- package/src/components/recurring-invoices/list/locales/es.ts +1 -0
- package/src/components/recurring-invoices/list/locales/fr.ts +1 -0
- package/src/components/recurring-invoices/list/locales/hr.ts +1 -0
- package/src/components/recurring-invoices/list/locales/it.ts +1 -0
- package/src/components/recurring-invoices/list/locales/nl.ts +1 -0
- package/src/components/recurring-invoices/list/locales/pl.ts +1 -0
- package/src/components/recurring-invoices/list/locales/pt.ts +1 -0
- package/src/components/recurring-invoices/list/locales/sl.ts +1 -0
- package/src/components/request-logs/request-log-list-table.tsx +0 -3
- package/src/components/table/README.md +14 -121
- package/src/components/table/data-table.tsx +22 -37
- package/src/components/table/hooks/use-table-state.ts +3 -27
- package/src/components/table/index.ts +0 -2
- package/src/components/table/selection-toolbar.tsx +35 -1
- package/src/components/table/table-empty-state.tsx +6 -3
- package/src/components/table/table-no-results.tsx +10 -5
- package/src/components/table/types.ts +0 -5
- package/src/components/taxes/tax-list-table/locales/de.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/es.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/fr.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/hr.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/it.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/nl.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/pl.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/pt.ts +1 -0
- package/src/components/taxes/tax-list-table/locales/sl.ts +1 -0
- package/src/components/taxes/tax-list-table/tax-list-header.tsx +3 -14
- package/src/components/taxes/tax-list-table/tax-list-table.tsx +3 -3
- package/src/components/ui/popover.tsx +3 -1
- package/src/components/ui/tooltip.tsx +3 -1
- package/src/generated/schemas/deliverynote.ts +134 -0
- package/src/generated/schemas/entity.ts +4 -0
- package/src/generated/schemas/index.ts +3 -0
- package/src/generated/schemas/order.ts +5 -3
- package/src/generated/schemas/payment.ts +22 -2
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +1 -0
- package/src/generated/schemas/rendercreditnotepreview_body.ts +1 -0
- package/src/generated/schemas/renderdeliverynotepreview_body.ts +185 -0
- package/src/generated/schemas/renderestimatepreview_body.ts +1 -0
- package/src/generated/schemas/renderinvoicepreview_body.ts +1 -0
- package/src/generated/schemas/startpdfexport_body.ts +18 -2
- package/src/generated/schemas/userfinasettings.ts +19 -0
- package/src/generated/schemas/webhook.ts +12 -0
- package/src/hooks/use-duplicate-document.ts +49 -6
- package/src/hooks/use-next-document-number.ts +2 -2
- package/src/lib/fiscalization.ts +12 -0
- package/src/lib/schemas/advance-invoice.ts +0 -1
- package/src/providers/sdk-provider.tsx +5 -7
- package/src/components/table/sortable-header.tsx +0 -56
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Create Delivery Note": "Criar guia de remessa",
|
|
3
|
+
Details: "Detalhes",
|
|
4
|
+
Number: "Número",
|
|
5
|
+
Date: "Data",
|
|
6
|
+
Recipient: "Destinatário",
|
|
7
|
+
"Search or create customer...": "Pesquisar ou criar cliente...",
|
|
8
|
+
Clear: "Limpar",
|
|
9
|
+
Name: "Nome",
|
|
10
|
+
Address: "Morada",
|
|
11
|
+
"Address 2": "Morada 2",
|
|
12
|
+
"Post Code": "Código postal",
|
|
13
|
+
City: "Cidade",
|
|
14
|
+
State: "Distrito",
|
|
15
|
+
Country: "País",
|
|
16
|
+
"Tax Number": "Número fiscal",
|
|
17
|
+
Items: "Itens",
|
|
18
|
+
"Add item": "Adicionar item",
|
|
19
|
+
Tax: "Imposto",
|
|
20
|
+
"Tax rate": "Taxa de imposto",
|
|
21
|
+
"Add tax": "Adicionar imposto",
|
|
22
|
+
"Select tax...": "Selecionar imposto...",
|
|
23
|
+
"Loading...": "A carregar...",
|
|
24
|
+
"No taxes found": "Nenhum imposto encontrado",
|
|
25
|
+
"Add new tax...": "Adicionar novo imposto...",
|
|
26
|
+
Note: "Nota",
|
|
27
|
+
"Insert variable": "Inserir variável",
|
|
28
|
+
"Add payment instructions, terms, or other notes...":
|
|
29
|
+
"Adicione instruções de pagamento, condições ou outras notas...",
|
|
30
|
+
Quantity: "Quantidade",
|
|
31
|
+
Price: "Preço",
|
|
32
|
+
Unit: "Unidade",
|
|
33
|
+
Discount: "Desconto",
|
|
34
|
+
Description: "Descrição",
|
|
35
|
+
Save: "Guardar",
|
|
36
|
+
"Save as Draft": "Guardar como rascunho",
|
|
37
|
+
"Pick a date": "Selecionar uma data",
|
|
38
|
+
Currency: "Moeda",
|
|
39
|
+
"Select currency": "Selecionar moeda",
|
|
40
|
+
"Percentage discount": "Desconto percentual",
|
|
41
|
+
"Fixed amount discount": "Desconto fixo",
|
|
42
|
+
Percentage: "Percentagem",
|
|
43
|
+
"Fixed amount": "Montante fixo",
|
|
44
|
+
"Taxes disabled": "Impostos desativados",
|
|
45
|
+
"Gross price": "Preço bruto",
|
|
46
|
+
"Net price": "Preço líquido",
|
|
47
|
+
"Gross price (tax included)": "Preço bruto (impostos incluídos)",
|
|
48
|
+
"Net price (before tax)": "Preço líquido (antes de impostos)",
|
|
49
|
+
"Hide prices": "Ocultar preços",
|
|
50
|
+
} as const;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Create Delivery Note": "Ustvari dobavnico",
|
|
3
|
+
Details: "Podrobnosti",
|
|
4
|
+
Number: "Številka",
|
|
5
|
+
Date: "Datum",
|
|
6
|
+
Recipient: "Prejemnik",
|
|
7
|
+
"Search or create customer...": "Išči ali ustvari stranko...",
|
|
8
|
+
Clear: "Počisti",
|
|
9
|
+
Name: "Ime",
|
|
10
|
+
Address: "Naslov",
|
|
11
|
+
"Address 2": "Naslov 2",
|
|
12
|
+
"Post Code": "Poštna številka",
|
|
13
|
+
City: "Mesto",
|
|
14
|
+
State: "Regija",
|
|
15
|
+
Country: "Država",
|
|
16
|
+
"Tax Number": "Davčna številka",
|
|
17
|
+
Items: "Postavke",
|
|
18
|
+
"Add item": "Dodaj postavko",
|
|
19
|
+
Tax: "Davek",
|
|
20
|
+
"Tax rate": "Davčna stopnja",
|
|
21
|
+
"Add tax": "Dodaj davek",
|
|
22
|
+
"Select tax...": "Izberi davek...",
|
|
23
|
+
"Loading...": "Nalaganje...",
|
|
24
|
+
"No taxes found": "Ni najdenih davkov",
|
|
25
|
+
"Add new tax...": "Dodaj nov davek...",
|
|
26
|
+
Note: "Opomba",
|
|
27
|
+
"Insert variable": "Vstavi spremenljivko",
|
|
28
|
+
"Add payment instructions, terms, or other notes...": "Dodajte navodila za plačilo, pogoje ali druge opombe...",
|
|
29
|
+
Quantity: "Količina",
|
|
30
|
+
Price: "Cena",
|
|
31
|
+
Unit: "Enota",
|
|
32
|
+
Discount: "Popust",
|
|
33
|
+
Description: "Opis",
|
|
34
|
+
Save: "Shrani",
|
|
35
|
+
"Save as Draft": "Shrani kot osnutek",
|
|
36
|
+
"Pick a date": "Izberi datum",
|
|
37
|
+
Currency: "Valuta",
|
|
38
|
+
"Select currency": "Izberi valuto",
|
|
39
|
+
"Percentage discount": "Odstotni popust",
|
|
40
|
+
"Fixed amount discount": "Fiksni popust",
|
|
41
|
+
Percentage: "Odstotek",
|
|
42
|
+
"Fixed amount": "Fiksni znesek",
|
|
43
|
+
"Taxes disabled": "Davki onemogočeni",
|
|
44
|
+
"Gross price": "Bruto cena",
|
|
45
|
+
"Net price": "Neto cena",
|
|
46
|
+
"Gross price (tax included)": "Bruto cena (z davkom)",
|
|
47
|
+
"Net price (before tax)": "Neto cena (brez davka)",
|
|
48
|
+
"Hide prices": "Skrij cene",
|
|
49
|
+
} as const;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { CreateDeliveryNoteRequest } from "@spaceinvoices/js-sdk";
|
|
2
|
+
import type { CreateDeliveryNoteSchema } from "@/ui/generated/schemas";
|
|
3
|
+
import { prepareDocumentSubmission } from "../../documents/create/prepare-document-submission";
|
|
4
|
+
import type { CustomerData } from "../../documents/create/use-document-customer-form";
|
|
5
|
+
|
|
6
|
+
/** Map of item index to gross price mode */
|
|
7
|
+
type PriceModesMap = Record<number, boolean>;
|
|
8
|
+
|
|
9
|
+
type PrepareOptions = {
|
|
10
|
+
originalCustomer: CustomerData | null;
|
|
11
|
+
/** Map of item index to gross price mode (collected from component state) */
|
|
12
|
+
priceModes?: PriceModesMap;
|
|
13
|
+
/** Whether to save as draft (skips numbering) */
|
|
14
|
+
isDraft?: boolean;
|
|
15
|
+
/** Whether to hide prices on the delivery note */
|
|
16
|
+
hidePrices?: boolean;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Prepares delivery note form data for API submission
|
|
21
|
+
* Handles customer data transformation (no payment data for delivery notes)
|
|
22
|
+
*/
|
|
23
|
+
export function prepareDeliveryNoteSubmission(
|
|
24
|
+
values: CreateDeliveryNoteSchema,
|
|
25
|
+
options: PrepareOptions,
|
|
26
|
+
): CreateDeliveryNoteRequest {
|
|
27
|
+
const baseSubmission = prepareDocumentSubmission(values, {
|
|
28
|
+
originalCustomer: options.originalCustomer,
|
|
29
|
+
documentType: "delivery_note",
|
|
30
|
+
priceModes: options.priceModes,
|
|
31
|
+
isDraft: options.isDraft,
|
|
32
|
+
}) as CreateDeliveryNoteRequest;
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
...baseSubmission,
|
|
36
|
+
...(options.hidePrices !== undefined && { hide_prices: options.hidePrices }),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useDocumentCustomerForm as useDeliveryNoteCustomerForm } from "../../documents/create/use-document-customer-form";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CreateDeliveryNoteRequest, DeliveryNote } from "@spaceinvoices/js-sdk";
|
|
2
|
+
|
|
3
|
+
import { createResourceHooks } from "@/ui/hooks/create-resource-hooks";
|
|
4
|
+
|
|
5
|
+
// Define a constant for the delivery notes cache key
|
|
6
|
+
export const DELIVERY_NOTES_CACHE_KEY = "delivery-notes";
|
|
7
|
+
|
|
8
|
+
// Create delivery-note-specific hooks using the factory
|
|
9
|
+
const {
|
|
10
|
+
useCreateResource: useCreateDeliveryNote,
|
|
11
|
+
useUpdateResource: useUpdateDeliveryNote,
|
|
12
|
+
useDeleteResource: useDeleteDeliveryNote,
|
|
13
|
+
} = createResourceHooks<DeliveryNote, CreateDeliveryNoteRequest>("deliveryNotes", DELIVERY_NOTES_CACHE_KEY);
|
|
14
|
+
|
|
15
|
+
export { useCreateDeliveryNote, useUpdateDeliveryNote, useDeleteDeliveryNote };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { DeliveryNote } from "@spaceinvoices/js-sdk";
|
|
2
|
+
|
|
3
|
+
import { Ban, Copy, Download, Eye, Link2Off, Loader2, MoreHorizontal } from "lucide-react";
|
|
4
|
+
import { Button } from "@/ui/components/ui/button";
|
|
5
|
+
import {
|
|
6
|
+
DropdownMenu,
|
|
7
|
+
DropdownMenuContent,
|
|
8
|
+
DropdownMenuGroup,
|
|
9
|
+
DropdownMenuItem,
|
|
10
|
+
DropdownMenuLabel,
|
|
11
|
+
DropdownMenuSeparator,
|
|
12
|
+
DropdownMenuTrigger,
|
|
13
|
+
} from "@/ui/components/ui/dropdown-menu";
|
|
14
|
+
import type { ComponentTranslationProps } from "@/ui/lib/translation";
|
|
15
|
+
import { createTranslation } from "@/ui/lib/translation";
|
|
16
|
+
import { useDeliveryNoteDownload } from "./use-delivery-note-download";
|
|
17
|
+
|
|
18
|
+
type DeliveryNoteListRowActionsProps = {
|
|
19
|
+
deliveryNote: DeliveryNote;
|
|
20
|
+
onView?: (deliveryNote: DeliveryNote) => void;
|
|
21
|
+
onDuplicate?: (deliveryNote: DeliveryNote) => void;
|
|
22
|
+
onDownloadStart?: () => void;
|
|
23
|
+
onDownloadSuccess?: (fileName: string) => void;
|
|
24
|
+
onDownloadError?: (error: string) => void;
|
|
25
|
+
onUnshare?: (deliveryNote: DeliveryNote) => Promise<void>;
|
|
26
|
+
isUnsharing?: boolean;
|
|
27
|
+
onVoid?: (deliveryNote: DeliveryNote) => void;
|
|
28
|
+
isVoiding?: boolean;
|
|
29
|
+
} & ComponentTranslationProps;
|
|
30
|
+
|
|
31
|
+
export default function DeliveryNoteListRowActions({
|
|
32
|
+
deliveryNote,
|
|
33
|
+
onView,
|
|
34
|
+
onDuplicate,
|
|
35
|
+
onDownloadStart,
|
|
36
|
+
onDownloadSuccess,
|
|
37
|
+
onDownloadError,
|
|
38
|
+
onUnshare,
|
|
39
|
+
isUnsharing,
|
|
40
|
+
onVoid,
|
|
41
|
+
isVoiding,
|
|
42
|
+
...i18nProps
|
|
43
|
+
}: DeliveryNoteListRowActionsProps) {
|
|
44
|
+
const t = createTranslation(i18nProps);
|
|
45
|
+
const { isDownloading, downloadPDF } = useDeliveryNoteDownload({
|
|
46
|
+
onDownloadStart,
|
|
47
|
+
onDownloadSuccess,
|
|
48
|
+
onDownloadError,
|
|
49
|
+
...i18nProps,
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<DropdownMenu>
|
|
54
|
+
<DropdownMenuTrigger asChild>
|
|
55
|
+
<Button variant="ghost" className="h-8 w-8 cursor-pointer p-0" id="action-menu-trigger">
|
|
56
|
+
<span className="sr-only">{t("Open menu")}</span>
|
|
57
|
+
<MoreHorizontal className="h-4 w-4" />
|
|
58
|
+
</Button>
|
|
59
|
+
</DropdownMenuTrigger>
|
|
60
|
+
<DropdownMenuContent align="end">
|
|
61
|
+
<DropdownMenuLabel>{t("Actions")}</DropdownMenuLabel>
|
|
62
|
+
<DropdownMenuGroup>
|
|
63
|
+
<DropdownMenuItem className="cursor-pointer" onClick={() => navigator.clipboard.writeText(deliveryNote.id)}>
|
|
64
|
+
<Copy className="h-4 w-4" />
|
|
65
|
+
{t("Copy delivery note ID")}
|
|
66
|
+
</DropdownMenuItem>
|
|
67
|
+
</DropdownMenuGroup>
|
|
68
|
+
<DropdownMenuSeparator />
|
|
69
|
+
<DropdownMenuGroup>
|
|
70
|
+
<DropdownMenuItem className="cursor-pointer" onClick={() => onView?.(deliveryNote)}>
|
|
71
|
+
<Eye className="h-4 w-4" />
|
|
72
|
+
{t("View delivery note")}
|
|
73
|
+
</DropdownMenuItem>
|
|
74
|
+
<DropdownMenuItem
|
|
75
|
+
className="cursor-pointer"
|
|
76
|
+
onClick={() => downloadPDF(deliveryNote)}
|
|
77
|
+
disabled={isDownloading}
|
|
78
|
+
>
|
|
79
|
+
<Download className="h-4 w-4" />
|
|
80
|
+
{isDownloading ? t("Downloading...") : t("Download PDF")}
|
|
81
|
+
</DropdownMenuItem>
|
|
82
|
+
{onDuplicate && (
|
|
83
|
+
<DropdownMenuItem className="cursor-pointer" onClick={() => onDuplicate(deliveryNote)}>
|
|
84
|
+
<Copy className="h-4 w-4" />
|
|
85
|
+
{t("Duplicate")}
|
|
86
|
+
</DropdownMenuItem>
|
|
87
|
+
)}
|
|
88
|
+
</DropdownMenuGroup>
|
|
89
|
+
{onVoid && !deliveryNote.voided_at && !(deliveryNote as any).is_draft && (
|
|
90
|
+
<>
|
|
91
|
+
<DropdownMenuSeparator />
|
|
92
|
+
<DropdownMenuGroup>
|
|
93
|
+
<DropdownMenuItem
|
|
94
|
+
className="cursor-pointer text-destructive focus:text-destructive"
|
|
95
|
+
onClick={() => onVoid(deliveryNote)}
|
|
96
|
+
disabled={isVoiding}
|
|
97
|
+
>
|
|
98
|
+
{isVoiding ? <Loader2 className="h-4 w-4 animate-spin" /> : <Ban className="h-4 w-4" />}
|
|
99
|
+
{t("Void")}
|
|
100
|
+
</DropdownMenuItem>
|
|
101
|
+
</DropdownMenuGroup>
|
|
102
|
+
</>
|
|
103
|
+
)}
|
|
104
|
+
{deliveryNote.shareable_id && onUnshare && (
|
|
105
|
+
<>
|
|
106
|
+
<DropdownMenuSeparator />
|
|
107
|
+
<DropdownMenuGroup>
|
|
108
|
+
<DropdownMenuItem
|
|
109
|
+
className="cursor-pointer text-destructive focus:text-destructive"
|
|
110
|
+
onClick={() => onUnshare(deliveryNote)}
|
|
111
|
+
disabled={isUnsharing}
|
|
112
|
+
>
|
|
113
|
+
{isUnsharing ? <Loader2 className="h-4 w-4 animate-spin" /> : <Link2Off className="h-4 w-4" />}
|
|
114
|
+
{t("Unshare")}
|
|
115
|
+
</DropdownMenuItem>
|
|
116
|
+
</DropdownMenuGroup>
|
|
117
|
+
</>
|
|
118
|
+
)}
|
|
119
|
+
</DropdownMenuContent>
|
|
120
|
+
</DropdownMenu>
|
|
121
|
+
);
|
|
122
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import type { DeliveryNote } from "@spaceinvoices/js-sdk";
|
|
2
|
+
import { useCallback, useMemo, useState } from "react";
|
|
3
|
+
import { DataTable } from "@/ui/components/table/data-table";
|
|
4
|
+
import { FormattedDate } from "@/ui/components/table/date-cell";
|
|
5
|
+
import { useTableFetch } from "@/ui/components/table/hooks/use-table-fetch";
|
|
6
|
+
import { SelectionToolbar } from "@/ui/components/table/selection-toolbar";
|
|
7
|
+
import type {
|
|
8
|
+
Column,
|
|
9
|
+
FilterConfig,
|
|
10
|
+
ListTableProps,
|
|
11
|
+
TableQueryParams,
|
|
12
|
+
TableQueryResponse,
|
|
13
|
+
} from "@/ui/components/table/types";
|
|
14
|
+
import { Badge } from "@/ui/components/ui/badge";
|
|
15
|
+
import { Button } from "@/ui/components/ui/button";
|
|
16
|
+
import { createTranslation } from "@/ui/lib/translation";
|
|
17
|
+
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
18
|
+
|
|
19
|
+
import DeliveryNoteListRowActions from "./list-row-actions";
|
|
20
|
+
import de from "./locales/de";
|
|
21
|
+
import en from "./locales/en";
|
|
22
|
+
import es from "./locales/es";
|
|
23
|
+
import fr from "./locales/fr";
|
|
24
|
+
import hr from "./locales/hr";
|
|
25
|
+
import it from "./locales/it";
|
|
26
|
+
import nl from "./locales/nl";
|
|
27
|
+
import pl from "./locales/pl";
|
|
28
|
+
import pt from "./locales/pt";
|
|
29
|
+
import sl from "./locales/sl";
|
|
30
|
+
|
|
31
|
+
const translations = {
|
|
32
|
+
en,
|
|
33
|
+
sl,
|
|
34
|
+
de,
|
|
35
|
+
it,
|
|
36
|
+
fr,
|
|
37
|
+
es,
|
|
38
|
+
pt,
|
|
39
|
+
nl,
|
|
40
|
+
pl,
|
|
41
|
+
hr,
|
|
42
|
+
} as const;
|
|
43
|
+
|
|
44
|
+
type DeliveryNoteListTableProps = {
|
|
45
|
+
t?: (key: string) => string;
|
|
46
|
+
namespace?: string;
|
|
47
|
+
locale?: string;
|
|
48
|
+
entityId?: string;
|
|
49
|
+
onView?: (deliveryNote: DeliveryNote) => void;
|
|
50
|
+
onDuplicate?: (deliveryNote: DeliveryNote) => void;
|
|
51
|
+
onDownloadStart?: () => void;
|
|
52
|
+
onDownloadSuccess?: (fileName: string) => void;
|
|
53
|
+
onDownloadError?: (error: string) => void;
|
|
54
|
+
onExportSelected?: (documentIds: string[]) => void;
|
|
55
|
+
onCopyToInvoice?: (documentIds: string[]) => void;
|
|
56
|
+
onCreateNew?: () => void;
|
|
57
|
+
onVoid?: (deliveryNote: DeliveryNote) => void;
|
|
58
|
+
isVoiding?: boolean;
|
|
59
|
+
} & ListTableProps<DeliveryNote>;
|
|
60
|
+
|
|
61
|
+
export default function DeliveryNoteListTable({
|
|
62
|
+
queryParams,
|
|
63
|
+
onRowClick,
|
|
64
|
+
onView,
|
|
65
|
+
onDuplicate,
|
|
66
|
+
onChangeParams,
|
|
67
|
+
entityId,
|
|
68
|
+
onDownloadStart,
|
|
69
|
+
onDownloadSuccess,
|
|
70
|
+
onDownloadError,
|
|
71
|
+
onExportSelected,
|
|
72
|
+
onCopyToInvoice,
|
|
73
|
+
onCreateNew,
|
|
74
|
+
onVoid,
|
|
75
|
+
isVoiding,
|
|
76
|
+
...i18nProps
|
|
77
|
+
}: DeliveryNoteListTableProps) {
|
|
78
|
+
const t = createTranslation({
|
|
79
|
+
translations,
|
|
80
|
+
...i18nProps,
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
const { sdk } = useSDK();
|
|
84
|
+
const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());
|
|
85
|
+
|
|
86
|
+
const handleFetch = useTableFetch(async (params: TableQueryParams) => {
|
|
87
|
+
if (!sdk) throw new Error("SDK not initialized");
|
|
88
|
+
if (!params.entity_id) throw new Error("Entity ID required");
|
|
89
|
+
|
|
90
|
+
const response = await sdk.deliveryNotes.list({
|
|
91
|
+
entity_id: params.entity_id,
|
|
92
|
+
limit: params.limit,
|
|
93
|
+
next_cursor: params.next_cursor,
|
|
94
|
+
prev_cursor: params.prev_cursor,
|
|
95
|
+
search: params.search,
|
|
96
|
+
query: params.query,
|
|
97
|
+
include: "document_relations",
|
|
98
|
+
});
|
|
99
|
+
return response as unknown as TableQueryResponse<DeliveryNote>;
|
|
100
|
+
}, entityId);
|
|
101
|
+
|
|
102
|
+
const filterConfig: FilterConfig = useMemo(
|
|
103
|
+
() => ({
|
|
104
|
+
dateFields: [
|
|
105
|
+
{ id: "date", label: t("Date") },
|
|
106
|
+
{ id: "created_at", label: t("Created At") },
|
|
107
|
+
],
|
|
108
|
+
statusFilter: false,
|
|
109
|
+
}),
|
|
110
|
+
[t],
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
const handleExportPdfs = useCallback(() => {
|
|
114
|
+
if (selectedIds.size > 0 && onExportSelected) {
|
|
115
|
+
onExportSelected(Array.from(selectedIds));
|
|
116
|
+
}
|
|
117
|
+
}, [selectedIds, onExportSelected]);
|
|
118
|
+
|
|
119
|
+
const handleCopyToInvoice = useCallback(() => {
|
|
120
|
+
if (selectedIds.size > 0 && onCopyToInvoice) {
|
|
121
|
+
onCopyToInvoice(Array.from(selectedIds));
|
|
122
|
+
}
|
|
123
|
+
}, [selectedIds, onCopyToInvoice]);
|
|
124
|
+
|
|
125
|
+
const handleDeselectAll = useCallback(() => {
|
|
126
|
+
setSelectedIds(new Set());
|
|
127
|
+
}, []);
|
|
128
|
+
|
|
129
|
+
const selectionToolbar = useCallback(
|
|
130
|
+
(count: number) => (
|
|
131
|
+
<SelectionToolbar
|
|
132
|
+
selectedCount={count}
|
|
133
|
+
onExportPdfs={onExportSelected ? handleExportPdfs : undefined}
|
|
134
|
+
onCopyToInvoice={onCopyToInvoice ? handleCopyToInvoice : undefined}
|
|
135
|
+
onDeselectAll={handleDeselectAll}
|
|
136
|
+
t={t}
|
|
137
|
+
/>
|
|
138
|
+
),
|
|
139
|
+
[handleExportPdfs, handleCopyToInvoice, handleDeselectAll, onExportSelected, onCopyToInvoice, t],
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
const columns: Column<DeliveryNote>[] = useMemo(
|
|
143
|
+
() => [
|
|
144
|
+
{
|
|
145
|
+
id: "number",
|
|
146
|
+
header: t("Number"),
|
|
147
|
+
cell: (deliveryNote) => (
|
|
148
|
+
<div className="flex items-center gap-2">
|
|
149
|
+
<Button variant="link" className="cursor-pointer py-0 underline" onClick={() => onRowClick?.(deliveryNote)}>
|
|
150
|
+
{deliveryNote.number}
|
|
151
|
+
</Button>
|
|
152
|
+
{(deliveryNote as any).is_draft && (
|
|
153
|
+
<Badge
|
|
154
|
+
variant="outline"
|
|
155
|
+
className="border-amber-500 bg-amber-50 text-amber-700 dark:bg-amber-950 dark:text-amber-400"
|
|
156
|
+
>
|
|
157
|
+
{t("Draft")}
|
|
158
|
+
</Badge>
|
|
159
|
+
)}
|
|
160
|
+
{deliveryNote.voided_at && (
|
|
161
|
+
<Badge
|
|
162
|
+
variant="outline"
|
|
163
|
+
className="border-red-500 bg-red-50 text-red-700 dark:bg-red-950 dark:text-red-400"
|
|
164
|
+
>
|
|
165
|
+
{t("Voided")}
|
|
166
|
+
</Badge>
|
|
167
|
+
)}
|
|
168
|
+
</div>
|
|
169
|
+
),
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
id: "customer",
|
|
173
|
+
header: t("Customer"),
|
|
174
|
+
cell: (deliveryNote) => deliveryNote.customer?.name ?? "-",
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: "date",
|
|
178
|
+
header: t("Date"),
|
|
179
|
+
cell: (deliveryNote) => <FormattedDate date={deliveryNote.date} />,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
id: "total",
|
|
183
|
+
header: t("Total"),
|
|
184
|
+
align: "right",
|
|
185
|
+
cell: (deliveryNote) => deliveryNote.total,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
id: "total_with_tax",
|
|
189
|
+
header: t("Total with Tax"),
|
|
190
|
+
align: "right",
|
|
191
|
+
cell: (deliveryNote) => deliveryNote.total_with_tax,
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
id: "actions",
|
|
195
|
+
header: "",
|
|
196
|
+
align: "right",
|
|
197
|
+
cell: (deliveryNote) => (
|
|
198
|
+
<DeliveryNoteListRowActions
|
|
199
|
+
deliveryNote={deliveryNote}
|
|
200
|
+
onView={onView}
|
|
201
|
+
onDuplicate={onDuplicate}
|
|
202
|
+
onDownloadStart={onDownloadStart}
|
|
203
|
+
onDownloadSuccess={onDownloadSuccess}
|
|
204
|
+
onDownloadError={onDownloadError}
|
|
205
|
+
onVoid={onVoid}
|
|
206
|
+
isVoiding={isVoiding}
|
|
207
|
+
t={t}
|
|
208
|
+
locale={i18nProps.locale}
|
|
209
|
+
/>
|
|
210
|
+
),
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
[
|
|
214
|
+
t,
|
|
215
|
+
onRowClick,
|
|
216
|
+
onView,
|
|
217
|
+
onDuplicate,
|
|
218
|
+
onDownloadStart,
|
|
219
|
+
onDownloadSuccess,
|
|
220
|
+
onDownloadError,
|
|
221
|
+
onVoid,
|
|
222
|
+
isVoiding,
|
|
223
|
+
i18nProps.locale,
|
|
224
|
+
],
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
return (
|
|
228
|
+
<DataTable
|
|
229
|
+
columns={columns}
|
|
230
|
+
queryParams={queryParams}
|
|
231
|
+
onChangeParams={onChangeParams}
|
|
232
|
+
onFetch={handleFetch}
|
|
233
|
+
cacheKey="delivery-notes"
|
|
234
|
+
resourceName="delivery note"
|
|
235
|
+
createNewLink={entityId ? `/app/${entityId}/documents/add/delivery_note` : undefined}
|
|
236
|
+
onCreateNew={onCreateNew}
|
|
237
|
+
entityId={entityId}
|
|
238
|
+
filterConfig={filterConfig}
|
|
239
|
+
t={t}
|
|
240
|
+
locale={i18nProps.locale}
|
|
241
|
+
selectable={!!(onExportSelected || onCopyToInvoice)}
|
|
242
|
+
selectedIds={selectedIds}
|
|
243
|
+
onSelectionChange={setSelectedIds}
|
|
244
|
+
selectionToolbar={selectionToolbar}
|
|
245
|
+
/>
|
|
246
|
+
);
|
|
247
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Ihre Lieferscheinliste ist leer",
|
|
3
|
+
"Get started by creating your first entry": "Erstellen Sie Ihren ersten Lieferschein",
|
|
4
|
+
"Create new": "Lieferschein erstellen",
|
|
5
|
+
"No results found": "Keine Lieferscheine gefunden",
|
|
6
|
+
selected: "ausgewählt",
|
|
7
|
+
"Export PDFs": "PDFs exportieren",
|
|
8
|
+
"Deselect all": "Alle abwählen",
|
|
9
|
+
"Copy to Invoice": "In Rechnung kopieren",
|
|
10
|
+
"Clear all": "Alles zurücksetzen",
|
|
11
|
+
Void: "Stornieren",
|
|
12
|
+
Voided: "Storniert",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
// Empty state translations
|
|
3
|
+
"Your list is empty": "Your delivery note list is empty",
|
|
4
|
+
"Get started by creating your first entry": "Get started by creating your first delivery note",
|
|
5
|
+
"Create new": "Create delivery note",
|
|
6
|
+
// No results translations
|
|
7
|
+
"No results found": "No delivery notes found",
|
|
8
|
+
selected: "selected",
|
|
9
|
+
"Export PDFs": "Export PDFs",
|
|
10
|
+
"Deselect all": "Deselect all",
|
|
11
|
+
"Copy to Invoice": "Copy to Invoice",
|
|
12
|
+
Void: "Void",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Su lista de albaranes está vacía",
|
|
3
|
+
"Get started by creating your first entry": "Comience creando su primer albarán",
|
|
4
|
+
"Create new": "Crear albarán",
|
|
5
|
+
"No results found": "No se encontraron albaranes",
|
|
6
|
+
selected: "seleccionados",
|
|
7
|
+
"Export PDFs": "Exportar PDFs",
|
|
8
|
+
"Deselect all": "Deseleccionar todo",
|
|
9
|
+
"Copy to Invoice": "Copiar a factura",
|
|
10
|
+
"Clear all": "Borrar todo",
|
|
11
|
+
Void: "Anular",
|
|
12
|
+
Voided: "Anulado",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Votre liste de bons de livraison est vide",
|
|
3
|
+
"Get started by creating your first entry": "Commencez par créer votre premier bon de livraison",
|
|
4
|
+
"Create new": "Créer un bon de livraison",
|
|
5
|
+
"No results found": "Aucun bon de livraison trouvé",
|
|
6
|
+
selected: "sélectionnés",
|
|
7
|
+
"Export PDFs": "Exporter les PDFs",
|
|
8
|
+
"Deselect all": "Tout désélectionner",
|
|
9
|
+
"Copy to Invoice": "Copier vers facture",
|
|
10
|
+
"Clear all": "Tout effacer",
|
|
11
|
+
Void: "Annuler",
|
|
12
|
+
Voided: "Annulé",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Popis otpremnica je prazan",
|
|
3
|
+
"Get started by creating your first entry": "Započnite stvaranjem prve otpremnice",
|
|
4
|
+
"Create new": "Stvori otpremnicu",
|
|
5
|
+
"No results found": "Nisu pronađene otpremnice",
|
|
6
|
+
selected: "odabranih",
|
|
7
|
+
"Export PDFs": "Izvezi PDF-ove",
|
|
8
|
+
"Deselect all": "Poništi odabir",
|
|
9
|
+
"Copy to Invoice": "Kopiraj u račun",
|
|
10
|
+
"Clear all": "Očisti sve",
|
|
11
|
+
Void: "Storniraj",
|
|
12
|
+
Voided: "Poništeno",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "La lista delle bolle di consegna è vuota",
|
|
3
|
+
"Get started by creating your first entry": "Inizia creando la tua prima bolla di consegna",
|
|
4
|
+
"Create new": "Crea bolla di consegna",
|
|
5
|
+
"No results found": "Nessuna bolla di consegna trovata",
|
|
6
|
+
selected: "selezionati",
|
|
7
|
+
"Export PDFs": "Esporta PDF",
|
|
8
|
+
"Deselect all": "Deseleziona tutto",
|
|
9
|
+
"Copy to Invoice": "Copia in fattura",
|
|
10
|
+
"Clear all": "Cancella tutto",
|
|
11
|
+
Void: "Annulla",
|
|
12
|
+
Voided: "Annullato",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Uw pakbonlijst is leeg",
|
|
3
|
+
"Get started by creating your first entry": "Begin met het aanmaken van uw eerste pakbon",
|
|
4
|
+
"Create new": "Pakbon aanmaken",
|
|
5
|
+
"No results found": "Geen pakbonnen gevonden",
|
|
6
|
+
selected: "geselecteerd",
|
|
7
|
+
"Export PDFs": "PDFs exporteren",
|
|
8
|
+
"Deselect all": "Alles deselecteren",
|
|
9
|
+
"Copy to Invoice": "Kopieer naar factuur",
|
|
10
|
+
"Clear all": "Alles wissen",
|
|
11
|
+
Void: "Nietig verklaren",
|
|
12
|
+
Voided: "Ongeldig verklaard",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "Lista listów przewozowych jest pusta",
|
|
3
|
+
"Get started by creating your first entry": "Zacznij od utworzenia pierwszego listu przewozowego",
|
|
4
|
+
"Create new": "Utwórz list przewozowy",
|
|
5
|
+
"No results found": "Nie znaleziono listów przewozowych",
|
|
6
|
+
selected: "wybranych",
|
|
7
|
+
"Export PDFs": "Eksportuj PDF-y",
|
|
8
|
+
"Deselect all": "Odznacz wszystko",
|
|
9
|
+
"Copy to Invoice": "Kopiuj do faktury",
|
|
10
|
+
"Clear all": "Wyczyść wszystko",
|
|
11
|
+
Void: "Anuluj",
|
|
12
|
+
Voided: "Anulowana",
|
|
13
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Your list is empty": "A sua lista de guias de remessa está vazia",
|
|
3
|
+
"Get started by creating your first entry": "Comece criando a sua primeira guia de remessa",
|
|
4
|
+
"Create new": "Criar guia de remessa",
|
|
5
|
+
"No results found": "Nenhuma guia de remessa encontrada",
|
|
6
|
+
selected: "selecionados",
|
|
7
|
+
"Export PDFs": "Exportar PDFs",
|
|
8
|
+
"Deselect all": "Desmarcar tudo",
|
|
9
|
+
"Copy to Invoice": "Copiar para fatura",
|
|
10
|
+
"Clear all": "Limpar tudo",
|
|
11
|
+
Void: "Anular",
|
|
12
|
+
Voided: "Anulado",
|
|
13
|
+
} as const;
|