@spaceinvoices/react-ui 0.4.10 → 0.4.12
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/README.md +24 -8
- package/cli/dist/index.js +89 -26
- package/package.json +6 -2
- package/registry.json +30 -31
- package/spaceinvoices.schema.json +6 -1
- package/src/common/autocomplete.tsx +41 -25
- package/src/components/activities/locales/bg.ts +21 -0
- package/src/components/activities/locales/cs.ts +21 -0
- package/src/components/activities/locales/en.ts +21 -0
- package/src/components/activities/locales/et.ts +21 -0
- package/src/components/activities/locales/fi.ts +21 -0
- package/src/components/activities/locales/is.ts +21 -0
- package/src/components/activities/locales/nb.ts +21 -0
- package/src/components/activities/locales/sk.ts +21 -0
- package/src/components/activities/locales/sv.ts +21 -0
- package/src/components/advance-invoices/advance-invoices.hooks.ts +2 -3
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +290 -69
- package/src/components/advance-invoices/create/locales/bg.ts +48 -0
- package/src/components/advance-invoices/create/locales/cs.ts +48 -0
- package/src/components/advance-invoices/create/locales/en.ts +48 -0
- package/src/components/advance-invoices/create/locales/et.ts +48 -0
- package/src/components/advance-invoices/create/locales/fi.ts +48 -0
- package/src/components/advance-invoices/create/locales/hr.ts +17 -17
- package/src/components/advance-invoices/create/locales/is.ts +48 -0
- package/src/components/advance-invoices/create/locales/nb.ts +48 -0
- package/src/components/advance-invoices/create/locales/sk.ts +48 -0
- package/src/components/advance-invoices/create/locales/sl.ts +9 -7
- package/src/components/advance-invoices/create/locales/sv.ts +48 -0
- package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +16 -2
- package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
- package/src/components/advance-invoices/list/list-table.tsx +33 -8
- package/src/components/advance-invoices/list/locales/bg.ts +51 -0
- package/src/components/advance-invoices/list/locales/cs.ts +51 -0
- package/src/components/advance-invoices/list/locales/en.ts +33 -2
- package/src/components/advance-invoices/list/locales/et.ts +51 -0
- package/src/components/advance-invoices/list/locales/fi.ts +51 -0
- package/src/components/advance-invoices/list/locales/hr.ts +15 -15
- package/src/components/advance-invoices/list/locales/is.ts +51 -0
- package/src/components/advance-invoices/list/locales/nb.ts +51 -0
- package/src/components/advance-invoices/list/locales/sk.ts +51 -0
- package/src/components/advance-invoices/list/locales/sv.ts +51 -0
- package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
- package/src/components/common/autocomplete-locales.ts +101 -0
- package/src/components/company-registry/company-registry.hooks.ts +3 -7
- package/src/components/credit-notes/create/create-credit-note-form.tsx +211 -22
- package/src/components/credit-notes/create/locales/bg.ts +87 -0
- package/src/components/credit-notes/create/locales/cs.ts +87 -0
- package/src/components/credit-notes/create/locales/en.ts +87 -0
- package/src/components/credit-notes/create/locales/et.ts +87 -0
- package/src/components/credit-notes/create/locales/fi.ts +87 -0
- package/src/components/credit-notes/create/locales/hr.ts +24 -24
- package/src/components/credit-notes/create/locales/is.ts +87 -0
- package/src/components/credit-notes/create/locales/nb.ts +87 -0
- package/src/components/credit-notes/create/locales/sk.ts +87 -0
- package/src/components/credit-notes/create/locales/sl.ts +9 -9
- package/src/components/credit-notes/create/locales/sv.ts +87 -0
- package/src/components/credit-notes/create/prepare-credit-note-submission.ts +32 -0
- package/src/components/credit-notes/credit-notes.hooks.ts +15 -3
- package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
- package/src/components/credit-notes/list/list-table.tsx +58 -7
- package/src/components/credit-notes/list/locales/bg.ts +48 -0
- package/src/components/credit-notes/list/locales/cs.ts +48 -0
- package/src/components/credit-notes/list/locales/en.ts +31 -2
- package/src/components/credit-notes/list/locales/et.ts +48 -0
- package/src/components/credit-notes/list/locales/fi.ts +48 -0
- package/src/components/credit-notes/list/locales/hr.ts +12 -12
- package/src/components/credit-notes/list/locales/is.ts +48 -0
- package/src/components/credit-notes/list/locales/nb.ts +48 -0
- package/src/components/credit-notes/list/locales/sk.ts +48 -0
- package/src/components/credit-notes/list/locales/sv.ts +48 -0
- package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
- package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
- package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
- package/src/components/customers/create-customer-form/locales/en.ts +21 -0
- package/src/components/customers/create-customer-form/locales/et.ts +21 -0
- package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
- package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
- package/src/components/customers/create-customer-form/locales/is.ts +21 -0
- package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
- package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
- package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
- package/src/components/customers/customer-autocomplete.tsx +32 -4
- package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
- package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
- package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
- package/src/components/customers/customer-list-table/locales/en.ts +17 -2
- package/src/components/customers/customer-list-table/locales/et.ts +25 -0
- package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
- package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
- package/src/components/customers/customer-list-table/locales/is.ts +25 -0
- package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
- package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
- package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
- package/src/components/customers/customers.hooks.ts +14 -17
- package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
- package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
- package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
- package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
- package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
- package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
- package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
- package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
- package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
- package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
- package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
- package/src/components/dashboard/revenue-card.tsx +3 -3
- package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
- package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
- package/src/components/dashboard/shared/local-date.ts +11 -0
- package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
- package/src/components/dashboard/shared/use-stats-query.ts +7 -11
- package/src/components/dashboard/stat-card.tsx +3 -3
- package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
- package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
- package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
- package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
- package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
- package/src/components/delivery-notes/create/create-delivery-note-form.tsx +61 -31
- package/src/components/delivery-notes/create/locales/bg.ts +68 -0
- package/src/components/delivery-notes/create/locales/cs.ts +68 -0
- package/src/components/delivery-notes/create/locales/en.ts +68 -0
- package/src/components/delivery-notes/create/locales/et.ts +68 -0
- package/src/components/delivery-notes/create/locales/fi.ts +68 -0
- package/src/components/delivery-notes/create/locales/hr.ts +6 -6
- package/src/components/delivery-notes/create/locales/is.ts +68 -0
- package/src/components/delivery-notes/create/locales/nb.ts +68 -0
- package/src/components/delivery-notes/create/locales/sk.ts +68 -0
- package/src/components/delivery-notes/create/locales/sl.ts +5 -5
- package/src/components/delivery-notes/create/locales/sv.ts +68 -0
- package/src/components/delivery-notes/delivery-notes.hooks.ts +20 -3
- package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
- package/src/components/delivery-notes/list/list-table.tsx +42 -9
- package/src/components/delivery-notes/list/locales/bg.ts +40 -0
- package/src/components/delivery-notes/list/locales/cs.ts +40 -0
- package/src/components/delivery-notes/list/locales/et.ts +40 -0
- package/src/components/delivery-notes/list/locales/fi.ts +40 -0
- package/src/components/delivery-notes/list/locales/is.ts +40 -0
- package/src/components/delivery-notes/list/locales/nb.ts +40 -0
- package/src/components/delivery-notes/list/locales/sk.ts +40 -0
- package/src/components/delivery-notes/list/locales/sv.ts +40 -0
- package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
- package/src/components/documents/create/document-add-item-form.tsx +256 -147
- package/src/components/documents/create/document-add-item-tax-rate-field.tsx +2 -1
- package/src/components/documents/create/document-details-section.tsx +30 -12
- package/src/components/documents/create/document-item-validation.ts +50 -0
- package/src/components/documents/create/document-items-section.tsx +44 -6
- package/src/components/documents/create/document-recipient-section.tsx +10 -2
- package/src/components/documents/create/linked-documents-info.tsx +4 -3
- package/src/components/documents/create/live-preview.tsx +19 -15
- package/src/components/documents/create/mark-as-paid-section.tsx +77 -20
- package/src/components/documents/create/payment-rows.ts +291 -0
- package/src/components/documents/create/prepare-document-submission.ts +24 -13
- package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
- package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
- package/src/components/documents/create/use-document-customer-form.ts +74 -25
- package/src/components/documents/documents.hooks.ts +3 -5
- package/src/components/documents/index.ts +1 -0
- package/src/components/documents/public/index.ts +1 -0
- package/src/components/documents/public/public-document-summary.tsx +343 -0
- package/src/components/documents/shared/document-preview-display.tsx +65 -39
- package/src/components/documents/shared/index.ts +6 -1
- package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
- package/src/components/documents/types.ts +24 -0
- package/src/components/documents/view/document-actions-bar.tsx +241 -62
- package/src/components/documents/view/document-activities-list.tsx +23 -11
- package/src/components/documents/view/document-details-card.tsx +7 -27
- package/src/components/documents/view/document-payments-list.tsx +114 -57
- package/src/components/documents/view/document-relations-list.tsx +26 -6
- package/src/components/documents/view/document-sidebar.tsx +25 -3
- package/src/components/documents/view/document-version-history.tsx +137 -0
- package/src/components/documents/view/index.ts +1 -0
- package/src/components/documents/view/locales/bg.ts +143 -0
- package/src/components/documents/view/locales/cs.ts +143 -0
- package/src/components/documents/view/locales/de.ts +13 -0
- package/src/components/documents/view/locales/en.ts +143 -0
- package/src/components/documents/view/locales/es.ts +13 -0
- package/src/components/documents/view/locales/et.ts +143 -0
- package/src/components/documents/view/locales/fi.ts +143 -0
- package/src/components/documents/view/locales/fr.ts +13 -0
- package/src/components/documents/view/locales/hr.ts +13 -0
- package/src/components/documents/view/locales/is.ts +143 -0
- package/src/components/documents/view/locales/it.ts +13 -0
- package/src/components/documents/view/locales/nb.ts +143 -0
- package/src/components/documents/view/locales/nl.ts +13 -0
- package/src/components/documents/view/locales/pl.ts +13 -0
- package/src/components/documents/view/locales/pt.ts +13 -0
- package/src/components/documents/view/locales/sk.ts +143 -0
- package/src/components/documents/view/locales/sl.ts +13 -0
- package/src/components/documents/view/locales/sv.ts +143 -0
- package/src/components/documents/view/use-document-download.ts +18 -17
- package/src/components/entities/create-entity-form.tsx +200 -12
- package/src/components/entities/entities.hooks.ts +15 -7
- package/src/components/entities/entity-settings-form/entity-settings-form.tsx +131 -75
- package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
- package/src/components/entities/entity-settings-form/locales/bg.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/cs.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/de.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/en.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/es.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/et.ts +198 -0
- package/src/components/entities/entity-settings-form/locales/fi.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/fr.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/hr.ts +26 -11
- package/src/components/entities/entity-settings-form/locales/is.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/it.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/nb.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/nl.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/pl.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/pt.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/sk.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/sl.ts +30 -15
- package/src/components/entities/entity-settings-form/locales/sv.ts +205 -0
- package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
- package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
- package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
- package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
- package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
- package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
- package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
- package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
- package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
- package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
- package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
- package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
- package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
- package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
- package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
- package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
- package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
- package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
- package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
- package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
- package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
- package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
- package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
- package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
- package/src/components/entities/settings/branding-settings-form.tsx +11 -30
- package/src/components/entities/settings/company-settings-form.tsx +2 -1
- package/src/components/entities/settings/defaults-settings-form.tsx +112 -9
- package/src/components/entities/settings/email-settings-form.tsx +245 -3
- package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
- package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
- package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
- package/src/components/entities/settings/tax-rules-settings-form.tsx +21 -6
- package/src/components/estimates/create/create-estimate-form.tsx +70 -34
- package/src/components/estimates/create/locales/bg.ts +76 -0
- package/src/components/estimates/create/locales/cs.ts +76 -0
- package/src/components/estimates/create/locales/en.ts +76 -0
- package/src/components/estimates/create/locales/et.ts +76 -0
- package/src/components/estimates/create/locales/fi.ts +76 -0
- package/src/components/estimates/create/locales/hr.ts +8 -8
- package/src/components/estimates/create/locales/is.ts +76 -0
- package/src/components/estimates/create/locales/nb.ts +76 -0
- package/src/components/estimates/create/locales/sk.ts +76 -0
- package/src/components/estimates/create/locales/sl.ts +8 -8
- package/src/components/estimates/create/locales/sv.ts +76 -0
- package/src/components/estimates/create/prepare-estimate-submission.ts +4 -1
- package/src/components/estimates/estimates.hooks.ts +15 -3
- package/src/components/estimates/list/list-row-actions.tsx +34 -7
- package/src/components/estimates/list/list-table.tsx +78 -10
- package/src/components/estimates/list/locales/bg.ts +38 -0
- package/src/components/estimates/list/locales/cs.ts +38 -0
- package/src/components/estimates/list/locales/en.ts +27 -2
- package/src/components/estimates/list/locales/et.ts +38 -0
- package/src/components/estimates/list/locales/fi.ts +38 -0
- package/src/components/estimates/list/locales/hr.ts +2 -2
- package/src/components/estimates/list/locales/is.ts +38 -0
- package/src/components/estimates/list/locales/nb.ts +38 -0
- package/src/components/estimates/list/locales/sk.ts +38 -0
- package/src/components/estimates/list/locales/sv.ts +38 -0
- package/src/components/estimates/list/use-estimate-download.ts +3 -5
- package/src/components/export/document-export-form.tsx +72 -15
- package/src/components/export/sales-per-item-export-form.tsx +3 -2
- package/src/components/invoices/create/create-invoice-form.tsx +294 -76
- package/src/components/invoices/create/eslog-validation.ts +97 -8
- package/src/components/invoices/create/locales/bg.ts +164 -0
- package/src/components/invoices/create/locales/cs.ts +164 -0
- package/src/components/invoices/create/locales/de.ts +24 -0
- package/src/components/invoices/create/locales/en.ts +164 -0
- package/src/components/invoices/create/locales/es.ts +24 -0
- package/src/components/invoices/create/locales/et.ts +164 -0
- package/src/components/invoices/create/locales/fi.ts +164 -0
- package/src/components/invoices/create/locales/fr.ts +23 -0
- package/src/components/invoices/create/locales/hr.ts +32 -9
- package/src/components/invoices/create/locales/is.ts +164 -0
- package/src/components/invoices/create/locales/it.ts +24 -0
- package/src/components/invoices/create/locales/nb.ts +164 -0
- package/src/components/invoices/create/locales/nl.ts +23 -0
- package/src/components/invoices/create/locales/pl.ts +23 -0
- package/src/components/invoices/create/locales/pt.ts +24 -0
- package/src/components/invoices/create/locales/sk.ts +164 -0
- package/src/components/invoices/create/locales/sl.ts +32 -9
- package/src/components/invoices/create/locales/sv.ts +166 -0
- package/src/components/invoices/create/prepare-invoice-submission.ts +19 -2
- package/src/components/invoices/invoices-furs.hooks.ts +11 -8
- package/src/components/invoices/invoices.hooks.ts +27 -10
- package/src/components/invoices/list/list-row-actions.tsx +54 -21
- package/src/components/invoices/list/list-table.tsx +92 -11
- package/src/components/invoices/list/locales/bg.ts +49 -0
- package/src/components/invoices/list/locales/cs.ts +49 -0
- package/src/components/invoices/list/locales/en.ts +34 -2
- package/src/components/invoices/list/locales/et.ts +49 -0
- package/src/components/invoices/list/locales/fi.ts +49 -0
- package/src/components/invoices/list/locales/is.ts +49 -0
- package/src/components/invoices/list/locales/nb.ts +49 -0
- package/src/components/invoices/list/locales/sk.ts +49 -0
- package/src/components/invoices/list/locales/sv.ts +49 -0
- package/src/components/invoices/list/use-invoice-download.ts +3 -5
- package/src/components/invoices/send-email-dialog/locales/bg.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/cs.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/de.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/en.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/es.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/et.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/fi.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/fr.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/hr.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/is.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/it.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/nb.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/nl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/pl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/pt.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/sk.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/sl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/sv.ts +58 -0
- package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +188 -93
- package/src/components/invoices/view/eslog-info-display.tsx +2 -0
- package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
- package/src/components/items/create-item-form/create-item-form.tsx +29 -0
- package/src/components/items/create-item-form/locales/bg.ts +13 -0
- package/src/components/items/create-item-form/locales/cs.ts +13 -0
- package/src/components/items/create-item-form/locales/et.ts +13 -0
- package/src/components/items/create-item-form/locales/fi.ts +13 -0
- package/src/components/items/create-item-form/locales/is.ts +13 -0
- package/src/components/items/create-item-form/locales/nb.ts +13 -0
- package/src/components/items/create-item-form/locales/sk.ts +13 -0
- package/src/components/items/create-item-form/locales/sv.ts +13 -0
- package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
- package/src/components/items/edit-item-form/locales/bg.ts +12 -0
- package/src/components/items/edit-item-form/locales/cs.ts +12 -0
- package/src/components/items/edit-item-form/locales/en.ts +12 -0
- package/src/components/items/edit-item-form/locales/et.ts +12 -0
- package/src/components/items/edit-item-form/locales/fi.ts +12 -0
- package/src/components/items/edit-item-form/locales/is.ts +12 -0
- package/src/components/items/edit-item-form/locales/nb.ts +12 -0
- package/src/components/items/edit-item-form/locales/sk.ts +12 -0
- package/src/components/items/edit-item-form/locales/sv.ts +12 -0
- package/src/components/items/item-combobox.tsx +51 -18
- package/src/components/items/item-list-table/item-list-table.tsx +47 -23
- package/src/components/items/item-list-table/locales/bg.ts +16 -0
- package/src/components/items/item-list-table/locales/cs.ts +16 -0
- package/src/components/items/item-list-table/locales/en.ts +4 -3
- package/src/components/items/item-list-table/locales/et.ts +16 -0
- package/src/components/items/item-list-table/locales/fi.ts +16 -0
- package/src/components/items/item-list-table/locales/is.ts +16 -0
- package/src/components/items/item-list-table/locales/nb.ts +16 -0
- package/src/components/items/item-list-table/locales/sk.ts +16 -0
- package/src/components/items/item-list-table/locales/sv.ts +16 -0
- package/src/components/items/items.hooks.ts +15 -15
- package/src/components/payments/create-payment-form/create-payment-form.tsx +11 -7
- package/src/components/payments/create-payment-form/index.ts +1 -0
- package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
- package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
- package/src/components/payments/create-payment-form/locales/en.ts +20 -0
- package/src/components/payments/create-payment-form/locales/et.ts +20 -0
- package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
- package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
- package/src/components/payments/create-payment-form/locales/is.ts +20 -0
- package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
- package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
- package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
- package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
- package/src/components/payments/edit-payment-form/edit-payment-form.tsx +5 -1
- package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
- package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
- package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
- package/src/components/payments/list/list-row-actions.tsx +10 -2
- package/src/components/payments/list/list-table.tsx +51 -45
- package/src/components/payments/list/locales/bg.ts +42 -0
- package/src/components/payments/list/locales/cs.ts +42 -0
- package/src/components/payments/list/locales/de.ts +18 -0
- package/src/components/payments/list/locales/en.ts +37 -2
- package/src/components/payments/list/locales/es.ts +18 -0
- package/src/components/payments/list/locales/et.ts +42 -0
- package/src/components/payments/list/locales/fi.ts +42 -0
- package/src/components/payments/list/locales/fr.ts +18 -0
- package/src/components/payments/list/locales/hr.ts +18 -0
- package/src/components/payments/list/locales/is.ts +42 -0
- package/src/components/payments/list/locales/it.ts +18 -0
- package/src/components/payments/list/locales/nb.ts +42 -0
- package/src/components/payments/list/locales/nl.ts +18 -0
- package/src/components/payments/list/locales/pl.ts +18 -0
- package/src/components/payments/list/locales/pt.ts +18 -0
- package/src/components/payments/list/locales/sk.ts +42 -0
- package/src/components/payments/list/locales/sl.ts +18 -1
- package/src/components/payments/list/locales/sv.ts +42 -0
- package/src/components/payments/payments.hooks.ts +13 -6
- package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +23 -17
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
- package/src/components/recurring-invoices/list/list-row-actions.tsx +3 -5
- package/src/components/recurring-invoices/list/list-table.tsx +10 -7
- package/src/components/recurring-invoices/list/locales/bg.ts +28 -0
- package/src/components/recurring-invoices/list/locales/cs.ts +28 -0
- package/src/components/recurring-invoices/list/locales/en.ts +23 -0
- package/src/components/recurring-invoices/list/locales/et.ts +28 -0
- package/src/components/recurring-invoices/list/locales/fi.ts +28 -0
- package/src/components/recurring-invoices/list/locales/is.ts +28 -0
- package/src/components/recurring-invoices/list/locales/nb.ts +28 -0
- package/src/components/recurring-invoices/list/locales/sk.ts +28 -0
- package/src/components/recurring-invoices/list/locales/sv.ts +28 -0
- package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
- package/src/components/request-logs/request-log-detail.tsx +30 -23
- package/src/components/request-logs/request-log-list-table.tsx +88 -45
- package/src/components/table/README.md +47 -9
- package/src/components/table/data-table.tsx +232 -92
- package/src/components/table/filter-bar.tsx +1 -1
- package/src/components/table/filter-panel.tsx +51 -22
- package/src/components/table/hooks/use-table-state.ts +64 -11
- package/src/components/table/index.ts +3 -0
- package/src/components/table/locales.ts +119 -4
- package/src/components/table/selection-toolbar.tsx +65 -9
- package/src/components/table/sorting.ts +80 -0
- package/src/components/table/table-skeleton.tsx +15 -9
- package/src/components/table/types.ts +17 -0
- package/src/components/tax-reports/index.ts +8 -0
- package/src/components/tax-reports/kir-export-form.tsx +4 -5
- package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
- package/src/components/tax-reports/slovenia-tax-profile-step.tsx +21 -10
- package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
- package/src/components/tax-reports/slovenia-yearly-export-form.tsx +17 -16
- package/src/components/tax-reports/slovenia-yearly-review-step.tsx +40 -18
- package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
- package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
- package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
- package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
- package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
- package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
- package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
- package/src/components/taxes/taxes.hooks.ts +53 -12
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/drawer.tsx +2 -2
- package/src/components/ui/form.tsx +118 -2
- package/src/components/ui/progress.tsx +6 -4
- package/src/components/ui/select.tsx +118 -1
- package/src/components/ui/sidebar.tsx +3 -2
- package/src/components/ui/sonner.tsx +17 -36
- package/src/components/ui/sticky-form-footer.tsx +6 -1
- package/src/components/ui/tooltip.tsx +15 -2
- package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
- package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
- package/src/components/wl-subscription/locked-feature.tsx +11 -10
- package/src/components/wl-subscription/paywall.tsx +184 -72
- package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
- package/src/generate-schemas.ts +17 -7
- package/src/generated/schemas/account_webhook.ts +43 -0
- package/src/generated/schemas/accountwebhook.ts +67 -0
- package/src/generated/schemas/entity.ts +343 -4
- package/src/generated/schemas/exportsloveniavodxml_body.ts +16 -0
- package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +27 -0
- package/src/generated/schemas/furssettings.ts +1 -0
- package/src/generated/schemas/incomingpurchasedocument.ts +198 -0
- package/src/generated/schemas/incomingpurchasedocumentpayment.ts +38 -0
- package/src/generated/schemas/index.ts +12 -0
- package/src/generated/schemas/item.ts +36 -0
- package/src/generated/schemas/me.ts +23 -19
- package/src/generated/schemas/order.ts +2 -0
- package/src/generated/schemas/orderintegration.ts +8 -4
- package/src/generated/schemas/payment.ts +5 -0
- package/src/generated/schemas/ptatcudseries.ts +30 -0
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +35 -3
- package/src/generated/schemas/rendercreditnotepreview_body.ts +35 -3
- package/src/generated/schemas/renderdeliverynotepreview_body.ts +12 -5
- package/src/generated/schemas/renderestimatepreview_body.ts +38 -5
- package/src/generated/schemas/renderinvoicepreview_body.ts +39 -5
- package/src/generated/schemas/senddocument_body.ts +1 -0
- package/src/generated/schemas/sendemail_body.ts +67 -39
- package/src/generated/schemas/sloveniataxprofile.ts +118 -0
- package/src/generated/schemas/starteslogexport_body.ts +33 -0
- package/src/generated/schemas/startpdfexport_body.ts +94 -78
- package/src/generated/schemas/supplier.ts +59 -0
- package/src/generated/schemas/syncshopifyorders_body.ts +20 -0
- package/src/generated/schemas/tax.ts +2 -0
- package/src/generated/schemas/uploadfile_body.ts +1 -0
- package/src/generated/schemas/userptsettings.ts +26 -0
- package/src/generated/schemas/voidinvoice_body.ts +20 -0
- package/src/generated/schemas/webhook.ts +2 -0
- package/src/hooks/create-resource-hooks.ts +22 -19
- package/src/hooks/use-duplicate-document.ts +10 -8
- package/src/hooks/use-eslog-validation.ts +5 -1
- package/src/hooks/use-next-document-number.ts +13 -6
- package/src/hooks/use-resolved-entity-id.ts +14 -0
- package/src/hooks/use-resource-mutation.ts +11 -30
- package/src/hooks/use-transaction-type-check.ts +3 -8
- package/src/lib/browser-cookies.ts +1 -1
- package/src/lib/country-capabilities.ts +114 -0
- package/src/lib/date-fns-locale.ts +1 -20
- package/src/lib/eslog-export.ts +32 -0
- package/src/lib/fiscalization-options.ts +21 -1
- package/src/lib/formatting.ts +27 -0
- package/src/lib/furs-error-utils.ts +29 -0
- package/src/lib/locale.ts +4 -0
- package/src/lib/payment-display.ts +95 -0
- package/src/lib/pt-document-input.ts +67 -0
- package/src/lib/schemas/shared.ts +1 -0
- package/src/lib/template-variables.tsx +102 -4
- package/src/lib/translation.ts +51 -33
- package/src/lib/white-label-capabilities.ts +626 -0
- package/src/lib/zod-validation-message.ts +291 -0
- package/src/providers/entities-provider.tsx +32 -14
- package/src/providers/sdk-provider.tsx +112 -12
- package/src/providers/space-invoices-provider.tsx +129 -0
- package/src/providers/white-label-provider.tsx +96 -4
- package/src/providers/wl-subscription-provider.tsx +144 -10
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Recipient: "Mottagare",
|
|
3
|
+
Name: "Namn",
|
|
4
|
+
Details: "Detaljer",
|
|
5
|
+
Number: "Nummer",
|
|
6
|
+
"Number format can be changed in settings": "Nummerformatet kan ändras i inställningarna",
|
|
7
|
+
Date: "Datum",
|
|
8
|
+
"Pick a date": "Välj ett datum",
|
|
9
|
+
"Due Date": "Förfallodatum",
|
|
10
|
+
"Valid Until": "Giltig till",
|
|
11
|
+
Items: "Artiklar",
|
|
12
|
+
"Add item": "Lägg till artikel",
|
|
13
|
+
Save: "Spara",
|
|
14
|
+
Update: "Uppdatera",
|
|
15
|
+
"Save as Draft": "Spara som utkast",
|
|
16
|
+
Quantity: "Antal",
|
|
17
|
+
Price: "Pris",
|
|
18
|
+
Unit: "Enhet",
|
|
19
|
+
Discount: "Rabatt",
|
|
20
|
+
Tax: "Skatt",
|
|
21
|
+
"Tax rate": "Skattesats",
|
|
22
|
+
"Add tax": "Lägg till skatt",
|
|
23
|
+
"Select tax...": "Välj skatt...",
|
|
24
|
+
"Loading...": "Laddar...",
|
|
25
|
+
"No taxes found": "Inga skatter hittades",
|
|
26
|
+
"Add new tax...": "Lägg till ny skatt...",
|
|
27
|
+
Description: "Beskrivning",
|
|
28
|
+
"Mark as Paid": "Markera som betald",
|
|
29
|
+
Paid: "Betald",
|
|
30
|
+
"Invoice will be marked as fully paid upon creation": "Fakturan markeras som fullt betald när den skapas",
|
|
31
|
+
"Payment Type": "Betalningstyp",
|
|
32
|
+
"Select payment type": "Välj betalningstyp",
|
|
33
|
+
Cash: "Kontant",
|
|
34
|
+
"Bank Transfer": "Banköverföring",
|
|
35
|
+
Card: "Kort",
|
|
36
|
+
Check: "Check",
|
|
37
|
+
Other: "Övrigt",
|
|
38
|
+
Note: "Anteckning",
|
|
39
|
+
"Insert variable": "Infoga variabel",
|
|
40
|
+
"Add payment instructions, terms, or other notes...":
|
|
41
|
+
"Lägg till betalningsinstruktioner, villkor eller andra anteckningar...",
|
|
42
|
+
Signature: "Signatur",
|
|
43
|
+
"Add signature text...": "Lägg till signaturtext...",
|
|
44
|
+
"Payment Terms": "Betalningsvillkor",
|
|
45
|
+
"Add payment terms...": "Lägg till betalningsvillkor...",
|
|
46
|
+
Entity: "Enhet",
|
|
47
|
+
Document: "Faktura",
|
|
48
|
+
Customer: "Kund",
|
|
49
|
+
"Company name": "Företagsnamn",
|
|
50
|
+
"Email address": "E-postadress",
|
|
51
|
+
"Invoice number": "Fakturanummer",
|
|
52
|
+
"Invoice date": "Fakturadatum",
|
|
53
|
+
"Due date": "Förfallodatum",
|
|
54
|
+
"Total amount": "Totalt belopp",
|
|
55
|
+
Currency: "Valuta",
|
|
56
|
+
"Select currency": "Välj valuta",
|
|
57
|
+
"Customer name": "Kundnamn",
|
|
58
|
+
"Customer email": "Kundens e-postadress",
|
|
59
|
+
"Today's date": "Dagens datum",
|
|
60
|
+
"Current year": "Aktuellt år",
|
|
61
|
+
"Search or create customer...": "Sök eller skapa kund...",
|
|
62
|
+
Clear: "Rensa",
|
|
63
|
+
Address: "Adress",
|
|
64
|
+
"Address 2": "Adress 2",
|
|
65
|
+
"Post Code": "Postnummer",
|
|
66
|
+
City: "Stad",
|
|
67
|
+
State: "Län",
|
|
68
|
+
Country: "Land",
|
|
69
|
+
"Tax Number": "Skattenummer",
|
|
70
|
+
"Percentage discount": "Procentuell rabatt",
|
|
71
|
+
"Fixed amount discount": "Fast rabattbelopp",
|
|
72
|
+
Percentage: "Procent",
|
|
73
|
+
"Fixed amount": "Fast belopp",
|
|
74
|
+
"FURS Fiscalization": "FURS-fiskalisering",
|
|
75
|
+
"Business Premise": "Affärslokal",
|
|
76
|
+
"Electronic Device": "Elektronisk enhet",
|
|
77
|
+
Premise: "Lokal",
|
|
78
|
+
Device: "Enhet",
|
|
79
|
+
"Select premise": "Välj verksamhetsställe",
|
|
80
|
+
"Select device": "Välj enhet",
|
|
81
|
+
"Skip Fiscalization": "Hoppa över fiskalisering",
|
|
82
|
+
"Skip fiscalization for this invoice (e.g., bank transfers or unpaid invoices)":
|
|
83
|
+
"Hoppa över fiskalisering för den här fakturan, till exempel vid banköverföringar eller obetalda fakturor",
|
|
84
|
+
"Cannot skip fiscalization for cash payments": "Det går inte att hoppa över fiskalisering för kontantbetalningar",
|
|
85
|
+
Skipped: "Överhoppad",
|
|
86
|
+
Enabled: "Aktiverad",
|
|
87
|
+
"Click to enable fiscalization": "Klicka för att aktivera fiskalisering",
|
|
88
|
+
"Fiscally verify": "Fiskalisera",
|
|
89
|
+
"Click to skip fiscalization for this invoice": "Klicka för att hoppa över fiskalisering för den här fakturan",
|
|
90
|
+
"e-SLOG": "e-SLOG",
|
|
91
|
+
"Click to skip e-SLOG validation for this invoice":
|
|
92
|
+
"Klicka för att hoppa över e-SLOG-validering för den här fakturan",
|
|
93
|
+
"Click to enable e-SLOG validation": "Klicka för att aktivera e-SLOG-validering",
|
|
94
|
+
"e-SLOG Validation Failed": "e-SLOG-valideringen misslyckades",
|
|
95
|
+
"The following entity settings need to be updated:": "Följande enhetsinställningar måste uppdateras:",
|
|
96
|
+
"Entity name is required for e-SLOG. Update in Settings > Company.":
|
|
97
|
+
"Enhetens namn krävs för e-SLOG. Uppdatera det under Inställningar > Företag.",
|
|
98
|
+
"Entity address is required for e-SLOG. Update in Settings > Company.":
|
|
99
|
+
"Enhetens adress krävs för e-SLOG. Uppdatera den under Inställningar > Företag.",
|
|
100
|
+
"Entity postal code is required for e-SLOG. Update in Settings > Company.":
|
|
101
|
+
"Enhetens postnummer krävs för e-SLOG. Uppdatera det under Inställningar > Företag.",
|
|
102
|
+
"Entity city is required for e-SLOG. Update in Settings > Company.":
|
|
103
|
+
"Enhetens stad krävs för e-SLOG. Uppdatera den under Inställningar > Företag.",
|
|
104
|
+
"Entity must be from Slovenia (SI) for e-SLOG.": "Enheten måste vara från Slovenien (SI) för e-SLOG.",
|
|
105
|
+
"Entity tax number is required for e-SLOG. Update in Settings > Company.":
|
|
106
|
+
"Enhetens skattenummer krävs för e-SLOG. Uppdatera det under Inställningar > Företag.",
|
|
107
|
+
"Slovenian tax number must be 8 digits.": "Slovenskt skattenummer måste bestå av 8 siffror.",
|
|
108
|
+
"Invoice date is required for e-SLOG.": "Fakturadatum krävs för e-SLOG.",
|
|
109
|
+
"Currency is required for e-SLOG.": "Valuta krävs för e-SLOG.",
|
|
110
|
+
"Entity currency must be EUR for e-SLOG when invoice uses a different currency.":
|
|
111
|
+
"Enhetens valuta måste vara EUR för e-SLOG när fakturan använder en annan valuta.",
|
|
112
|
+
"Customer name is required when customer is provided.": "Kundnamn krävs när en kund anges.",
|
|
113
|
+
"At least one line item is required for e-SLOG.": "Minst en radartikel krävs för e-SLOG.",
|
|
114
|
+
"Item name is required for e-SLOG.": "Artikelnamn krävs för e-SLOG.",
|
|
115
|
+
"Quantity must be greater than 0.": "Antalet måste vara större än 0.",
|
|
116
|
+
"Price is required for e-SLOG.": "Pris krävs för e-SLOG.",
|
|
117
|
+
"Invalid Slovenian tax rate {{rate}}%. Valid: {{validRates}}":
|
|
118
|
+
"Ogiltig slovensk skattesats {{rate}} %. Giltiga: {{validRates}}",
|
|
119
|
+
"Reverse charge - tax exempt EU B2B sale": "Omvänd skattskyldighet - momsfri EU-försäljning B2B",
|
|
120
|
+
"Taxes disabled": "Skatter inaktiverade",
|
|
121
|
+
"Gross price": "Bruttopris",
|
|
122
|
+
"Net price": "Nettopris",
|
|
123
|
+
"Gross price (tax included)": "Bruttopris (inklusive skatt)",
|
|
124
|
+
"Net price (before tax)": "Nettopris (före skatt)",
|
|
125
|
+
"Linked documents": "Länkade dokument",
|
|
126
|
+
Type: "Typ",
|
|
127
|
+
Total: "Totalt",
|
|
128
|
+
"Delivery note": "Följesedel",
|
|
129
|
+
Invoice: "Faktura",
|
|
130
|
+
Estimate: "Offert",
|
|
131
|
+
"Credit note": "Kreditnota",
|
|
132
|
+
"Advance invoice": "Förskottsfaktura",
|
|
133
|
+
"FINA fiscalized invoices always use the current date": "FINA-fiskaliserade fakturor använder alltid dagens datum",
|
|
134
|
+
"On receipt": "Vid mottagande",
|
|
135
|
+
"7 days": "7 dagar",
|
|
136
|
+
"14 days": "14 dagar",
|
|
137
|
+
"30 days": "30 dagar",
|
|
138
|
+
"60 days": "60 dagar",
|
|
139
|
+
"90 days": "90 dagar",
|
|
140
|
+
Custom: "Anpassad",
|
|
141
|
+
"Service Date": "Tjänstedatum",
|
|
142
|
+
"Single Date": "Ett datum",
|
|
143
|
+
"Date Range": "Datumintervall",
|
|
144
|
+
From: "Från",
|
|
145
|
+
To: "Till",
|
|
146
|
+
"Add separator": "Lägg till avgränsare",
|
|
147
|
+
"Section header": "Avsnittsrubrik",
|
|
148
|
+
"Section title...": "Rubrik för avsnitt...",
|
|
149
|
+
"Transaction type": "Transaktionstyp",
|
|
150
|
+
Domestic: "Inrikes",
|
|
151
|
+
"EU B2B": "EU B2B",
|
|
152
|
+
"EU B2C": "EU B2C",
|
|
153
|
+
"3W B2B": "3W B2B",
|
|
154
|
+
"3W B2C": "3W B2C",
|
|
155
|
+
"Determining transaction type...": "Bestämmer transaktionstyp...",
|
|
156
|
+
"This invoice will not be fiscalized (non-domestic transaction)":
|
|
157
|
+
"Den här fakturan kommer inte att fiskaliseras (ej inrikes transaktion)",
|
|
158
|
+
"Tax Clause": "Skatteklausul",
|
|
159
|
+
"Add tax clause...": "Lägg till skatteklausul...",
|
|
160
|
+
Footer: "Sidfot",
|
|
161
|
+
"Add document footer...": "Lägg till dokumentets sidfot...",
|
|
162
|
+
"End consumer": "Slutkonsument",
|
|
163
|
+
"Domestic B2B invoicing in Croatia is not supported": "Inrikes B2B-fakturering i Kroatien stöds inte",
|
|
164
|
+
"FINA fiscalization must be enabled for domestic invoices":
|
|
165
|
+
"FINA-fiskalisering måste vara aktiverad för inrikesfakturor",
|
|
166
|
+
} as const;
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import type { CreateInvoiceRequest } from "@spaceinvoices/js-sdk";
|
|
2
2
|
import type { CreateInvoiceSchema } from "@/ui/generated/schemas";
|
|
3
|
+
import { normalizePtDocumentInput, type PtDocumentInputForm } from "@/ui/lib/pt-document-input";
|
|
3
4
|
import { prepareDocumentSubmission } from "../../documents/create/prepare-document-submission";
|
|
4
5
|
|
|
5
6
|
type FursData = {
|
|
6
7
|
business_premise_name?: string;
|
|
7
8
|
electronic_device_name?: string;
|
|
8
9
|
skip?: boolean;
|
|
10
|
+
operator_tax_number?: string;
|
|
11
|
+
operator_label?: string;
|
|
9
12
|
};
|
|
10
13
|
|
|
11
14
|
type FinaData = {
|
|
12
15
|
business_premise_name?: string;
|
|
13
16
|
electronic_device_name?: string;
|
|
14
17
|
payment_type?: string;
|
|
18
|
+
operator_oib?: string;
|
|
19
|
+
operator_label?: string;
|
|
15
20
|
};
|
|
16
21
|
|
|
17
22
|
type EslogData = {
|
|
@@ -26,6 +31,7 @@ type PrepareOptions = {
|
|
|
26
31
|
wasCustomerFormShown?: boolean;
|
|
27
32
|
markAsPaid?: boolean;
|
|
28
33
|
paymentTypes?: string[];
|
|
34
|
+
payments?: Array<{ type: string; amount?: number }>;
|
|
29
35
|
/** FURS fiscalization data (for Slovenia) */
|
|
30
36
|
furs?: FursData;
|
|
31
37
|
/** FINA fiscalization data (for Croatia) */
|
|
@@ -42,12 +48,16 @@ type PrepareOptions = {
|
|
|
42
48
|
* Prepares invoice form data for API submission
|
|
43
49
|
* Handles customer data transformation, payment data, and FURS fiscalization
|
|
44
50
|
*/
|
|
45
|
-
export function prepareInvoiceSubmission(
|
|
51
|
+
export function prepareInvoiceSubmission(
|
|
52
|
+
values: CreateInvoiceSchema & { pt?: PtDocumentInputForm | null },
|
|
53
|
+
options: PrepareOptions,
|
|
54
|
+
): CreateInvoiceRequest {
|
|
46
55
|
const payload = prepareDocumentSubmission(values, {
|
|
47
56
|
originalCustomer: options.originalCustomer,
|
|
48
57
|
wasCustomerFormShown: options.wasCustomerFormShown,
|
|
49
58
|
markAsPaid: options.markAsPaid,
|
|
50
59
|
paymentTypes: options.paymentTypes,
|
|
60
|
+
payments: options.payments,
|
|
51
61
|
documentType: "invoice",
|
|
52
62
|
secondaryDate: values.date_due ?? undefined,
|
|
53
63
|
priceModes: options.priceModes,
|
|
@@ -64,6 +74,8 @@ export function prepareInvoiceSubmission(values: CreateInvoiceSchema, options: P
|
|
|
64
74
|
(payload as any).furs = {
|
|
65
75
|
business_premise_name: options.furs.business_premise_name,
|
|
66
76
|
electronic_device_name: options.furs.electronic_device_name,
|
|
77
|
+
...(options.furs.operator_tax_number ? { operator_tax_number: options.furs.operator_tax_number } : {}),
|
|
78
|
+
...(options.furs.operator_label ? { operator_label: options.furs.operator_label } : {}),
|
|
67
79
|
};
|
|
68
80
|
}
|
|
69
81
|
}
|
|
@@ -74,6 +86,8 @@ export function prepareInvoiceSubmission(values: CreateInvoiceSchema, options: P
|
|
|
74
86
|
business_premise_name: options.fina.business_premise_name,
|
|
75
87
|
electronic_device_name: options.fina.electronic_device_name,
|
|
76
88
|
...(options.fina.payment_type && { payment_type: options.fina.payment_type }),
|
|
89
|
+
...(options.fina.operator_oib ? { operator_oib: options.fina.operator_oib } : {}),
|
|
90
|
+
...(options.fina.operator_label ? { operator_label: options.fina.operator_label } : {}),
|
|
77
91
|
};
|
|
78
92
|
}
|
|
79
93
|
|
|
@@ -83,6 +97,9 @@ export function prepareInvoiceSubmission(values: CreateInvoiceSchema, options: P
|
|
|
83
97
|
validation_enabled: options.eslog.validation_enabled,
|
|
84
98
|
};
|
|
85
99
|
}
|
|
86
|
-
|
|
100
|
+
const pt = normalizePtDocumentInput(values.pt);
|
|
101
|
+
if (pt) {
|
|
102
|
+
(payload as any).pt = pt;
|
|
103
|
+
}
|
|
87
104
|
return payload;
|
|
88
105
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { advanceInvoices, creditNotes, deliveryNotes, invoices } from "@spaceinvoices/js-sdk";
|
|
1
2
|
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
2
|
-
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
3
3
|
|
|
4
4
|
interface VoidDocumentParams {
|
|
5
5
|
documentId: string;
|
|
6
6
|
documentType: "invoice" | "credit_note" | "advance_invoice" | "delivery_note";
|
|
7
7
|
entityId: string;
|
|
8
8
|
reason?: string;
|
|
9
|
+
hasOriginalDocument?: boolean;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -13,23 +14,25 @@ interface VoidDocumentParams {
|
|
|
13
14
|
* Automatically handles FURS/FINA technical cancellation for fiscalized documents
|
|
14
15
|
*/
|
|
15
16
|
export function useVoidDocument() {
|
|
16
|
-
const { sdk } = useSDK();
|
|
17
17
|
const queryClient = useQueryClient();
|
|
18
18
|
|
|
19
19
|
return useMutation({
|
|
20
|
-
mutationFn: async ({ documentId, documentType, entityId, reason }: VoidDocumentParams) => {
|
|
21
|
-
const body = {
|
|
20
|
+
mutationFn: async ({ documentId, documentType, entityId, reason, hasOriginalDocument }: VoidDocumentParams) => {
|
|
21
|
+
const body = {
|
|
22
|
+
reason: reason || undefined,
|
|
23
|
+
has_original_document: hasOriginalDocument,
|
|
24
|
+
};
|
|
22
25
|
const opts = { entity_id: entityId };
|
|
23
26
|
|
|
24
27
|
switch (documentType) {
|
|
25
28
|
case "invoice":
|
|
26
|
-
return
|
|
29
|
+
return invoices.void(documentId, body, opts);
|
|
27
30
|
case "credit_note":
|
|
28
|
-
return
|
|
31
|
+
return creditNotes.void(documentId, body, opts);
|
|
29
32
|
case "advance_invoice":
|
|
30
|
-
return
|
|
33
|
+
return advanceInvoices.void(documentId, body, opts);
|
|
31
34
|
case "delivery_note":
|
|
32
|
-
return
|
|
35
|
+
return deliveryNotes.void(documentId, body, opts);
|
|
33
36
|
}
|
|
34
37
|
},
|
|
35
38
|
onSuccess: (_, variables) => {
|
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
import type { CreateInvoice, Invoice } from "@spaceinvoices/js-sdk";
|
|
1
|
+
import type { CreateInvoice, Invoice, SDKMethodOptions, UpdateInvoice } from "@spaceinvoices/js-sdk";
|
|
2
|
+
import { documents, invoices } from "@spaceinvoices/js-sdk";
|
|
2
3
|
import { useQuery } from "@tanstack/react-query";
|
|
3
|
-
|
|
4
4
|
import { createResourceHooks } from "@/ui/hooks/create-resource-hooks";
|
|
5
|
-
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
6
5
|
|
|
7
6
|
// Define a constant for the invoices cache key
|
|
8
7
|
export const INVOICES_CACHE_KEY = "invoices";
|
|
9
8
|
export const NEXT_INVOICE_NUMBER_CACHE_KEY = "next-invoice-number";
|
|
10
9
|
|
|
10
|
+
const voidInvoice = async (id: string, options?: SDKMethodOptions): Promise<void> => {
|
|
11
|
+
await invoices.void(id, {}, options);
|
|
12
|
+
};
|
|
13
|
+
|
|
11
14
|
// Create invoice-specific hooks using the factory
|
|
12
15
|
const {
|
|
13
16
|
useCreateResource: useCreateInvoice,
|
|
14
17
|
useUpdateResource: useUpdateInvoice,
|
|
15
18
|
useDeleteResource: useDeleteInvoice,
|
|
16
|
-
} = createResourceHooks<Invoice, CreateInvoice>(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
} = createResourceHooks<Invoice, CreateInvoice, UpdateInvoice>(
|
|
20
|
+
{
|
|
21
|
+
create: invoices.create,
|
|
22
|
+
update: invoices.update,
|
|
23
|
+
delete: voidInvoice,
|
|
24
|
+
},
|
|
25
|
+
INVOICES_CACHE_KEY,
|
|
26
|
+
);
|
|
19
27
|
|
|
20
28
|
// Re-export document types for backward compatibility
|
|
21
29
|
export type { DocumentTypes } from "../documents/types";
|
|
30
|
+
export { useCreateInvoice, useDeleteInvoice, useUpdateInvoice };
|
|
22
31
|
|
|
23
32
|
// ============================================================================
|
|
24
33
|
// Next Invoice Number Preview
|
|
@@ -31,6 +40,16 @@ export type NextInvoiceNumberResponse = {
|
|
|
31
40
|
business_premise_name: string;
|
|
32
41
|
electronic_device_name: string;
|
|
33
42
|
} | null;
|
|
43
|
+
fina?: {
|
|
44
|
+
business_premise_name: string;
|
|
45
|
+
electronic_device_name: string;
|
|
46
|
+
} | null;
|
|
47
|
+
pt?: {
|
|
48
|
+
series_id: string;
|
|
49
|
+
series_code: string;
|
|
50
|
+
validation_code: string;
|
|
51
|
+
manual?: boolean;
|
|
52
|
+
} | null;
|
|
34
53
|
};
|
|
35
54
|
|
|
36
55
|
/**
|
|
@@ -45,8 +64,6 @@ export function useNextInvoiceNumber(
|
|
|
45
64
|
enabled?: boolean;
|
|
46
65
|
},
|
|
47
66
|
) {
|
|
48
|
-
const { sdk } = useSDK();
|
|
49
|
-
|
|
50
67
|
return useQuery<NextInvoiceNumberResponse>({
|
|
51
68
|
queryKey: [
|
|
52
69
|
NEXT_INVOICE_NUMBER_CACHE_KEY,
|
|
@@ -55,7 +72,7 @@ export function useNextInvoiceNumber(
|
|
|
55
72
|
options?.electronic_device_name,
|
|
56
73
|
],
|
|
57
74
|
queryFn: async () => {
|
|
58
|
-
const response = await
|
|
75
|
+
const response = await documents.getNextNumber(
|
|
59
76
|
{
|
|
60
77
|
type: "invoice",
|
|
61
78
|
business_premise_name: options?.business_premise_name,
|
|
@@ -65,7 +82,7 @@ export function useNextInvoiceNumber(
|
|
|
65
82
|
);
|
|
66
83
|
return response as NextInvoiceNumberResponse;
|
|
67
84
|
},
|
|
68
|
-
enabled: options?.enabled !== false && !!entityId
|
|
85
|
+
enabled: options?.enabled !== false && !!entityId,
|
|
69
86
|
staleTime: 0, // Always refetch when form opens or params change
|
|
70
87
|
});
|
|
71
88
|
}
|
|
@@ -12,11 +12,18 @@ import {
|
|
|
12
12
|
DropdownMenuSeparator,
|
|
13
13
|
DropdownMenuTrigger,
|
|
14
14
|
} from "@/ui/components/ui/dropdown-menu";
|
|
15
|
+
import { actionMenuTooltipProps, Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
|
|
15
16
|
import type { ComponentTranslationProps } from "@/ui/lib/translation";
|
|
16
17
|
import { createTranslation } from "@/ui/lib/translation";
|
|
17
18
|
import { SendEmailDialog } from "../send-email-dialog";
|
|
18
19
|
import { useInvoiceDownload } from "./use-invoice-download";
|
|
19
20
|
|
|
21
|
+
const translations = {
|
|
22
|
+
sl: {
|
|
23
|
+
"This document is already voided.": "Ta dokument je že storniran.",
|
|
24
|
+
},
|
|
25
|
+
} as const;
|
|
26
|
+
|
|
20
27
|
type InvoiceListRowActionsProps = {
|
|
21
28
|
invoice: Invoice;
|
|
22
29
|
onView?: (invoice: Invoice) => void;
|
|
@@ -29,6 +36,7 @@ type InvoiceListRowActionsProps = {
|
|
|
29
36
|
isUnsharing?: boolean;
|
|
30
37
|
onVoid?: (invoice: Invoice) => void;
|
|
31
38
|
isVoiding?: boolean;
|
|
39
|
+
allowSendEmail?: boolean;
|
|
32
40
|
} & ComponentTranslationProps;
|
|
33
41
|
|
|
34
42
|
export default memo(function InvoiceListRowActions({
|
|
@@ -43,9 +51,10 @@ export default memo(function InvoiceListRowActions({
|
|
|
43
51
|
isUnsharing,
|
|
44
52
|
onVoid,
|
|
45
53
|
isVoiding,
|
|
54
|
+
allowSendEmail = true,
|
|
46
55
|
...i18nProps
|
|
47
56
|
}: InvoiceListRowActionsProps) {
|
|
48
|
-
const t = createTranslation(i18nProps);
|
|
57
|
+
const t = createTranslation({ ...i18nProps, translations });
|
|
49
58
|
const [emailDialogOpen, setEmailDialogOpen] = useState(false);
|
|
50
59
|
const { isDownloading, downloadPDF } = useInvoiceDownload({
|
|
51
60
|
onDownloadStart,
|
|
@@ -81,10 +90,12 @@ export default memo(function InvoiceListRowActions({
|
|
|
81
90
|
<Download className="h-4 w-4" />
|
|
82
91
|
{isDownloading ? t("Downloading...") : t("Download PDF")}
|
|
83
92
|
</DropdownMenuItem>
|
|
84
|
-
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
93
|
+
{allowSendEmail && (
|
|
94
|
+
<DropdownMenuItem className="cursor-pointer" onClick={() => setEmailDialogOpen(true)}>
|
|
95
|
+
<Mail className="h-4 w-4" />
|
|
96
|
+
{t("Send Email")}
|
|
97
|
+
</DropdownMenuItem>
|
|
98
|
+
)}
|
|
88
99
|
{onDuplicate && (
|
|
89
100
|
<DropdownMenuItem className="cursor-pointer" onClick={() => onDuplicate(invoice)}>
|
|
90
101
|
<Copy className="h-4 w-4" />
|
|
@@ -118,30 +129,52 @@ export default memo(function InvoiceListRowActions({
|
|
|
118
129
|
</DropdownMenuGroup>
|
|
119
130
|
</>
|
|
120
131
|
)}
|
|
121
|
-
{onVoid && !
|
|
132
|
+
{onVoid && !(invoice as any).is_draft && (
|
|
122
133
|
<>
|
|
123
134
|
<DropdownMenuSeparator />
|
|
124
135
|
<DropdownMenuGroup>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
136
|
+
{(() => {
|
|
137
|
+
const disabledReason = invoice?.voided_at ? t("This document is already voided.") : undefined;
|
|
138
|
+
const item = (
|
|
139
|
+
<DropdownMenuItem
|
|
140
|
+
className="cursor-pointer text-destructive focus:text-destructive"
|
|
141
|
+
onClick={disabledReason ? undefined : () => onVoid(invoice)}
|
|
142
|
+
disabled={isVoiding || !!disabledReason}
|
|
143
|
+
>
|
|
144
|
+
{isVoiding ? <Loader2 className="h-4 w-4 animate-spin" /> : <Ban className="h-4 w-4" />}
|
|
145
|
+
{t("Void")}
|
|
146
|
+
</DropdownMenuItem>
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
if (!disabledReason) return item;
|
|
150
|
+
|
|
151
|
+
return (
|
|
152
|
+
<Tooltip>
|
|
153
|
+
<TooltipTrigger asChild>
|
|
154
|
+
<div>{item}</div>
|
|
155
|
+
</TooltipTrigger>
|
|
156
|
+
<TooltipContent side="left" {...actionMenuTooltipProps}>
|
|
157
|
+
{disabledReason}
|
|
158
|
+
</TooltipContent>
|
|
159
|
+
</Tooltip>
|
|
160
|
+
);
|
|
161
|
+
})()}
|
|
133
162
|
</DropdownMenuGroup>
|
|
134
163
|
</>
|
|
135
164
|
)}
|
|
136
165
|
</DropdownMenuContent>
|
|
137
166
|
</DropdownMenu>
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
167
|
+
{allowSendEmail && (
|
|
168
|
+
<SendEmailDialog
|
|
169
|
+
document={invoice}
|
|
170
|
+
defaultEmail={invoice.customer?.email || ""}
|
|
171
|
+
open={emailDialogOpen}
|
|
172
|
+
onOpenChange={setEmailDialogOpen}
|
|
173
|
+
locale={i18nProps.locale}
|
|
174
|
+
translationFn={t}
|
|
175
|
+
translationLocale={i18nProps.translationLocale}
|
|
176
|
+
/>
|
|
177
|
+
)}
|
|
145
178
|
</>
|
|
146
179
|
);
|
|
147
180
|
});
|