@spaceinvoices/react-ui 0.1.1 → 0.4.0
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/registry.json +86 -122
- package/src/components/activities/activity-timeline.tsx +8 -1
- package/src/components/activities/locales/es.ts +30 -0
- package/src/components/activities/locales/fr.ts +30 -0
- package/src/components/activities/locales/hr.ts +30 -0
- package/src/components/activities/locales/it.ts +30 -0
- package/src/components/activities/locales/nl.ts +30 -0
- package/src/components/activities/locales/pl.ts +30 -0
- package/src/components/activities/locales/pt.ts +30 -0
- package/src/components/advance-invoices/advance-invoices.hooks.ts +2 -2
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +21 -7
- package/src/components/advance-invoices/create/locales/es.ts +29 -0
- package/src/components/advance-invoices/create/locales/fr.ts +28 -0
- package/src/components/advance-invoices/create/locales/hr.ts +27 -0
- package/src/components/advance-invoices/create/locales/it.ts +29 -0
- package/src/components/advance-invoices/create/locales/nl.ts +28 -0
- package/src/components/advance-invoices/create/locales/pl.ts +28 -0
- package/src/components/advance-invoices/create/locales/pt.ts +29 -0
- package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +3 -3
- package/src/components/advance-invoices/list/list-table.tsx +20 -3
- package/src/components/advance-invoices/list/locales/de.ts +9 -0
- package/src/components/advance-invoices/list/locales/en.ts +8 -0
- package/src/components/advance-invoices/list/locales/es.ts +41 -0
- package/src/components/advance-invoices/list/locales/fr.ts +41 -0
- package/src/components/advance-invoices/list/locales/hr.ts +41 -0
- package/src/components/advance-invoices/list/locales/it.ts +41 -0
- package/src/components/advance-invoices/list/locales/nl.ts +41 -0
- package/src/components/advance-invoices/list/locales/pl.ts +41 -0
- package/src/components/advance-invoices/list/locales/pt.ts +41 -0
- package/src/components/advance-invoices/list/locales/sl.ts +9 -0
- package/src/components/credit-notes/create/create-credit-note-form.tsx +19 -5
- package/src/components/credit-notes/create/locales/es.ts +68 -0
- package/src/components/credit-notes/create/locales/fr.ts +69 -0
- package/src/components/credit-notes/create/locales/hr.ts +68 -0
- package/src/components/credit-notes/create/locales/it.ts +68 -0
- package/src/components/credit-notes/create/locales/nl.ts +69 -0
- package/src/components/credit-notes/create/locales/pl.ts +68 -0
- package/src/components/credit-notes/create/locales/pt.ts +68 -0
- package/src/components/credit-notes/list/list-table.tsx +25 -8
- package/src/components/credit-notes/list/locales/de.ts +10 -2
- package/src/components/credit-notes/list/locales/en.ts +8 -0
- package/src/components/credit-notes/list/locales/es.ts +41 -0
- package/src/components/credit-notes/list/locales/fr.ts +41 -0
- package/src/components/credit-notes/list/locales/hr.ts +41 -0
- package/src/components/credit-notes/list/locales/it.ts +41 -0
- package/src/components/credit-notes/list/locales/nl.ts +41 -0
- package/src/components/credit-notes/list/locales/pl.ts +41 -0
- package/src/components/credit-notes/list/locales/pt.ts +41 -0
- package/src/components/credit-notes/list/locales/sl.ts +10 -2
- package/src/components/customers/create-customer-form/create-customer-form.tsx +21 -3
- package/src/components/customers/create-customer-form/locales/de.ts +1 -0
- package/src/components/customers/create-customer-form/locales/es.ts +21 -0
- package/src/components/customers/create-customer-form/locales/fr.ts +21 -0
- package/src/components/customers/create-customer-form/locales/hr.ts +21 -0
- package/src/components/customers/create-customer-form/locales/it.ts +21 -0
- package/src/components/customers/create-customer-form/locales/nl.ts +21 -0
- package/src/components/customers/create-customer-form/locales/pl.ts +21 -0
- package/src/components/customers/create-customer-form/locales/pt.ts +21 -0
- package/src/components/customers/create-customer-form/locales/sl.ts +1 -0
- package/src/components/customers/customer-list-table/customer-list-row-actions.tsx +72 -16
- package/src/components/customers/customer-list-table/customer-list-table.tsx +35 -2
- package/src/components/customers/customer-list-table/locales/de.ts +9 -0
- package/src/components/customers/customer-list-table/locales/en.ts +10 -0
- package/src/components/customers/customer-list-table/locales/es.ts +25 -0
- package/src/components/customers/customer-list-table/locales/fr.ts +25 -0
- package/src/components/customers/customer-list-table/locales/hr.ts +25 -0
- package/src/components/customers/customer-list-table/locales/it.ts +25 -0
- package/src/components/customers/customer-list-table/locales/nl.ts +25 -0
- package/src/components/customers/customer-list-table/locales/pl.ts +25 -0
- package/src/components/customers/customer-list-table/locales/pt.ts +25 -0
- package/src/components/customers/customer-list-table/locales/sl.ts +9 -0
- package/src/components/customers/customers.hooks.test.ts +8 -8
- package/src/components/customers/customers.hooks.ts +6 -1
- package/src/components/customers/edit-customer-form/edit-customer-form.tsx +143 -0
- package/src/components/customers/edit-customer-form/locales/de.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/es.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/fr.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/hr.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/it.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/nl.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/pl.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/pt.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/sl.ts +13 -0
- package/src/components/customers/index.ts +1 -0
- package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +9 -1
- package/src/components/dashboard/collection-rate-card/locales/de.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/es.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/fr.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/hr.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/it.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/nl.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/pl.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/pt.ts +3 -0
- package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +9 -1
- package/src/components/dashboard/invoice-status-chart/locales/de.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/es.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/fr.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/hr.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/it.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/nl.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/pl.ts +9 -0
- package/src/components/dashboard/invoice-status-chart/locales/pt.ts +9 -0
- package/src/components/dashboard/payment-methods-chart/locales/de.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/es.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/fr.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/hr.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/it.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/nl.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/pl.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/pt.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +9 -1
- package/src/components/dashboard/payment-trend-chart/locales/de.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/es.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/fr.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/hr.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/it.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/nl.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/pl.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/locales/pt.ts +5 -0
- package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +10 -2
- package/src/components/dashboard/revenue-trend-chart/locales/de.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/es.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/fr.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/hr.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/it.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/nl.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/pl.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/locales/pt.ts +5 -0
- package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +10 -2
- package/src/components/dashboard/top-customers-chart/locales/de.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/es.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/fr.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/hr.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/it.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/nl.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/pl.ts +5 -0
- package/src/components/dashboard/top-customers-chart/locales/pt.ts +5 -0
- package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +10 -2
- package/src/components/documents/create/document-add-item-form.tsx +1 -1
- package/src/components/documents/create/form-types.ts +1 -5
- package/src/components/documents/create/mark-as-paid-section.tsx +60 -23
- package/src/components/documents/create/prepare-document-submission.test.ts +2 -2
- package/src/components/documents/create/prepare-document-submission.ts +12 -7
- package/src/components/documents/create/prepare-preview-data.test.ts +1 -1
- package/src/components/documents/documents.hooks.ts +5 -48
- package/src/components/documents/shared/document-preview-display.tsx +12 -1
- package/src/components/documents/view/document-actions-bar.tsx +28 -13
- package/src/components/documents/view/document-activities-list.tsx +166 -0
- package/src/components/documents/view/document-details-card.tsx +14 -7
- package/src/components/documents/view/document-payments-list.tsx +8 -1
- package/src/components/documents/view/index.ts +1 -0
- package/src/components/documents/view/locales/de.ts +32 -0
- package/src/components/documents/view/locales/es.ts +115 -0
- package/src/components/documents/view/locales/fr.ts +115 -0
- package/src/components/documents/view/locales/hr.ts +115 -0
- package/src/components/documents/view/locales/it.ts +115 -0
- package/src/components/documents/view/locales/nl.ts +116 -0
- package/src/components/documents/view/locales/pl.ts +115 -0
- package/src/components/documents/view/locales/pt.ts +115 -0
- package/src/components/documents/view/locales/sl.ts +32 -0
- package/src/components/entities/create-entity-form.tsx +12 -2
- package/src/components/entities/entity-settings-form/entity-settings-form.tsx +18 -0
- package/src/components/entities/entity-settings-form/locales/de.ts +3 -1
- package/src/components/entities/entity-settings-form/locales/es.ts +197 -0
- package/src/components/entities/entity-settings-form/locales/fr.ts +196 -0
- package/src/components/entities/entity-settings-form/locales/hr.ts +189 -0
- package/src/components/entities/entity-settings-form/locales/it.ts +195 -0
- package/src/components/entities/entity-settings-form/locales/nl.ts +192 -0
- package/src/components/entities/entity-settings-form/locales/pl.ts +193 -0
- package/src/components/entities/entity-settings-form/locales/pt.ts +194 -0
- package/src/components/entities/entity-settings-form/locales/sl.ts +2 -0
- package/src/components/entities/fina-settings-form/fina-settings-form.tsx +461 -0
- package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +215 -0
- package/src/components/entities/fina-settings-form/index.ts +3 -0
- package/src/components/entities/fina-settings-form/locales/de.ts +148 -0
- package/src/components/entities/fina-settings-form/locales/en.ts +145 -0
- package/src/components/entities/fina-settings-form/locales/es.ts +146 -0
- package/src/components/entities/fina-settings-form/locales/fr.ts +145 -0
- package/src/components/entities/fina-settings-form/locales/hr.ts +147 -0
- package/src/components/entities/fina-settings-form/locales/it.ts +147 -0
- package/src/components/entities/fina-settings-form/locales/nl.ts +147 -0
- package/src/components/entities/fina-settings-form/locales/pl.ts +145 -0
- package/src/components/entities/fina-settings-form/locales/pt.ts +147 -0
- package/src/components/entities/fina-settings-form/locales/sl.ts +147 -0
- package/src/components/entities/fina-settings-form/sections/certificate-settings-section.tsx +233 -0
- package/src/components/entities/fina-settings-form/sections/premises-management-section.tsx +363 -0
- package/src/components/entities/fina-settings-form/sections/register-premise-dialog.tsx +395 -0
- package/src/components/entities/furs-settings-form/furs-settings-form.tsx +24 -9
- package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +15 -11
- package/src/components/entities/furs-settings-form/locales/de.ts +54 -88
- package/src/components/entities/furs-settings-form/locales/en.ts +15 -0
- package/src/components/entities/furs-settings-form/locales/es.ts +198 -0
- package/src/components/entities/furs-settings-form/locales/fr.ts +198 -0
- package/src/components/entities/furs-settings-form/locales/hr.ts +197 -0
- package/src/components/entities/furs-settings-form/locales/it.ts +198 -0
- package/src/components/entities/furs-settings-form/locales/nl.ts +197 -0
- package/src/components/entities/furs-settings-form/locales/pl.ts +196 -0
- package/src/components/entities/furs-settings-form/locales/pt.ts +197 -0
- package/src/components/entities/furs-settings-form/locales/sl.ts +16 -0
- package/src/components/entities/furs-settings-form/sections/certificate-settings-section.tsx +19 -4
- package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +121 -1
- package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +17 -66
- package/src/components/entities/keys.ts +1 -1
- package/src/components/entities/settings/company-settings-form.tsx +28 -0
- package/src/components/entities/settings/pdf-template-selector/locales/es.ts +18 -0
- package/src/components/entities/settings/pdf-template-selector/locales/fr.ts +18 -0
- package/src/components/entities/settings/pdf-template-selector/locales/hr.ts +18 -0
- package/src/components/entities/settings/pdf-template-selector/locales/it.ts +18 -0
- package/src/components/entities/settings/pdf-template-selector/locales/nl.ts +17 -0
- package/src/components/entities/settings/pdf-template-selector/locales/pl.ts +18 -0
- package/src/components/entities/settings/pdf-template-selector/locales/pt.ts +18 -0
- package/src/components/estimates/create/create-estimate-form.tsx +14 -0
- package/src/components/estimates/create/locales/es.ts +57 -0
- package/src/components/estimates/create/locales/fr.ts +58 -0
- package/src/components/estimates/create/locales/hr.ts +57 -0
- package/src/components/estimates/create/locales/it.ts +57 -0
- package/src/components/estimates/create/locales/nl.ts +58 -0
- package/src/components/estimates/create/locales/pl.ts +57 -0
- package/src/components/estimates/create/locales/pt.ts +58 -0
- package/src/components/estimates/create/prepare-estimate-submission.ts +1 -1
- package/src/components/estimates/list/list-table.tsx +20 -3
- package/src/components/estimates/list/locales/de.ts +9 -0
- package/src/components/estimates/list/locales/en.ts +8 -0
- package/src/components/estimates/list/locales/es.ts +32 -0
- package/src/components/estimates/list/locales/fr.ts +32 -0
- package/src/components/estimates/list/locales/hr.ts +32 -0
- package/src/components/estimates/list/locales/it.ts +32 -0
- package/src/components/estimates/list/locales/nl.ts +32 -0
- package/src/components/estimates/list/locales/pl.ts +32 -0
- package/src/components/estimates/list/locales/pt.ts +32 -0
- package/src/components/estimates/list/locales/sl.ts +9 -0
- package/src/components/export/document-export-form.tsx +0 -2
- package/src/components/invoices/create/create-invoice-form.tsx +24 -10
- package/src/components/invoices/create/eslog-validation.test.ts +2 -0
- package/src/components/invoices/create/locales/es.ts +103 -0
- package/src/components/invoices/create/locales/fr.ts +105 -0
- package/src/components/invoices/create/locales/hr.ts +103 -0
- package/src/components/invoices/create/locales/it.ts +105 -0
- package/src/components/invoices/create/locales/nl.ts +104 -0
- package/src/components/invoices/create/locales/pl.ts +104 -0
- package/src/components/invoices/create/locales/pt.ts +105 -0
- package/src/components/invoices/create/prepare-invoice-submission.test.ts +54 -55
- package/src/components/invoices/create/prepare-invoice-submission.ts +3 -3
- package/src/components/invoices/index.ts +1 -1
- package/src/components/invoices/list/list-table.tsx +20 -3
- package/src/components/invoices/list/locales/de.ts +9 -0
- package/src/components/invoices/list/locales/en.ts +8 -0
- package/src/components/invoices/list/locales/es.ts +42 -0
- package/src/components/invoices/list/locales/fr.ts +42 -0
- package/src/components/invoices/list/locales/hr.ts +42 -0
- package/src/components/invoices/list/locales/it.ts +42 -0
- package/src/components/invoices/list/locales/nl.ts +42 -0
- package/src/components/invoices/list/locales/pl.ts +42 -0
- package/src/components/invoices/list/locales/pt.ts +42 -0
- package/src/components/invoices/list/locales/sl.ts +9 -0
- package/src/components/invoices/send-email-dialog/locales/es.ts +18 -0
- package/src/components/invoices/send-email-dialog/locales/fr.ts +18 -0
- package/src/components/invoices/send-email-dialog/locales/hr.ts +17 -0
- package/src/components/invoices/send-email-dialog/locales/it.ts +18 -0
- package/src/components/invoices/send-email-dialog/locales/nl.ts +18 -0
- package/src/components/invoices/send-email-dialog/locales/pl.ts +18 -0
- package/src/components/invoices/send-email-dialog/locales/pt.ts +18 -0
- package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +22 -14
- package/src/components/invoices/shared/scaled-document-preview.tsx +1 -0
- package/src/components/invoices/view/eslog-info-display.tsx +1 -0
- package/src/components/invoices/view/fiscalization-status-card.tsx +121 -0
- package/src/components/items/create-item-form/create-item-form.tsx +14 -0
- package/src/components/items/create-item-form/locales/en.ts +5 -0
- package/src/components/items/create-item-form/locales/es.ts +14 -0
- package/src/components/items/create-item-form/locales/fr.ts +14 -0
- package/src/components/items/create-item-form/locales/hr.ts +14 -0
- package/src/components/items/create-item-form/locales/it.ts +14 -0
- package/src/components/items/create-item-form/locales/nl.ts +14 -0
- package/src/components/items/create-item-form/locales/pl.ts +14 -0
- package/src/components/items/create-item-form/locales/pt.ts +14 -0
- package/src/components/items/edit-item-form/edit-item-form.tsx +170 -0
- package/src/components/items/edit-item-form/locales/de.ts +12 -0
- package/src/components/items/edit-item-form/locales/es.ts +12 -0
- package/src/components/items/edit-item-form/locales/fr.ts +12 -0
- package/src/components/items/edit-item-form/locales/hr.ts +12 -0
- package/src/components/items/edit-item-form/locales/it.ts +12 -0
- package/src/components/items/edit-item-form/locales/nl.ts +12 -0
- package/src/components/items/edit-item-form/locales/pl.ts +12 -0
- package/src/components/items/edit-item-form/locales/pt.ts +12 -0
- package/src/components/items/edit-item-form/locales/sl.ts +12 -0
- package/src/components/items/item-list-table/item-list-table.tsx +20 -13
- package/src/components/items/item-list-table/locales/de.ts +6 -0
- package/src/components/items/item-list-table/locales/en.ts +5 -0
- package/src/components/items/item-list-table/locales/es.ts +16 -0
- package/src/components/items/item-list-table/locales/fr.ts +16 -0
- package/src/components/items/item-list-table/locales/hr.ts +16 -0
- package/src/components/items/item-list-table/locales/it.ts +16 -0
- package/src/components/items/item-list-table/locales/nl.ts +16 -0
- package/src/components/items/item-list-table/locales/pl.ts +16 -0
- package/src/components/items/item-list-table/locales/pt.ts +16 -0
- package/src/components/items/item-list-table/locales/sl.ts +6 -0
- package/src/components/items/items.hooks.ts +7 -2
- package/src/components/payments/create-payment-form/create-payment-form.tsx +14 -0
- package/src/components/payments/create-payment-form/locales/es.ts +20 -0
- package/src/components/payments/create-payment-form/locales/fr.ts +20 -0
- package/src/components/payments/create-payment-form/locales/hr.ts +20 -0
- package/src/components/payments/create-payment-form/locales/it.ts +20 -0
- package/src/components/payments/create-payment-form/locales/nl.ts +20 -0
- package/src/components/payments/create-payment-form/locales/pl.ts +20 -0
- package/src/components/payments/create-payment-form/locales/pt.ts +20 -0
- package/src/components/payments/edit-payment-form/edit-payment-form.tsx +18 -2
- package/src/components/payments/edit-payment-form/locales/es.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/fr.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/hr.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/it.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/nl.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/pl.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/pt.ts +20 -0
- package/src/components/payments/list/list-row-actions.tsx +14 -0
- package/src/components/payments/list/list-table.tsx +21 -2
- package/src/components/payments/list/locales/de.ts +6 -0
- package/src/components/payments/list/locales/en.ts +7 -0
- package/src/components/payments/list/locales/es.ts +25 -0
- package/src/components/payments/list/locales/fr.ts +25 -0
- package/src/components/payments/list/locales/hr.ts +25 -0
- package/src/components/payments/list/locales/it.ts +25 -0
- package/src/components/payments/list/locales/nl.ts +25 -0
- package/src/components/payments/list/locales/pl.ts +25 -0
- package/src/components/payments/list/locales/pt.ts +25 -0
- package/src/components/payments/list/locales/sl.ts +6 -0
- package/src/components/payments/payments.hooks.ts +7 -2
- package/src/components/request-logs/index.ts +1 -1
- package/src/components/table/data-table.tsx +8 -3
- package/src/components/table/filter-panel.tsx +4 -4
- package/src/components/table/hooks/use-table-query.ts +3 -0
- package/src/components/table/table-empty-state.tsx +11 -4
- package/src/components/table/table-no-results.tsx +6 -4
- package/src/components/table/types.ts +2 -2
- package/src/components/tax-reports/kir-export-form.tsx +0 -1
- package/src/components/taxes/create-tax-form/create-tax-form.tsx +14 -0
- package/src/components/taxes/create-tax-form/locales/en.ts +1 -0
- package/src/components/taxes/create-tax-form/locales/es.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/fr.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/hr.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/it.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/nl.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/pl.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/pt.ts +8 -0
- package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +119 -0
- package/src/components/taxes/edit-tax-form/locales/de.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/es.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/fr.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/hr.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/it.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/nl.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/pl.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/pt.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/sl.ts +6 -0
- package/src/components/taxes/tax-list-table/locales/de.ts +6 -0
- package/src/components/taxes/tax-list-table/locales/en.ts +6 -0
- package/src/components/taxes/tax-list-table/locales/es.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/fr.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/hr.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/it.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/nl.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/pl.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/pt.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/sl.ts +6 -0
- package/src/components/taxes/tax-list-table/tax-list-table.tsx +18 -0
- package/src/components/taxes/taxes.hooks.ts +12 -7
- package/src/components/ui/tooltip.tsx +2 -2
- package/src/components/wl-subscription/locked-feature.tsx +1 -0
- package/src/components/wl-subscription/upgrade-modal.tsx +1 -0
- package/src/generated/schemas/acceptentityinvitation_body.ts +17 -0
- package/src/generated/schemas/addentityuser_body.ts +18 -0
- package/src/generated/schemas/advanceinvoice.ts +184 -12
- package/src/generated/schemas/creditnote.ts +99 -127
- package/src/generated/schemas/customadvanceinvoice.ts +246 -0
- package/src/generated/schemas/customcreditnote.ts +237 -0
- package/src/generated/schemas/customer.ts +26 -0
- package/src/generated/schemas/customestimate.ts +181 -0
- package/src/generated/schemas/custominvoice.ts +237 -0
- package/src/generated/schemas/entity.ts +66 -7
- package/src/generated/schemas/entityuserrole.ts +19 -0
- package/src/generated/schemas/estimate.ts +149 -1
- package/src/generated/schemas/finasettings.ts +25 -0
- package/src/generated/schemas/furssettings.ts +1 -2
- package/src/generated/schemas/index.ts +24 -5
- package/src/generated/schemas/invoice.ts +224 -22
- package/src/generated/schemas/me.ts +22 -0
- package/src/generated/schemas/registerfinamovablepremise_body.ts +26 -0
- package/src/generated/schemas/registerfinarealestatepremise_body.ts +37 -0
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +342 -0
- package/src/generated/schemas/rendercreditnotepreview_body.ts +344 -0
- package/src/generated/schemas/renderestimatepreview_body.ts +284 -0
- package/src/generated/schemas/renderinvoicepreview_body.ts +344 -0
- package/src/generated/schemas/senddocument_body.ts +23 -0
- package/src/generated/schemas/sendemail_body.ts +8 -10
- package/src/generated/schemas/stripeappconnect_body.ts +18 -0
- package/src/generated/schemas/stripeappcreateinvoice_body.ts +20 -0
- package/src/generated/schemas/stripeappupdatesettings_body.ts +26 -0
- package/src/generated/schemas/webhook.ts +143 -0
- package/src/hooks/create-resource-hooks.ts +85 -1
- package/src/hooks/use-duplicate-document.ts +19 -11
- package/src/hooks/use-next-document-number.ts +1 -1
- package/src/hooks/use-resource-mutation.ts +4 -3
- package/src/lib/browser-cookies.ts +12 -1
- package/src/lib/cookies.ts +2 -2
- package/src/lib/translation.ts +1 -1
- package/src/providers/entities-provider.tsx +105 -39
- package/src/providers/sdk-provider.tsx +7 -3
- package/src/providers/white-label-provider.tsx +5 -2
- package/src/providers/wl-subscription-provider.tsx +1 -0
- package/src/components/invoices/view/furs-info-display.tsx +0 -213
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Draft: "Bozza",
|
|
3
|
+
Number: "Numero",
|
|
4
|
+
Customer: "Cliente",
|
|
5
|
+
Date: "Data",
|
|
6
|
+
"Date Due": "Data di scadenza",
|
|
7
|
+
Total: "Totale",
|
|
8
|
+
"Total with Tax": "Totale con IVA",
|
|
9
|
+
Actions: "Azioni",
|
|
10
|
+
"Open menu": "Apri menu",
|
|
11
|
+
"Copy invoice ID": "Copia ID fattura",
|
|
12
|
+
"View invoice": "Visualizza fattura",
|
|
13
|
+
"Add Payment": "Aggiungi pagamento",
|
|
14
|
+
"Download PDF": "Scarica PDF",
|
|
15
|
+
"Downloading...": "Download in corso...",
|
|
16
|
+
Duplicate: "Duplica",
|
|
17
|
+
"Send Email": "Invia e-mail",
|
|
18
|
+
Invoice: "Fattura",
|
|
19
|
+
"Failed to download PDF": "Download del PDF non riuscito",
|
|
20
|
+
// Filter translations
|
|
21
|
+
"Search...": "Cerca...",
|
|
22
|
+
Filters: "Filtri",
|
|
23
|
+
"Date Range": "Intervallo di date",
|
|
24
|
+
From: "Da",
|
|
25
|
+
To: "A",
|
|
26
|
+
"Clear filters": "Cancella filtri",
|
|
27
|
+
Status: "Stato",
|
|
28
|
+
Paid: "Pagato",
|
|
29
|
+
Unpaid: "Non pagato",
|
|
30
|
+
Overdue: "Scaduto",
|
|
31
|
+
Voided: "Annullato",
|
|
32
|
+
"Created At": "Creato il",
|
|
33
|
+
Unshare: "Rimuovi condivisione",
|
|
34
|
+
// Empty state translations
|
|
35
|
+
"Your list is empty": "La lista delle fatture è vuota",
|
|
36
|
+
"Get started by creating your first entry": "Inizia creando la tua prima fattura",
|
|
37
|
+
"Create new": "Crea fattura",
|
|
38
|
+
// No results translations
|
|
39
|
+
"No results found": "Nessuna fattura trovata",
|
|
40
|
+
"Try adjusting your search criteria": "Prova a modificare i criteri di ricerca",
|
|
41
|
+
"Clear search": "Cancella ricerca",
|
|
42
|
+
} as const;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Draft: "Concept",
|
|
3
|
+
Number: "Nummer",
|
|
4
|
+
Customer: "Klant",
|
|
5
|
+
Date: "Datum",
|
|
6
|
+
"Date Due": "Vervaldatum",
|
|
7
|
+
Total: "Totaal",
|
|
8
|
+
"Total with Tax": "Totaal met BTW",
|
|
9
|
+
Actions: "Acties",
|
|
10
|
+
"Open menu": "Menu openen",
|
|
11
|
+
"Copy invoice ID": "Factuur-ID kopiëren",
|
|
12
|
+
"View invoice": "Factuur bekijken",
|
|
13
|
+
"Add Payment": "Betaling toevoegen",
|
|
14
|
+
"Download PDF": "PDF downloaden",
|
|
15
|
+
"Downloading...": "Downloaden...",
|
|
16
|
+
Duplicate: "Dupliceren",
|
|
17
|
+
"Send Email": "E-mail verzenden",
|
|
18
|
+
Invoice: "Factuur",
|
|
19
|
+
"Failed to download PDF": "PDF-download mislukt",
|
|
20
|
+
// Filter translations
|
|
21
|
+
"Search...": "Zoeken...",
|
|
22
|
+
Filters: "Filters",
|
|
23
|
+
"Date Range": "Datumbereik",
|
|
24
|
+
From: "Van",
|
|
25
|
+
To: "Tot",
|
|
26
|
+
"Clear filters": "Filters wissen",
|
|
27
|
+
Status: "Status",
|
|
28
|
+
Paid: "Betaald",
|
|
29
|
+
Unpaid: "Onbetaald",
|
|
30
|
+
Overdue: "Achterstallig",
|
|
31
|
+
Voided: "Ongeldig verklaard",
|
|
32
|
+
"Created At": "Aangemaakt op",
|
|
33
|
+
Unshare: "Delen opheffen",
|
|
34
|
+
// Empty state translations
|
|
35
|
+
"Your list is empty": "Uw facturenlijst is leeg",
|
|
36
|
+
"Get started by creating your first entry": "Begin met het aanmaken van uw eerste factuur",
|
|
37
|
+
"Create new": "Factuur aanmaken",
|
|
38
|
+
// No results translations
|
|
39
|
+
"No results found": "Geen facturen gevonden",
|
|
40
|
+
"Try adjusting your search criteria": "Probeer uw zoekcriteria aan te passen",
|
|
41
|
+
"Clear search": "Zoekopdracht wissen",
|
|
42
|
+
} as const;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Draft: "Wersja robocza",
|
|
3
|
+
Number: "Numer",
|
|
4
|
+
Customer: "Klient",
|
|
5
|
+
Date: "Data",
|
|
6
|
+
"Date Due": "Termin płatności",
|
|
7
|
+
Total: "Razem",
|
|
8
|
+
"Total with Tax": "Razem z VAT",
|
|
9
|
+
Actions: "Akcje",
|
|
10
|
+
"Open menu": "Otwórz menu",
|
|
11
|
+
"Copy invoice ID": "Kopiuj ID faktury",
|
|
12
|
+
"View invoice": "Pokaż fakturę",
|
|
13
|
+
"Add Payment": "Dodaj płatność",
|
|
14
|
+
"Download PDF": "Pobierz PDF",
|
|
15
|
+
"Downloading...": "Pobieranie...",
|
|
16
|
+
Duplicate: "Duplikuj",
|
|
17
|
+
"Send Email": "Wyślij e-mail",
|
|
18
|
+
Invoice: "Faktura",
|
|
19
|
+
"Failed to download PDF": "Nie udało się pobrać PDF",
|
|
20
|
+
// Filter translations
|
|
21
|
+
"Search...": "Szukaj...",
|
|
22
|
+
Filters: "Filtry",
|
|
23
|
+
"Date Range": "Zakres dat",
|
|
24
|
+
From: "Od",
|
|
25
|
+
To: "Do",
|
|
26
|
+
"Clear filters": "Wyczyść filtry",
|
|
27
|
+
Status: "Status",
|
|
28
|
+
Paid: "Opłacona",
|
|
29
|
+
Unpaid: "Nieopłacona",
|
|
30
|
+
Overdue: "Przeterminowana",
|
|
31
|
+
Voided: "Anulowana",
|
|
32
|
+
"Created At": "Utworzono",
|
|
33
|
+
Unshare: "Cofnij udostępnienie",
|
|
34
|
+
// Empty state translations
|
|
35
|
+
"Your list is empty": "Lista faktur jest pusta",
|
|
36
|
+
"Get started by creating your first entry": "Zacznij od utworzenia pierwszej faktury",
|
|
37
|
+
"Create new": "Utwórz fakturę",
|
|
38
|
+
// No results translations
|
|
39
|
+
"No results found": "Nie znaleziono faktur",
|
|
40
|
+
"Try adjusting your search criteria": "Spróbuj dostosować kryteria wyszukiwania",
|
|
41
|
+
"Clear search": "Wyczyść wyszukiwanie",
|
|
42
|
+
} as const;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Draft: "Rascunho",
|
|
3
|
+
Number: "Número",
|
|
4
|
+
Customer: "Cliente",
|
|
5
|
+
Date: "Data",
|
|
6
|
+
"Date Due": "Data de vencimento",
|
|
7
|
+
Total: "Total",
|
|
8
|
+
"Total with Tax": "Total com IVA",
|
|
9
|
+
Actions: "Ações",
|
|
10
|
+
"Open menu": "Abrir menu",
|
|
11
|
+
"Copy invoice ID": "Copiar ID da fatura",
|
|
12
|
+
"View invoice": "Ver fatura",
|
|
13
|
+
"Add Payment": "Adicionar pagamento",
|
|
14
|
+
"Download PDF": "Transferir PDF",
|
|
15
|
+
"Downloading...": "A transferir...",
|
|
16
|
+
Duplicate: "Duplicar",
|
|
17
|
+
"Send Email": "Enviar e-mail",
|
|
18
|
+
Invoice: "Fatura",
|
|
19
|
+
"Failed to download PDF": "Falha ao transferir o PDF",
|
|
20
|
+
// Filter translations
|
|
21
|
+
"Search...": "Pesquisar...",
|
|
22
|
+
Filters: "Filtros",
|
|
23
|
+
"Date Range": "Intervalo de datas",
|
|
24
|
+
From: "De",
|
|
25
|
+
To: "Até",
|
|
26
|
+
"Clear filters": "Limpar filtros",
|
|
27
|
+
Status: "Estado",
|
|
28
|
+
Paid: "Pago",
|
|
29
|
+
Unpaid: "Não pago",
|
|
30
|
+
Overdue: "Vencido",
|
|
31
|
+
Voided: "Anulado",
|
|
32
|
+
"Created At": "Criado em",
|
|
33
|
+
Unshare: "Remover partilha",
|
|
34
|
+
// Empty state translations
|
|
35
|
+
"Your list is empty": "A sua lista de faturas está vazia",
|
|
36
|
+
"Get started by creating your first entry": "Comece por criar a sua primeira fatura",
|
|
37
|
+
"Create new": "Criar fatura",
|
|
38
|
+
// No results translations
|
|
39
|
+
"No results found": "Nenhuma fatura encontrada",
|
|
40
|
+
"Try adjusting your search criteria": "Tente ajustar os seus critérios de pesquisa",
|
|
41
|
+
"Clear search": "Limpar pesquisa",
|
|
42
|
+
} as const;
|
|
@@ -30,4 +30,13 @@ export default {
|
|
|
30
30
|
Overdue: "Zapadlo",
|
|
31
31
|
Voided: "Stornirano",
|
|
32
32
|
"Created At": "Ustvarjeno",
|
|
33
|
+
Unshare: "Odstrani deljenje",
|
|
34
|
+
// Empty state translations
|
|
35
|
+
"Your list is empty": "Vaš seznam računov je prazen",
|
|
36
|
+
"Get started by creating your first entry": "Začnite z ustvarjanjem prvega računa",
|
|
37
|
+
"Create new": "Ustvari račun",
|
|
38
|
+
// No results translations
|
|
39
|
+
"No results found": "Ni najdenih računov",
|
|
40
|
+
"Try adjusting your search criteria": "Poskusite prilagoditi iskalne kriterije",
|
|
41
|
+
"Clear search": "Počisti iskanje",
|
|
33
42
|
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Enviar factura por correo",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Envíe la factura #{number} al cliente por correo electrónico. Se admite formato Markdown en el texto.",
|
|
5
|
+
"Recipient Email": "Correo del destinatario",
|
|
6
|
+
"Subject (Optional)": "Asunto (opcional)",
|
|
7
|
+
"Invoice Subject": "Asunto de la factura",
|
|
8
|
+
"Leave empty to use default": "Dejar vacío para usar el valor predeterminado",
|
|
9
|
+
"Message (Optional)": "Mensaje (opcional)",
|
|
10
|
+
"Email message placeholder": "Mensaje de correo... Admite **negrita**, *cursiva*, [enlaces](url) y listas",
|
|
11
|
+
Cancel: "Cancelar",
|
|
12
|
+
"Send Email": "Enviar correo",
|
|
13
|
+
"Email sent": "Correo enviado",
|
|
14
|
+
"Invoice sent to": "Factura enviada a",
|
|
15
|
+
"Failed to send email": "Error al enviar el correo",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"En modo sandbox solo se pueden enviar correos a los miembros verificados del equipo de esta cuenta.",
|
|
18
|
+
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Envoyer la facture par e-mail",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Envoyez la facture #{number} au client par e-mail. Le formatage Markdown est pris en charge dans le texte.",
|
|
5
|
+
"Recipient Email": "E-mail du destinataire",
|
|
6
|
+
"Subject (Optional)": "Objet (facultatif)",
|
|
7
|
+
"Invoice Subject": "Objet de la facture",
|
|
8
|
+
"Leave empty to use default": "Laisser vide pour utiliser la valeur par défaut",
|
|
9
|
+
"Message (Optional)": "Message (facultatif)",
|
|
10
|
+
"Email message placeholder": "Message e-mail... Prend en charge **gras**, *italique*, [liens](url) et listes",
|
|
11
|
+
Cancel: "Annuler",
|
|
12
|
+
"Send Email": "Envoyer l'e-mail",
|
|
13
|
+
"Email sent": "E-mail envoyé",
|
|
14
|
+
"Invoice sent to": "Facture envoyée à",
|
|
15
|
+
"Failed to send email": "Échec de l'envoi de l'e-mail",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"En mode sandbox, les e-mails ne peuvent être envoyés qu'aux membres vérifiés de l'équipe de ce compte.",
|
|
18
|
+
} as const;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Pošalji račun e-mailom",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Pošaljite račun #{number} kupcu putem e-maila. Markdown formatiranje je podržano u tekstu.",
|
|
5
|
+
"Recipient Email": "E-mail primatelja",
|
|
6
|
+
"Subject (Optional)": "Predmet (neobavezno)",
|
|
7
|
+
"Invoice Subject": "Predmet računa",
|
|
8
|
+
"Leave empty to use default": "Ostavite prazno za zadanu vrijednost",
|
|
9
|
+
"Message (Optional)": "Poruka (neobavezno)",
|
|
10
|
+
"Email message placeholder": "Poruka e-maila... Podržava **podebljano**, *kurziv*, [linkove](url) i popise",
|
|
11
|
+
Cancel: "Odustani",
|
|
12
|
+
"Send Email": "Pošalji e-mail",
|
|
13
|
+
"Email sent": "E-mail poslan",
|
|
14
|
+
"Invoice sent to": "Račun poslan na",
|
|
15
|
+
"Failed to send email": "Slanje e-maila nije uspjelo",
|
|
16
|
+
"Sandbox email warning": "U sandbox načinu e-mailovi se mogu slati samo verificiranim članovima tima ovog računa.",
|
|
17
|
+
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Invia fattura via e-mail",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Invia la fattura #{number} al cliente via e-mail. La formattazione Markdown è supportata nel testo.",
|
|
5
|
+
"Recipient Email": "E-mail del destinatario",
|
|
6
|
+
"Subject (Optional)": "Oggetto (facoltativo)",
|
|
7
|
+
"Invoice Subject": "Oggetto della fattura",
|
|
8
|
+
"Leave empty to use default": "Lascia vuoto per usare il valore predefinito",
|
|
9
|
+
"Message (Optional)": "Messaggio (facoltativo)",
|
|
10
|
+
"Email message placeholder": "Messaggio e-mail... Supporta **grassetto**, *corsivo*, [link](url) e liste",
|
|
11
|
+
Cancel: "Annulla",
|
|
12
|
+
"Send Email": "Invia e-mail",
|
|
13
|
+
"Email sent": "E-mail inviata",
|
|
14
|
+
"Invoice sent to": "Fattura inviata a",
|
|
15
|
+
"Failed to send email": "Invio dell'e-mail non riuscito",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"In modalità sandbox è possibile inviare e-mail solo ai membri del team verificati di questo account.",
|
|
18
|
+
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Factuur per e-mail verzenden",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Verstuur factuur #{number} per e-mail naar de klant. Markdown-opmaak wordt ondersteund in de tekst.",
|
|
5
|
+
"Recipient Email": "E-mail ontvanger",
|
|
6
|
+
"Subject (Optional)": "Onderwerp (optioneel)",
|
|
7
|
+
"Invoice Subject": "Factuuronderwerp",
|
|
8
|
+
"Leave empty to use default": "Laat leeg voor standaardwaarde",
|
|
9
|
+
"Message (Optional)": "Bericht (optioneel)",
|
|
10
|
+
"Email message placeholder": "E-mailbericht... Ondersteunt **vet**, *cursief*, [links](url) en lijsten",
|
|
11
|
+
Cancel: "Annuleren",
|
|
12
|
+
"Send Email": "E-mail verzenden",
|
|
13
|
+
"Email sent": "E-mail verzonden",
|
|
14
|
+
"Invoice sent to": "Factuur verzonden naar",
|
|
15
|
+
"Failed to send email": "E-mail verzenden mislukt",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"In sandbox-modus kunnen e-mails alleen worden verzonden naar geverifieerde teamleden van dit account.",
|
|
18
|
+
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Wyślij fakturę e-mailem",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Wyślij fakturę #{number} do klienta e-mailem. Formatowanie Markdown jest obsługiwane w treści.",
|
|
5
|
+
"Recipient Email": "E-mail odbiorcy",
|
|
6
|
+
"Subject (Optional)": "Temat (opcjonalnie)",
|
|
7
|
+
"Invoice Subject": "Temat faktury",
|
|
8
|
+
"Leave empty to use default": "Pozostaw puste, aby użyć wartości domyślnej",
|
|
9
|
+
"Message (Optional)": "Wiadomość (opcjonalnie)",
|
|
10
|
+
"Email message placeholder": "Wiadomość e-mail... Obsługuje **pogrubienie**, *kursywę*, [linki](url) i listy",
|
|
11
|
+
Cancel: "Anuluj",
|
|
12
|
+
"Send Email": "Wyślij e-mail",
|
|
13
|
+
"Email sent": "E-mail wysłany",
|
|
14
|
+
"Invoice sent to": "Faktura wysłana do",
|
|
15
|
+
"Failed to send email": "Nie udało się wysłać e-maila",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"W trybie sandbox e-maile można wysyłać tylko do zweryfikowanych członków zespołu tego konta.",
|
|
18
|
+
} as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Send Invoice by Email": "Enviar fatura por e-mail",
|
|
3
|
+
"Send invoice by email description":
|
|
4
|
+
"Envie a fatura #{number} ao cliente por e-mail. A formatação Markdown é suportada no texto.",
|
|
5
|
+
"Recipient Email": "E-mail do destinatário",
|
|
6
|
+
"Subject (Optional)": "Assunto (opcional)",
|
|
7
|
+
"Invoice Subject": "Assunto da fatura",
|
|
8
|
+
"Leave empty to use default": "Deixe vazio para usar o valor predefinido",
|
|
9
|
+
"Message (Optional)": "Mensagem (opcional)",
|
|
10
|
+
"Email message placeholder": "Mensagem de e-mail... Suporta **negrito**, *itálico*, [links](url) e listas",
|
|
11
|
+
Cancel: "Cancelar",
|
|
12
|
+
"Send Email": "Enviar e-mail",
|
|
13
|
+
"Email sent": "E-mail enviado",
|
|
14
|
+
"Invoice sent to": "Fatura enviada para",
|
|
15
|
+
"Failed to send email": "Falha ao enviar o e-mail",
|
|
16
|
+
"Sandbox email warning":
|
|
17
|
+
"No modo sandbox, os e-mails só podem ser enviados para membros verificados da equipa desta conta.",
|
|
18
|
+
} as const;
|
|
@@ -33,9 +33,16 @@ import { createTranslation } from "@/ui/lib/translation";
|
|
|
33
33
|
import { useEntities } from "@/ui/providers/entities-context";
|
|
34
34
|
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
35
35
|
import de from "./locales/de";
|
|
36
|
+
import es from "./locales/es";
|
|
37
|
+
import fr from "./locales/fr";
|
|
38
|
+
import hr from "./locales/hr";
|
|
39
|
+
import it from "./locales/it";
|
|
40
|
+
import nl from "./locales/nl";
|
|
41
|
+
import pl from "./locales/pl";
|
|
42
|
+
import pt from "./locales/pt";
|
|
36
43
|
import sl from "./locales/sl";
|
|
37
44
|
|
|
38
|
-
const translations = { de, sl } as const;
|
|
45
|
+
const translations = { de, sl, it, fr, es, pt, nl, pl, hr } as const;
|
|
39
46
|
|
|
40
47
|
type SendEmailDialogProps = {
|
|
41
48
|
invoice: Invoice;
|
|
@@ -96,8 +103,8 @@ export function SendEmailDialog({
|
|
|
96
103
|
defaultValues: {
|
|
97
104
|
to: defaultEmail,
|
|
98
105
|
subject: finalSubject,
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
body_text: finalBody,
|
|
107
|
+
attach_pdf: false,
|
|
101
108
|
},
|
|
102
109
|
});
|
|
103
110
|
|
|
@@ -109,8 +116,8 @@ export function SendEmailDialog({
|
|
|
109
116
|
form.reset({
|
|
110
117
|
to: defaultEmail,
|
|
111
118
|
subject: finalSubject,
|
|
112
|
-
|
|
113
|
-
|
|
119
|
+
body_text: finalBody,
|
|
120
|
+
attach_pdf: false,
|
|
114
121
|
});
|
|
115
122
|
|
|
116
123
|
// Fetch customer email from linked customer if not in invoice snapshot
|
|
@@ -120,10 +127,11 @@ export function SendEmailDialog({
|
|
|
120
127
|
}
|
|
121
128
|
|
|
122
129
|
try {
|
|
123
|
-
const response = await sdk.customers.list(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
130
|
+
const response = await sdk.customers.list({
|
|
131
|
+
query: JSON.stringify({ id: invoice.customer_id }),
|
|
132
|
+
limit: 1,
|
|
133
|
+
entity_id: activeEntity.id,
|
|
134
|
+
});
|
|
127
135
|
|
|
128
136
|
const customer = response.data[0];
|
|
129
137
|
if (customer?.email) {
|
|
@@ -150,8 +158,8 @@ export function SendEmailDialog({
|
|
|
150
158
|
{
|
|
151
159
|
to: values.to,
|
|
152
160
|
subject: values.subject,
|
|
153
|
-
|
|
154
|
-
|
|
161
|
+
body_text: values.body_text,
|
|
162
|
+
document_id: invoice.id,
|
|
155
163
|
},
|
|
156
164
|
{ entity_id: activeEntity.id },
|
|
157
165
|
);
|
|
@@ -187,7 +195,7 @@ export function SendEmailDialog({
|
|
|
187
195
|
</Button>
|
|
188
196
|
</DialogTrigger>
|
|
189
197
|
)}
|
|
190
|
-
<DialogContent className="sm:max-w-
|
|
198
|
+
<DialogContent className="sm:max-w-lg">
|
|
191
199
|
<DialogHeader>
|
|
192
200
|
<DialogTitle>{t("Send Invoice by Email")}</DialogTitle>
|
|
193
201
|
<DialogDescription>
|
|
@@ -245,7 +253,7 @@ export function SendEmailDialog({
|
|
|
245
253
|
|
|
246
254
|
<FormField
|
|
247
255
|
control={form.control}
|
|
248
|
-
name="
|
|
256
|
+
name="body_text"
|
|
249
257
|
render={({ field }) => (
|
|
250
258
|
<FormItem>
|
|
251
259
|
<FormLabel>{t("Message (Optional)")}</FormLabel>
|
|
@@ -258,7 +266,7 @@ export function SendEmailDialog({
|
|
|
258
266
|
document={invoice}
|
|
259
267
|
disabled={isLoading}
|
|
260
268
|
multiline
|
|
261
|
-
rows={
|
|
269
|
+
rows={8}
|
|
262
270
|
/>
|
|
263
271
|
</FormControl>
|
|
264
272
|
<FormDescription>{t("Leave empty to use default")}</FormDescription>
|
|
@@ -122,6 +122,7 @@ export function EslogInfoDisplay({
|
|
|
122
122
|
<AlertDescription>
|
|
123
123
|
<ul className="mt-2 list-disc space-y-1 pl-4">
|
|
124
124
|
{effectiveEslog.validation_errors.map((error, index) => (
|
|
125
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: validation errors are plain strings without stable IDs
|
|
125
126
|
<li key={index} className="text-sm">
|
|
126
127
|
{error}
|
|
127
128
|
</li>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { FinaFiscalizationResponse, FursFiscalizationResponse } from "@spaceinvoices/js-sdk";
|
|
2
|
+
import { AlertCircle, CheckCircle2, Clock, Loader2, MinusCircle, RefreshCw, XCircle } from "lucide-react";
|
|
3
|
+
import { Alert, AlertDescription } from "@/ui/components/ui/alert";
|
|
4
|
+
import { Badge } from "@/ui/components/ui/badge";
|
|
5
|
+
import { Button } from "@/ui/components/ui/button";
|
|
6
|
+
import { Card, CardContent, CardHeader, CardTitle } from "@/ui/components/ui/card";
|
|
7
|
+
import type { ComponentTranslationProps } from "@/ui/lib/translation";
|
|
8
|
+
import { createTranslation } from "@/ui/lib/translation";
|
|
9
|
+
import de from "../../documents/view/locales/de";
|
|
10
|
+
import es from "../../documents/view/locales/es";
|
|
11
|
+
import fr from "../../documents/view/locales/fr";
|
|
12
|
+
import hr from "../../documents/view/locales/hr";
|
|
13
|
+
import it from "../../documents/view/locales/it";
|
|
14
|
+
import nl from "../../documents/view/locales/nl";
|
|
15
|
+
import pl from "../../documents/view/locales/pl";
|
|
16
|
+
import pt from "../../documents/view/locales/pt";
|
|
17
|
+
import sl from "../../documents/view/locales/sl";
|
|
18
|
+
|
|
19
|
+
const translations = { de, es, fr, hr, it, nl, pl, pt, sl } as const;
|
|
20
|
+
|
|
21
|
+
type FiscalizationData = FursFiscalizationResponse | FinaFiscalizationResponse;
|
|
22
|
+
|
|
23
|
+
interface FiscalizationStatusCardProps extends ComponentTranslationProps {
|
|
24
|
+
fiscalizationType: "furs" | "fina";
|
|
25
|
+
fiscalizationData: FiscalizationData | null | undefined;
|
|
26
|
+
onRetry?: () => void;
|
|
27
|
+
isRetrying?: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function FiscalizationStatusCard({
|
|
31
|
+
fiscalizationType,
|
|
32
|
+
fiscalizationData,
|
|
33
|
+
onRetry,
|
|
34
|
+
isRetrying,
|
|
35
|
+
t: translateFn,
|
|
36
|
+
namespace,
|
|
37
|
+
locale,
|
|
38
|
+
}: FiscalizationStatusCardProps) {
|
|
39
|
+
const t = createTranslation({
|
|
40
|
+
t: translateFn,
|
|
41
|
+
namespace,
|
|
42
|
+
locale,
|
|
43
|
+
translations,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
if (!fiscalizationData) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const label = fiscalizationType === "furs" ? "FURS" : "FINA";
|
|
51
|
+
|
|
52
|
+
const getStatusBadge = () => {
|
|
53
|
+
switch (fiscalizationData.status) {
|
|
54
|
+
case "success":
|
|
55
|
+
return (
|
|
56
|
+
<Badge className="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100">
|
|
57
|
+
<CheckCircle2 className="mr-1 h-3 w-3" />
|
|
58
|
+
{t("Fiscalized")}
|
|
59
|
+
</Badge>
|
|
60
|
+
);
|
|
61
|
+
case "pending":
|
|
62
|
+
return (
|
|
63
|
+
<Badge className="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100">
|
|
64
|
+
<Clock className="mr-1 h-3 w-3" />
|
|
65
|
+
{t("Pending")}
|
|
66
|
+
</Badge>
|
|
67
|
+
);
|
|
68
|
+
case "failed":
|
|
69
|
+
return (
|
|
70
|
+
<Badge className="bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100">
|
|
71
|
+
<XCircle className="mr-1 h-3 w-3" />
|
|
72
|
+
{t("Failed")}
|
|
73
|
+
</Badge>
|
|
74
|
+
);
|
|
75
|
+
case "skipped":
|
|
76
|
+
return (
|
|
77
|
+
<Badge className="bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100">
|
|
78
|
+
<MinusCircle className="mr-1 h-3 w-3" />
|
|
79
|
+
{t("Skipped")}
|
|
80
|
+
</Badge>
|
|
81
|
+
);
|
|
82
|
+
default:
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
return (
|
|
88
|
+
<Card>
|
|
89
|
+
<CardHeader className="pb-3">
|
|
90
|
+
<CardTitle className="flex items-center justify-between text-lg">
|
|
91
|
+
<span>{t("Fiscalization")}</span>
|
|
92
|
+
{getStatusBadge()}
|
|
93
|
+
</CardTitle>
|
|
94
|
+
</CardHeader>
|
|
95
|
+
<CardContent className="space-y-3">
|
|
96
|
+
<div className="text-muted-foreground text-sm">
|
|
97
|
+
{label} ·{" "}
|
|
98
|
+
{fiscalizationData.fiscalized_at && new Date(fiscalizationData.fiscalized_at).toLocaleString(locale)}
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
{fiscalizationData.status === "failed" && fiscalizationData.error && (
|
|
102
|
+
<Alert variant="destructive">
|
|
103
|
+
<AlertCircle className="h-4 w-4" />
|
|
104
|
+
<AlertDescription className="text-sm">{fiscalizationData.error}</AlertDescription>
|
|
105
|
+
</Alert>
|
|
106
|
+
)}
|
|
107
|
+
|
|
108
|
+
{fiscalizationData.status === "skipped" && (fiscalizationData as any).data?.reason && (
|
|
109
|
+
<div className="text-muted-foreground text-sm">{(fiscalizationData as any).data.reason}</div>
|
|
110
|
+
)}
|
|
111
|
+
|
|
112
|
+
{fiscalizationData.status === "failed" && onRetry && (
|
|
113
|
+
<Button variant="outline" size="sm" onClick={onRetry} disabled={isRetrying}>
|
|
114
|
+
{isRetrying ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <RefreshCw className="mr-2 h-4 w-4" />}
|
|
115
|
+
{t("Retry fiscalization")}
|
|
116
|
+
</Button>
|
|
117
|
+
)}
|
|
118
|
+
</CardContent>
|
|
119
|
+
</Card>
|
|
120
|
+
);
|
|
121
|
+
}
|
|
@@ -22,11 +22,25 @@ import { createTranslation } from "@/ui/lib/translation";
|
|
|
22
22
|
|
|
23
23
|
import { useCreateItem } from "../items.hooks";
|
|
24
24
|
import de from "./locales/de";
|
|
25
|
+
import es from "./locales/es";
|
|
26
|
+
import fr from "./locales/fr";
|
|
27
|
+
import hr from "./locales/hr";
|
|
28
|
+
import it from "./locales/it";
|
|
29
|
+
import nl from "./locales/nl";
|
|
30
|
+
import pl from "./locales/pl";
|
|
31
|
+
import pt from "./locales/pt";
|
|
25
32
|
import sl from "./locales/sl";
|
|
26
33
|
|
|
27
34
|
const translations = {
|
|
28
35
|
sl,
|
|
29
36
|
de,
|
|
37
|
+
it,
|
|
38
|
+
fr,
|
|
39
|
+
es,
|
|
40
|
+
pt,
|
|
41
|
+
nl,
|
|
42
|
+
pl,
|
|
43
|
+
hr,
|
|
30
44
|
} as const;
|
|
31
45
|
|
|
32
46
|
type CreateItemFormProps = {
|
|
@@ -6,4 +6,9 @@ export default {
|
|
|
6
6
|
Unit: "Unit",
|
|
7
7
|
Price: "Price",
|
|
8
8
|
"There was an error creating the item": "There was an error creating the item",
|
|
9
|
+
// Gross price support
|
|
10
|
+
"Gross price": "Gross price",
|
|
11
|
+
"Net price": "Net price",
|
|
12
|
+
"Gross price (tax included)": "Gross price (tax included)",
|
|
13
|
+
"Net price (before tax)": "Net price (before tax)",
|
|
9
14
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Name: "Nombre",
|
|
3
|
+
"Enter name": "Introducir nombre",
|
|
4
|
+
Description: "Descripción",
|
|
5
|
+
"Enter description": "Introducir descripción",
|
|
6
|
+
Unit: "Unidad",
|
|
7
|
+
Price: "Precio",
|
|
8
|
+
"There was an error creating the item": "Se produjo un error al crear el artículo",
|
|
9
|
+
// Gross price support
|
|
10
|
+
"Gross price": "Precio bruto",
|
|
11
|
+
"Net price": "Precio neto",
|
|
12
|
+
"Gross price (tax included)": "Precio bruto (IVA incluido)",
|
|
13
|
+
"Net price (before tax)": "Precio neto (sin IVA)",
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Name: "Nom",
|
|
3
|
+
"Enter name": "Saisir le nom",
|
|
4
|
+
Description: "Description",
|
|
5
|
+
"Enter description": "Saisir la description",
|
|
6
|
+
Unit: "Unité",
|
|
7
|
+
Price: "Prix",
|
|
8
|
+
"There was an error creating the item": "Une erreur est survenue lors de la création de l'article",
|
|
9
|
+
// Gross price support
|
|
10
|
+
"Gross price": "Prix brut",
|
|
11
|
+
"Net price": "Prix net",
|
|
12
|
+
"Gross price (tax included)": "Prix brut (TTC)",
|
|
13
|
+
"Net price (before tax)": "Prix net (HT)",
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Name: "Naziv",
|
|
3
|
+
"Enter name": "Unesite naziv",
|
|
4
|
+
Description: "Opis",
|
|
5
|
+
"Enter description": "Unesite opis",
|
|
6
|
+
Unit: "Jedinica",
|
|
7
|
+
Price: "Cijena",
|
|
8
|
+
"There was an error creating the item": "Došlo je do greške pri izradi artikla",
|
|
9
|
+
// Gross price support
|
|
10
|
+
"Gross price": "Bruto cijena",
|
|
11
|
+
"Net price": "Neto cijena",
|
|
12
|
+
"Gross price (tax included)": "Bruto cijena (s porezom)",
|
|
13
|
+
"Net price (before tax)": "Neto cijena (bez poreza)",
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Name: "Nome",
|
|
3
|
+
"Enter name": "Inserisci nome",
|
|
4
|
+
Description: "Descrizione",
|
|
5
|
+
"Enter description": "Inserisci descrizione",
|
|
6
|
+
Unit: "Unità",
|
|
7
|
+
Price: "Prezzo",
|
|
8
|
+
"There was an error creating the item": "Si è verificato un errore durante la creazione dell'articolo",
|
|
9
|
+
// Gross price support
|
|
10
|
+
"Gross price": "Prezzo lordo",
|
|
11
|
+
"Net price": "Prezzo netto",
|
|
12
|
+
"Gross price (tax included)": "Prezzo lordo (IVA inclusa)",
|
|
13
|
+
"Net price (before tax)": "Prezzo netto (IVA esclusa)",
|
|
14
|
+
};
|