@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.
Files changed (638) hide show
  1. package/README.md +24 -8
  2. package/cli/dist/index.js +89 -26
  3. package/package.json +6 -2
  4. package/registry.json +30 -31
  5. package/spaceinvoices.schema.json +6 -1
  6. package/src/common/autocomplete.tsx +41 -25
  7. package/src/components/activities/locales/bg.ts +21 -0
  8. package/src/components/activities/locales/cs.ts +21 -0
  9. package/src/components/activities/locales/en.ts +21 -0
  10. package/src/components/activities/locales/et.ts +21 -0
  11. package/src/components/activities/locales/fi.ts +21 -0
  12. package/src/components/activities/locales/is.ts +21 -0
  13. package/src/components/activities/locales/nb.ts +21 -0
  14. package/src/components/activities/locales/sk.ts +21 -0
  15. package/src/components/activities/locales/sv.ts +21 -0
  16. package/src/components/advance-invoices/advance-invoices.hooks.ts +2 -3
  17. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +290 -69
  18. package/src/components/advance-invoices/create/locales/bg.ts +48 -0
  19. package/src/components/advance-invoices/create/locales/cs.ts +48 -0
  20. package/src/components/advance-invoices/create/locales/en.ts +48 -0
  21. package/src/components/advance-invoices/create/locales/et.ts +48 -0
  22. package/src/components/advance-invoices/create/locales/fi.ts +48 -0
  23. package/src/components/advance-invoices/create/locales/hr.ts +17 -17
  24. package/src/components/advance-invoices/create/locales/is.ts +48 -0
  25. package/src/components/advance-invoices/create/locales/nb.ts +48 -0
  26. package/src/components/advance-invoices/create/locales/sk.ts +48 -0
  27. package/src/components/advance-invoices/create/locales/sl.ts +9 -7
  28. package/src/components/advance-invoices/create/locales/sv.ts +48 -0
  29. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +16 -2
  30. package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
  31. package/src/components/advance-invoices/list/list-table.tsx +33 -8
  32. package/src/components/advance-invoices/list/locales/bg.ts +51 -0
  33. package/src/components/advance-invoices/list/locales/cs.ts +51 -0
  34. package/src/components/advance-invoices/list/locales/en.ts +33 -2
  35. package/src/components/advance-invoices/list/locales/et.ts +51 -0
  36. package/src/components/advance-invoices/list/locales/fi.ts +51 -0
  37. package/src/components/advance-invoices/list/locales/hr.ts +15 -15
  38. package/src/components/advance-invoices/list/locales/is.ts +51 -0
  39. package/src/components/advance-invoices/list/locales/nb.ts +51 -0
  40. package/src/components/advance-invoices/list/locales/sk.ts +51 -0
  41. package/src/components/advance-invoices/list/locales/sv.ts +51 -0
  42. package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
  43. package/src/components/common/autocomplete-locales.ts +101 -0
  44. package/src/components/company-registry/company-registry.hooks.ts +3 -7
  45. package/src/components/credit-notes/create/create-credit-note-form.tsx +211 -22
  46. package/src/components/credit-notes/create/locales/bg.ts +87 -0
  47. package/src/components/credit-notes/create/locales/cs.ts +87 -0
  48. package/src/components/credit-notes/create/locales/en.ts +87 -0
  49. package/src/components/credit-notes/create/locales/et.ts +87 -0
  50. package/src/components/credit-notes/create/locales/fi.ts +87 -0
  51. package/src/components/credit-notes/create/locales/hr.ts +24 -24
  52. package/src/components/credit-notes/create/locales/is.ts +87 -0
  53. package/src/components/credit-notes/create/locales/nb.ts +87 -0
  54. package/src/components/credit-notes/create/locales/sk.ts +87 -0
  55. package/src/components/credit-notes/create/locales/sl.ts +9 -9
  56. package/src/components/credit-notes/create/locales/sv.ts +87 -0
  57. package/src/components/credit-notes/create/prepare-credit-note-submission.ts +32 -0
  58. package/src/components/credit-notes/credit-notes.hooks.ts +15 -3
  59. package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
  60. package/src/components/credit-notes/list/list-table.tsx +58 -7
  61. package/src/components/credit-notes/list/locales/bg.ts +48 -0
  62. package/src/components/credit-notes/list/locales/cs.ts +48 -0
  63. package/src/components/credit-notes/list/locales/en.ts +31 -2
  64. package/src/components/credit-notes/list/locales/et.ts +48 -0
  65. package/src/components/credit-notes/list/locales/fi.ts +48 -0
  66. package/src/components/credit-notes/list/locales/hr.ts +12 -12
  67. package/src/components/credit-notes/list/locales/is.ts +48 -0
  68. package/src/components/credit-notes/list/locales/nb.ts +48 -0
  69. package/src/components/credit-notes/list/locales/sk.ts +48 -0
  70. package/src/components/credit-notes/list/locales/sv.ts +48 -0
  71. package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
  72. package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
  73. package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
  74. package/src/components/customers/create-customer-form/locales/en.ts +21 -0
  75. package/src/components/customers/create-customer-form/locales/et.ts +21 -0
  76. package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
  77. package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
  78. package/src/components/customers/create-customer-form/locales/is.ts +21 -0
  79. package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
  80. package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
  81. package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
  82. package/src/components/customers/customer-autocomplete.tsx +32 -4
  83. package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
  84. package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
  85. package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
  86. package/src/components/customers/customer-list-table/locales/en.ts +17 -2
  87. package/src/components/customers/customer-list-table/locales/et.ts +25 -0
  88. package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
  89. package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
  90. package/src/components/customers/customer-list-table/locales/is.ts +25 -0
  91. package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
  92. package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
  93. package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
  94. package/src/components/customers/customers.hooks.ts +14 -17
  95. package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
  96. package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
  97. package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
  98. package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
  99. package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
  100. package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
  101. package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
  102. package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
  103. package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
  104. package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
  105. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
  106. package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
  107. package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
  108. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
  109. package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
  110. package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
  111. package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
  112. package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
  113. package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
  114. package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
  115. package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
  116. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
  117. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
  118. package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
  119. package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
  120. package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
  121. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
  122. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
  123. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
  124. package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
  125. package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
  126. package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
  127. package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
  128. package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
  129. package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
  130. package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
  131. package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
  132. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
  133. package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
  134. package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
  135. package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
  136. package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
  137. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
  138. package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
  139. package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
  140. package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
  141. package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
  142. package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
  143. package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
  144. package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
  145. package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
  146. package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
  147. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
  148. package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
  149. package/src/components/dashboard/revenue-card.tsx +3 -3
  150. package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
  151. package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
  152. package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
  153. package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
  154. package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
  155. package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
  156. package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
  157. package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
  158. package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
  159. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
  160. package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
  161. package/src/components/dashboard/shared/local-date.ts +11 -0
  162. package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
  163. package/src/components/dashboard/shared/use-stats-query.ts +7 -11
  164. package/src/components/dashboard/stat-card.tsx +3 -3
  165. package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
  166. package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
  167. package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
  168. package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
  169. package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
  170. package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
  171. package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
  172. package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
  173. package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
  174. package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
  175. package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
  176. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
  177. package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
  178. package/src/components/delivery-notes/create/create-delivery-note-form.tsx +61 -31
  179. package/src/components/delivery-notes/create/locales/bg.ts +68 -0
  180. package/src/components/delivery-notes/create/locales/cs.ts +68 -0
  181. package/src/components/delivery-notes/create/locales/en.ts +68 -0
  182. package/src/components/delivery-notes/create/locales/et.ts +68 -0
  183. package/src/components/delivery-notes/create/locales/fi.ts +68 -0
  184. package/src/components/delivery-notes/create/locales/hr.ts +6 -6
  185. package/src/components/delivery-notes/create/locales/is.ts +68 -0
  186. package/src/components/delivery-notes/create/locales/nb.ts +68 -0
  187. package/src/components/delivery-notes/create/locales/sk.ts +68 -0
  188. package/src/components/delivery-notes/create/locales/sl.ts +5 -5
  189. package/src/components/delivery-notes/create/locales/sv.ts +68 -0
  190. package/src/components/delivery-notes/delivery-notes.hooks.ts +20 -3
  191. package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
  192. package/src/components/delivery-notes/list/list-table.tsx +42 -9
  193. package/src/components/delivery-notes/list/locales/bg.ts +40 -0
  194. package/src/components/delivery-notes/list/locales/cs.ts +40 -0
  195. package/src/components/delivery-notes/list/locales/et.ts +40 -0
  196. package/src/components/delivery-notes/list/locales/fi.ts +40 -0
  197. package/src/components/delivery-notes/list/locales/is.ts +40 -0
  198. package/src/components/delivery-notes/list/locales/nb.ts +40 -0
  199. package/src/components/delivery-notes/list/locales/sk.ts +40 -0
  200. package/src/components/delivery-notes/list/locales/sv.ts +40 -0
  201. package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
  202. package/src/components/documents/create/document-add-item-form.tsx +256 -147
  203. package/src/components/documents/create/document-add-item-tax-rate-field.tsx +2 -1
  204. package/src/components/documents/create/document-details-section.tsx +30 -12
  205. package/src/components/documents/create/document-item-validation.ts +50 -0
  206. package/src/components/documents/create/document-items-section.tsx +44 -6
  207. package/src/components/documents/create/document-recipient-section.tsx +10 -2
  208. package/src/components/documents/create/linked-documents-info.tsx +4 -3
  209. package/src/components/documents/create/live-preview.tsx +19 -15
  210. package/src/components/documents/create/mark-as-paid-section.tsx +77 -20
  211. package/src/components/documents/create/payment-rows.ts +291 -0
  212. package/src/components/documents/create/prepare-document-submission.ts +24 -13
  213. package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
  214. package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
  215. package/src/components/documents/create/use-document-customer-form.ts +74 -25
  216. package/src/components/documents/documents.hooks.ts +3 -5
  217. package/src/components/documents/index.ts +1 -0
  218. package/src/components/documents/public/index.ts +1 -0
  219. package/src/components/documents/public/public-document-summary.tsx +343 -0
  220. package/src/components/documents/shared/document-preview-display.tsx +65 -39
  221. package/src/components/documents/shared/index.ts +6 -1
  222. package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
  223. package/src/components/documents/types.ts +24 -0
  224. package/src/components/documents/view/document-actions-bar.tsx +241 -62
  225. package/src/components/documents/view/document-activities-list.tsx +23 -11
  226. package/src/components/documents/view/document-details-card.tsx +7 -27
  227. package/src/components/documents/view/document-payments-list.tsx +114 -57
  228. package/src/components/documents/view/document-relations-list.tsx +26 -6
  229. package/src/components/documents/view/document-sidebar.tsx +25 -3
  230. package/src/components/documents/view/document-version-history.tsx +137 -0
  231. package/src/components/documents/view/index.ts +1 -0
  232. package/src/components/documents/view/locales/bg.ts +143 -0
  233. package/src/components/documents/view/locales/cs.ts +143 -0
  234. package/src/components/documents/view/locales/de.ts +13 -0
  235. package/src/components/documents/view/locales/en.ts +143 -0
  236. package/src/components/documents/view/locales/es.ts +13 -0
  237. package/src/components/documents/view/locales/et.ts +143 -0
  238. package/src/components/documents/view/locales/fi.ts +143 -0
  239. package/src/components/documents/view/locales/fr.ts +13 -0
  240. package/src/components/documents/view/locales/hr.ts +13 -0
  241. package/src/components/documents/view/locales/is.ts +143 -0
  242. package/src/components/documents/view/locales/it.ts +13 -0
  243. package/src/components/documents/view/locales/nb.ts +143 -0
  244. package/src/components/documents/view/locales/nl.ts +13 -0
  245. package/src/components/documents/view/locales/pl.ts +13 -0
  246. package/src/components/documents/view/locales/pt.ts +13 -0
  247. package/src/components/documents/view/locales/sk.ts +143 -0
  248. package/src/components/documents/view/locales/sl.ts +13 -0
  249. package/src/components/documents/view/locales/sv.ts +143 -0
  250. package/src/components/documents/view/use-document-download.ts +18 -17
  251. package/src/components/entities/create-entity-form.tsx +200 -12
  252. package/src/components/entities/entities.hooks.ts +15 -7
  253. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +131 -75
  254. package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
  255. package/src/components/entities/entity-settings-form/locales/bg.ts +199 -0
  256. package/src/components/entities/entity-settings-form/locales/cs.ts +199 -0
  257. package/src/components/entities/entity-settings-form/locales/de.ts +18 -3
  258. package/src/components/entities/entity-settings-form/locales/en.ts +199 -0
  259. package/src/components/entities/entity-settings-form/locales/es.ts +18 -3
  260. package/src/components/entities/entity-settings-form/locales/et.ts +198 -0
  261. package/src/components/entities/entity-settings-form/locales/fi.ts +199 -0
  262. package/src/components/entities/entity-settings-form/locales/fr.ts +18 -3
  263. package/src/components/entities/entity-settings-form/locales/hr.ts +26 -11
  264. package/src/components/entities/entity-settings-form/locales/is.ts +199 -0
  265. package/src/components/entities/entity-settings-form/locales/it.ts +18 -3
  266. package/src/components/entities/entity-settings-form/locales/nb.ts +199 -0
  267. package/src/components/entities/entity-settings-form/locales/nl.ts +18 -3
  268. package/src/components/entities/entity-settings-form/locales/pl.ts +18 -3
  269. package/src/components/entities/entity-settings-form/locales/pt.ts +18 -3
  270. package/src/components/entities/entity-settings-form/locales/sk.ts +199 -0
  271. package/src/components/entities/entity-settings-form/locales/sl.ts +30 -15
  272. package/src/components/entities/entity-settings-form/locales/sv.ts +205 -0
  273. package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
  274. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
  275. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
  276. package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
  277. package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
  278. package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
  279. package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
  280. package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
  281. package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
  282. package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
  283. package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
  284. package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
  285. package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
  286. package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
  287. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
  288. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
  289. package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
  290. package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
  291. package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
  292. package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
  293. package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
  294. package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
  295. package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
  296. package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
  297. package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
  298. package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
  299. package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
  300. package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
  301. package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
  302. package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
  303. package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
  304. package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
  305. package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
  306. package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
  307. package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
  308. package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
  309. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
  310. package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
  311. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
  312. package/src/components/entities/settings/branding-settings-form.tsx +11 -30
  313. package/src/components/entities/settings/company-settings-form.tsx +2 -1
  314. package/src/components/entities/settings/defaults-settings-form.tsx +112 -9
  315. package/src/components/entities/settings/email-settings-form.tsx +245 -3
  316. package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
  317. package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
  318. package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
  319. package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
  320. package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
  321. package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
  322. package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
  323. package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
  324. package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
  325. package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
  326. package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
  327. package/src/components/entities/settings/tax-rules-settings-form.tsx +21 -6
  328. package/src/components/estimates/create/create-estimate-form.tsx +70 -34
  329. package/src/components/estimates/create/locales/bg.ts +76 -0
  330. package/src/components/estimates/create/locales/cs.ts +76 -0
  331. package/src/components/estimates/create/locales/en.ts +76 -0
  332. package/src/components/estimates/create/locales/et.ts +76 -0
  333. package/src/components/estimates/create/locales/fi.ts +76 -0
  334. package/src/components/estimates/create/locales/hr.ts +8 -8
  335. package/src/components/estimates/create/locales/is.ts +76 -0
  336. package/src/components/estimates/create/locales/nb.ts +76 -0
  337. package/src/components/estimates/create/locales/sk.ts +76 -0
  338. package/src/components/estimates/create/locales/sl.ts +8 -8
  339. package/src/components/estimates/create/locales/sv.ts +76 -0
  340. package/src/components/estimates/create/prepare-estimate-submission.ts +4 -1
  341. package/src/components/estimates/estimates.hooks.ts +15 -3
  342. package/src/components/estimates/list/list-row-actions.tsx +34 -7
  343. package/src/components/estimates/list/list-table.tsx +78 -10
  344. package/src/components/estimates/list/locales/bg.ts +38 -0
  345. package/src/components/estimates/list/locales/cs.ts +38 -0
  346. package/src/components/estimates/list/locales/en.ts +27 -2
  347. package/src/components/estimates/list/locales/et.ts +38 -0
  348. package/src/components/estimates/list/locales/fi.ts +38 -0
  349. package/src/components/estimates/list/locales/hr.ts +2 -2
  350. package/src/components/estimates/list/locales/is.ts +38 -0
  351. package/src/components/estimates/list/locales/nb.ts +38 -0
  352. package/src/components/estimates/list/locales/sk.ts +38 -0
  353. package/src/components/estimates/list/locales/sv.ts +38 -0
  354. package/src/components/estimates/list/use-estimate-download.ts +3 -5
  355. package/src/components/export/document-export-form.tsx +72 -15
  356. package/src/components/export/sales-per-item-export-form.tsx +3 -2
  357. package/src/components/invoices/create/create-invoice-form.tsx +294 -76
  358. package/src/components/invoices/create/eslog-validation.ts +97 -8
  359. package/src/components/invoices/create/locales/bg.ts +164 -0
  360. package/src/components/invoices/create/locales/cs.ts +164 -0
  361. package/src/components/invoices/create/locales/de.ts +24 -0
  362. package/src/components/invoices/create/locales/en.ts +164 -0
  363. package/src/components/invoices/create/locales/es.ts +24 -0
  364. package/src/components/invoices/create/locales/et.ts +164 -0
  365. package/src/components/invoices/create/locales/fi.ts +164 -0
  366. package/src/components/invoices/create/locales/fr.ts +23 -0
  367. package/src/components/invoices/create/locales/hr.ts +32 -9
  368. package/src/components/invoices/create/locales/is.ts +164 -0
  369. package/src/components/invoices/create/locales/it.ts +24 -0
  370. package/src/components/invoices/create/locales/nb.ts +164 -0
  371. package/src/components/invoices/create/locales/nl.ts +23 -0
  372. package/src/components/invoices/create/locales/pl.ts +23 -0
  373. package/src/components/invoices/create/locales/pt.ts +24 -0
  374. package/src/components/invoices/create/locales/sk.ts +164 -0
  375. package/src/components/invoices/create/locales/sl.ts +32 -9
  376. package/src/components/invoices/create/locales/sv.ts +166 -0
  377. package/src/components/invoices/create/prepare-invoice-submission.ts +19 -2
  378. package/src/components/invoices/invoices-furs.hooks.ts +11 -8
  379. package/src/components/invoices/invoices.hooks.ts +27 -10
  380. package/src/components/invoices/list/list-row-actions.tsx +54 -21
  381. package/src/components/invoices/list/list-table.tsx +92 -11
  382. package/src/components/invoices/list/locales/bg.ts +49 -0
  383. package/src/components/invoices/list/locales/cs.ts +49 -0
  384. package/src/components/invoices/list/locales/en.ts +34 -2
  385. package/src/components/invoices/list/locales/et.ts +49 -0
  386. package/src/components/invoices/list/locales/fi.ts +49 -0
  387. package/src/components/invoices/list/locales/is.ts +49 -0
  388. package/src/components/invoices/list/locales/nb.ts +49 -0
  389. package/src/components/invoices/list/locales/sk.ts +49 -0
  390. package/src/components/invoices/list/locales/sv.ts +49 -0
  391. package/src/components/invoices/list/use-invoice-download.ts +3 -5
  392. package/src/components/invoices/send-email-dialog/locales/bg.ts +58 -0
  393. package/src/components/invoices/send-email-dialog/locales/cs.ts +58 -0
  394. package/src/components/invoices/send-email-dialog/locales/de.ts +39 -0
  395. package/src/components/invoices/send-email-dialog/locales/en.ts +58 -0
  396. package/src/components/invoices/send-email-dialog/locales/es.ts +39 -0
  397. package/src/components/invoices/send-email-dialog/locales/et.ts +58 -0
  398. package/src/components/invoices/send-email-dialog/locales/fi.ts +58 -0
  399. package/src/components/invoices/send-email-dialog/locales/fr.ts +39 -0
  400. package/src/components/invoices/send-email-dialog/locales/hr.ts +39 -0
  401. package/src/components/invoices/send-email-dialog/locales/is.ts +58 -0
  402. package/src/components/invoices/send-email-dialog/locales/it.ts +39 -0
  403. package/src/components/invoices/send-email-dialog/locales/nb.ts +58 -0
  404. package/src/components/invoices/send-email-dialog/locales/nl.ts +39 -0
  405. package/src/components/invoices/send-email-dialog/locales/pl.ts +39 -0
  406. package/src/components/invoices/send-email-dialog/locales/pt.ts +39 -0
  407. package/src/components/invoices/send-email-dialog/locales/sk.ts +58 -0
  408. package/src/components/invoices/send-email-dialog/locales/sl.ts +39 -0
  409. package/src/components/invoices/send-email-dialog/locales/sv.ts +58 -0
  410. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +188 -93
  411. package/src/components/invoices/view/eslog-info-display.tsx +2 -0
  412. package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
  413. package/src/components/items/create-item-form/create-item-form.tsx +29 -0
  414. package/src/components/items/create-item-form/locales/bg.ts +13 -0
  415. package/src/components/items/create-item-form/locales/cs.ts +13 -0
  416. package/src/components/items/create-item-form/locales/et.ts +13 -0
  417. package/src/components/items/create-item-form/locales/fi.ts +13 -0
  418. package/src/components/items/create-item-form/locales/is.ts +13 -0
  419. package/src/components/items/create-item-form/locales/nb.ts +13 -0
  420. package/src/components/items/create-item-form/locales/sk.ts +13 -0
  421. package/src/components/items/create-item-form/locales/sv.ts +13 -0
  422. package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
  423. package/src/components/items/edit-item-form/locales/bg.ts +12 -0
  424. package/src/components/items/edit-item-form/locales/cs.ts +12 -0
  425. package/src/components/items/edit-item-form/locales/en.ts +12 -0
  426. package/src/components/items/edit-item-form/locales/et.ts +12 -0
  427. package/src/components/items/edit-item-form/locales/fi.ts +12 -0
  428. package/src/components/items/edit-item-form/locales/is.ts +12 -0
  429. package/src/components/items/edit-item-form/locales/nb.ts +12 -0
  430. package/src/components/items/edit-item-form/locales/sk.ts +12 -0
  431. package/src/components/items/edit-item-form/locales/sv.ts +12 -0
  432. package/src/components/items/item-combobox.tsx +51 -18
  433. package/src/components/items/item-list-table/item-list-table.tsx +47 -23
  434. package/src/components/items/item-list-table/locales/bg.ts +16 -0
  435. package/src/components/items/item-list-table/locales/cs.ts +16 -0
  436. package/src/components/items/item-list-table/locales/en.ts +4 -3
  437. package/src/components/items/item-list-table/locales/et.ts +16 -0
  438. package/src/components/items/item-list-table/locales/fi.ts +16 -0
  439. package/src/components/items/item-list-table/locales/is.ts +16 -0
  440. package/src/components/items/item-list-table/locales/nb.ts +16 -0
  441. package/src/components/items/item-list-table/locales/sk.ts +16 -0
  442. package/src/components/items/item-list-table/locales/sv.ts +16 -0
  443. package/src/components/items/items.hooks.ts +15 -15
  444. package/src/components/payments/create-payment-form/create-payment-form.tsx +11 -7
  445. package/src/components/payments/create-payment-form/index.ts +1 -0
  446. package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
  447. package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
  448. package/src/components/payments/create-payment-form/locales/en.ts +20 -0
  449. package/src/components/payments/create-payment-form/locales/et.ts +20 -0
  450. package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
  451. package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
  452. package/src/components/payments/create-payment-form/locales/is.ts +20 -0
  453. package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
  454. package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
  455. package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
  456. package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
  457. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +5 -1
  458. package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
  459. package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
  460. package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
  461. package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
  462. package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
  463. package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
  464. package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
  465. package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
  466. package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
  467. package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
  468. package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
  469. package/src/components/payments/list/list-row-actions.tsx +10 -2
  470. package/src/components/payments/list/list-table.tsx +51 -45
  471. package/src/components/payments/list/locales/bg.ts +42 -0
  472. package/src/components/payments/list/locales/cs.ts +42 -0
  473. package/src/components/payments/list/locales/de.ts +18 -0
  474. package/src/components/payments/list/locales/en.ts +37 -2
  475. package/src/components/payments/list/locales/es.ts +18 -0
  476. package/src/components/payments/list/locales/et.ts +42 -0
  477. package/src/components/payments/list/locales/fi.ts +42 -0
  478. package/src/components/payments/list/locales/fr.ts +18 -0
  479. package/src/components/payments/list/locales/hr.ts +18 -0
  480. package/src/components/payments/list/locales/is.ts +42 -0
  481. package/src/components/payments/list/locales/it.ts +18 -0
  482. package/src/components/payments/list/locales/nb.ts +42 -0
  483. package/src/components/payments/list/locales/nl.ts +18 -0
  484. package/src/components/payments/list/locales/pl.ts +18 -0
  485. package/src/components/payments/list/locales/pt.ts +18 -0
  486. package/src/components/payments/list/locales/sk.ts +42 -0
  487. package/src/components/payments/list/locales/sl.ts +18 -1
  488. package/src/components/payments/list/locales/sv.ts +42 -0
  489. package/src/components/payments/payments.hooks.ts +13 -6
  490. package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +23 -17
  491. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
  492. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
  493. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
  494. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
  495. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
  496. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
  497. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
  498. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
  499. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
  500. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
  501. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
  502. package/src/components/recurring-invoices/list/list-row-actions.tsx +3 -5
  503. package/src/components/recurring-invoices/list/list-table.tsx +10 -7
  504. package/src/components/recurring-invoices/list/locales/bg.ts +28 -0
  505. package/src/components/recurring-invoices/list/locales/cs.ts +28 -0
  506. package/src/components/recurring-invoices/list/locales/en.ts +23 -0
  507. package/src/components/recurring-invoices/list/locales/et.ts +28 -0
  508. package/src/components/recurring-invoices/list/locales/fi.ts +28 -0
  509. package/src/components/recurring-invoices/list/locales/is.ts +28 -0
  510. package/src/components/recurring-invoices/list/locales/nb.ts +28 -0
  511. package/src/components/recurring-invoices/list/locales/sk.ts +28 -0
  512. package/src/components/recurring-invoices/list/locales/sv.ts +28 -0
  513. package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
  514. package/src/components/request-logs/request-log-detail.tsx +30 -23
  515. package/src/components/request-logs/request-log-list-table.tsx +88 -45
  516. package/src/components/table/README.md +47 -9
  517. package/src/components/table/data-table.tsx +232 -92
  518. package/src/components/table/filter-bar.tsx +1 -1
  519. package/src/components/table/filter-panel.tsx +51 -22
  520. package/src/components/table/hooks/use-table-state.ts +64 -11
  521. package/src/components/table/index.ts +3 -0
  522. package/src/components/table/locales.ts +119 -4
  523. package/src/components/table/selection-toolbar.tsx +65 -9
  524. package/src/components/table/sorting.ts +80 -0
  525. package/src/components/table/table-skeleton.tsx +15 -9
  526. package/src/components/table/types.ts +17 -0
  527. package/src/components/tax-reports/index.ts +8 -0
  528. package/src/components/tax-reports/kir-export-form.tsx +4 -5
  529. package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
  530. package/src/components/tax-reports/slovenia-tax-profile-step.tsx +21 -10
  531. package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
  532. package/src/components/tax-reports/slovenia-yearly-export-form.tsx +17 -16
  533. package/src/components/tax-reports/slovenia-yearly-review-step.tsx +40 -18
  534. package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
  535. package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
  536. package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
  537. package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
  538. package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
  539. package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
  540. package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
  541. package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
  542. package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
  543. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
  544. package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
  545. package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
  546. package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
  547. package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
  548. package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
  549. package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
  550. package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
  551. package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
  552. package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
  553. package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
  554. package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
  555. package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
  556. package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
  557. package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
  558. package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
  559. package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
  560. package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
  561. package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
  562. package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
  563. package/src/components/taxes/taxes.hooks.ts +53 -12
  564. package/src/components/ui/badge.tsx +1 -1
  565. package/src/components/ui/button.tsx +1 -1
  566. package/src/components/ui/drawer.tsx +2 -2
  567. package/src/components/ui/form.tsx +118 -2
  568. package/src/components/ui/progress.tsx +6 -4
  569. package/src/components/ui/select.tsx +118 -1
  570. package/src/components/ui/sidebar.tsx +3 -2
  571. package/src/components/ui/sonner.tsx +17 -36
  572. package/src/components/ui/sticky-form-footer.tsx +6 -1
  573. package/src/components/ui/tooltip.tsx +15 -2
  574. package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
  575. package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
  576. package/src/components/wl-subscription/locked-feature.tsx +11 -10
  577. package/src/components/wl-subscription/paywall.tsx +184 -72
  578. package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
  579. package/src/generate-schemas.ts +17 -7
  580. package/src/generated/schemas/account_webhook.ts +43 -0
  581. package/src/generated/schemas/accountwebhook.ts +67 -0
  582. package/src/generated/schemas/entity.ts +343 -4
  583. package/src/generated/schemas/exportsloveniavodxml_body.ts +16 -0
  584. package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +27 -0
  585. package/src/generated/schemas/furssettings.ts +1 -0
  586. package/src/generated/schemas/incomingpurchasedocument.ts +198 -0
  587. package/src/generated/schemas/incomingpurchasedocumentpayment.ts +38 -0
  588. package/src/generated/schemas/index.ts +12 -0
  589. package/src/generated/schemas/item.ts +36 -0
  590. package/src/generated/schemas/me.ts +23 -19
  591. package/src/generated/schemas/order.ts +2 -0
  592. package/src/generated/schemas/orderintegration.ts +8 -4
  593. package/src/generated/schemas/payment.ts +5 -0
  594. package/src/generated/schemas/ptatcudseries.ts +30 -0
  595. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +35 -3
  596. package/src/generated/schemas/rendercreditnotepreview_body.ts +35 -3
  597. package/src/generated/schemas/renderdeliverynotepreview_body.ts +12 -5
  598. package/src/generated/schemas/renderestimatepreview_body.ts +38 -5
  599. package/src/generated/schemas/renderinvoicepreview_body.ts +39 -5
  600. package/src/generated/schemas/senddocument_body.ts +1 -0
  601. package/src/generated/schemas/sendemail_body.ts +67 -39
  602. package/src/generated/schemas/sloveniataxprofile.ts +118 -0
  603. package/src/generated/schemas/starteslogexport_body.ts +33 -0
  604. package/src/generated/schemas/startpdfexport_body.ts +94 -78
  605. package/src/generated/schemas/supplier.ts +59 -0
  606. package/src/generated/schemas/syncshopifyorders_body.ts +20 -0
  607. package/src/generated/schemas/tax.ts +2 -0
  608. package/src/generated/schemas/uploadfile_body.ts +1 -0
  609. package/src/generated/schemas/userptsettings.ts +26 -0
  610. package/src/generated/schemas/voidinvoice_body.ts +20 -0
  611. package/src/generated/schemas/webhook.ts +2 -0
  612. package/src/hooks/create-resource-hooks.ts +22 -19
  613. package/src/hooks/use-duplicate-document.ts +10 -8
  614. package/src/hooks/use-eslog-validation.ts +5 -1
  615. package/src/hooks/use-next-document-number.ts +13 -6
  616. package/src/hooks/use-resolved-entity-id.ts +14 -0
  617. package/src/hooks/use-resource-mutation.ts +11 -30
  618. package/src/hooks/use-transaction-type-check.ts +3 -8
  619. package/src/lib/browser-cookies.ts +1 -1
  620. package/src/lib/country-capabilities.ts +114 -0
  621. package/src/lib/date-fns-locale.ts +1 -20
  622. package/src/lib/eslog-export.ts +32 -0
  623. package/src/lib/fiscalization-options.ts +21 -1
  624. package/src/lib/formatting.ts +27 -0
  625. package/src/lib/furs-error-utils.ts +29 -0
  626. package/src/lib/locale.ts +4 -0
  627. package/src/lib/payment-display.ts +95 -0
  628. package/src/lib/pt-document-input.ts +67 -0
  629. package/src/lib/schemas/shared.ts +1 -0
  630. package/src/lib/template-variables.tsx +102 -4
  631. package/src/lib/translation.ts +51 -33
  632. package/src/lib/white-label-capabilities.ts +626 -0
  633. package/src/lib/zod-validation-message.ts +291 -0
  634. package/src/providers/entities-provider.tsx +32 -14
  635. package/src/providers/sdk-provider.tsx +112 -12
  636. package/src/providers/space-invoices-provider.tsx +129 -0
  637. package/src/providers/white-label-provider.tsx +96 -4
  638. package/src/providers/wl-subscription-provider.tsx +144 -10
@@ -0,0 +1,111 @@
1
+ import { Download, FileText, Loader2 } from "lucide-react";
2
+ import type { FC } from "react";
3
+ import { Alert, AlertDescription } from "@/ui/components/ui/alert";
4
+ import { Button } from "@/ui/components/ui/button";
5
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/ui/components/ui/card";
6
+ import { useFursInternalActDownloads } from "../furs-settings.hooks";
7
+
8
+ interface FursInternalActDownloadCardProps {
9
+ entityId: string;
10
+ certificateValid: boolean;
11
+ hasPremises: boolean;
12
+ hasPremiseWithDevice: boolean;
13
+ t: (key: string) => string;
14
+ }
15
+
16
+ function getDisabledReason({
17
+ certificateValid,
18
+ hasPremises,
19
+ hasPremiseWithDevice,
20
+ t,
21
+ }: Omit<FursInternalActDownloadCardProps, "entityId">) {
22
+ if (!certificateValid) {
23
+ return t("Upload a valid certificate to download the internal act");
24
+ }
25
+
26
+ if (!hasPremises) {
27
+ return t("Register at least one active business premise to download the internal act");
28
+ }
29
+
30
+ if (!hasPremiseWithDevice) {
31
+ return t("Register at least one electronic device to download the internal act");
32
+ }
33
+
34
+ return null;
35
+ }
36
+
37
+ export const FursInternalActDownloadCard: FC<FursInternalActDownloadCardProps> = ({
38
+ entityId,
39
+ certificateValid,
40
+ hasPremises,
41
+ hasPremiseWithDevice,
42
+ t,
43
+ }) => {
44
+ const { downloadFursInternalActPdf, downloadFursInternalActDocx, isDownloadingPdf, isDownloadingDocx } =
45
+ useFursInternalActDownloads(t);
46
+
47
+ const disabledReason = getDisabledReason({
48
+ certificateValid,
49
+ hasPremises,
50
+ hasPremiseWithDevice,
51
+ t,
52
+ });
53
+ const canDownload = disabledReason === null;
54
+ const isDownloading = isDownloadingPdf || isDownloadingDocx;
55
+
56
+ return (
57
+ <Card data-testid="furs-internal-act-download-card" className="border-dashed bg-muted/20 p-4">
58
+ <CardHeader className="p-0">
59
+ <div className="flex items-center gap-3">
60
+ <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-primary/10">
61
+ <FileText className="h-5 w-5 text-primary" />
62
+ </div>
63
+ <div>
64
+ <CardTitle>{t("Internal Act")}</CardTitle>
65
+ <CardDescription>
66
+ {t(
67
+ "Download the internal act in printable PDF or editable DOCX form before enabling FURS fiscalization.",
68
+ )}
69
+ </CardDescription>
70
+ </div>
71
+ </div>
72
+ </CardHeader>
73
+
74
+ <CardContent className="space-y-4 p-0">
75
+ <p className="text-muted-foreground text-sm">
76
+ {t("The internal act contains your current business premises, devices, and invoice numbering setup.")}
77
+ </p>
78
+
79
+ {disabledReason && (
80
+ <Alert>
81
+ <AlertDescription>{disabledReason}</AlertDescription>
82
+ </Alert>
83
+ )}
84
+
85
+ <div className="flex flex-col gap-3 sm:flex-row">
86
+ <Button
87
+ type="button"
88
+ variant="outline"
89
+ disabled={!canDownload || isDownloading}
90
+ onClick={() => downloadFursInternalActPdf(entityId)}
91
+ data-testid="furs-internal-act-download-pdf"
92
+ >
93
+ {isDownloadingPdf ? <Loader2 className="h-4 w-4 animate-spin" /> : <Download className="h-4 w-4" />}
94
+ {isDownloadingPdf ? t("Preparing PDF...") : t("Download PDF")}
95
+ </Button>
96
+
97
+ <Button
98
+ type="button"
99
+ variant="outline"
100
+ disabled={!canDownload || isDownloading}
101
+ onClick={() => downloadFursInternalActDocx(entityId)}
102
+ data-testid="furs-internal-act-download-docx"
103
+ >
104
+ {isDownloadingDocx ? <Loader2 className="h-4 w-4 animate-spin" /> : <Download className="h-4 w-4" />}
105
+ {isDownloadingDocx ? t("Preparing DOCX...") : t("Download DOCX")}
106
+ </Button>
107
+ </div>
108
+ </CardContent>
109
+ </Card>
110
+ );
111
+ };
@@ -5,6 +5,7 @@ import type { UseFormReturn } from "react-hook-form";
5
5
  import { useUpdateEntity } from "@/ui/components/entities/entities.hooks";
6
6
  import { Alert, AlertDescription } from "@/ui/components/ui/alert";
7
7
  import { Button } from "@/ui/components/ui/button";
8
+ import { Checkbox } from "@/ui/components/ui/checkbox";
8
9
  import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "@/ui/components/ui/form";
9
10
  import { Input } from "@/ui/components/ui/input";
10
11
  import { RadioGroup, RadioGroupItem } from "@/ui/components/ui/radio-group";
@@ -263,6 +264,32 @@ export const GeneralSettingsSection: FC<GeneralSettingsSectionProps> = ({
263
264
  </div>
264
265
 
265
266
  <div className="space-y-4">
267
+ <FormField
268
+ control={form.control}
269
+ name="default_skip_fiscalization"
270
+ render={({ field }) => (
271
+ <FormItem className="rounded-lg border p-4">
272
+ <div className="flex items-start gap-3">
273
+ <FormControl>
274
+ <Checkbox
275
+ checked={field.value === true}
276
+ onCheckedChange={(checked) => field.onChange(checked === true)}
277
+ />
278
+ </FormControl>
279
+ <div className="space-y-1">
280
+ <FormLabel className="font-medium text-sm">{t("Skip Fiscalization by Default")}</FormLabel>
281
+ <FormDescription className="text-xs">
282
+ {t(
283
+ "New invoices and advance invoices start with fiscalization turned off when payment type allows it. Non-bank-transfer payments still force fiscalization back on.",
284
+ )}
285
+ </FormDescription>
286
+ </div>
287
+ </div>
288
+ <FormMessage />
289
+ </FormItem>
290
+ )}
291
+ />
292
+
266
293
  <FormField
267
294
  control={form.control}
268
295
  name="numbering_strategy"
@@ -3,8 +3,7 @@ import { Building2, Cpu, MapPin, MoreVertical, Truck } from "lucide-react";
3
3
  import { type FC, type ReactNode, useState } from "react";
4
4
  import type { SectionType } from "../furs-settings-form";
5
5
 
6
- // Extended premise type - SDK type is incomplete, so we extend it locally
7
- // TODO: Update SDK types when backend OpenAPI spec is fixed
6
+ // Local UI view model extends the SDK type with the response fields this section reads.
8
7
  type ExtendedFursBusinessPremise = {
9
8
  id: string;
10
9
  entity_id: string;
@@ -13,11 +12,11 @@ type ExtendedFursBusinessPremise = {
13
12
  real_estate?: {
14
13
  cadastral_number?: string; // String in DB, not number
15
14
  building_number?: string; // String in DB, not number
16
- building_section?: string; // Renamed from building_section_number
15
+ building_section?: string; // Stored as string in DB/API
17
16
  street?: string;
18
17
  house_number?: string;
19
18
  house_number_additional?: string | null;
20
- community?: string; // Added - required by FURS
19
+ community?: string;
21
20
  city?: string;
22
21
  postal_code?: string;
23
22
  };
@@ -84,6 +83,12 @@ export const PremisesManagementSection: FC<PremisesManagementSectionProps> = ({
84
83
  const [selectedPremiseId, setSelectedPremiseId] = useState<string | null>(null);
85
84
  const [deviceName, setDeviceName] = useState("");
86
85
 
86
+ const getSuggestedDeviceName = (premiseId: string) => {
87
+ const premise = premises.find((item) => item.id === premiseId);
88
+ const nextIndex = (premise?.Devices?.length || 0) + 1;
89
+ return `E${nextIndex}`;
90
+ };
91
+
87
92
  const { mutate: closePremise } = useClosePremise({
88
93
  onSuccess: () => {
89
94
  onSuccess?.();
@@ -121,7 +126,7 @@ export const PremisesManagementSection: FC<PremisesManagementSectionProps> = ({
121
126
 
122
127
  const handleAddDevice = (premiseId: string) => {
123
128
  setSelectedPremiseId(premiseId);
124
- setDeviceName("");
129
+ setDeviceName(getSuggestedDeviceName(premiseId));
125
130
  setAddDeviceDialogOpen(true);
126
131
  };
127
132
 
@@ -283,16 +288,18 @@ export const PremisesManagementSection: FC<PremisesManagementSectionProps> = ({
283
288
  <span className="text-sm">
284
289
  ⚠️ {t("No devices registered. Add at least one device to fiscalize invoices.")}
285
290
  </span>
286
- <Button
287
- size="sm"
288
- variant="outline"
289
- onClick={() => handleAddDevice(premise.id)}
290
- className="cursor-pointer"
291
- data-testid={`furs-add-device-${premise.business_premise_name}`}
292
- >
293
- <Cpu className="mr-2 h-4 w-4" />
294
- {t("Add Electronic Device")}
295
- </Button>
291
+ {premise.is_active ? (
292
+ <Button
293
+ size="sm"
294
+ variant="outline"
295
+ onClick={() => handleAddDevice(premise.id)}
296
+ className="cursor-pointer"
297
+ data-testid={`furs-add-device-${premise.business_premise_name}`}
298
+ >
299
+ <Cpu className="mr-2 h-4 w-4" />
300
+ {t("Add Electronic Device")}
301
+ </Button>
302
+ ) : null}
296
303
  </AlertDescription>
297
304
  </Alert>
298
305
  )}
@@ -322,7 +329,7 @@ export const PremisesManagementSection: FC<PremisesManagementSectionProps> = ({
322
329
  entity={entity}
323
330
  type={registerType}
324
331
  t={t}
325
- existingPremiseNames={premises.map((p) => p.business_premise_name)}
332
+ premises={premises}
326
333
  onSuccess={() => {
327
334
  setRegisterDialogOpen(false);
328
335
  onSuccess?.();
@@ -1,6 +1,6 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { Entity } from "@spaceinvoices/js-sdk";
3
- import type { FC } from "react";
3
+ import { type FC, useCallback, useEffect } from "react";
4
4
  import type { Resolver } from "react-hook-form";
5
5
  import { useForm } from "react-hook-form";
6
6
  import type { z } from "zod";
@@ -35,13 +35,48 @@ const movablePremiseSchema = registerFursMovablePremiseSchema;
35
35
  type RealEstatePremiseForm = z.infer<typeof realEstatePremiseSchema>;
36
36
  type MovablePremiseForm = z.infer<typeof movablePremiseSchema>;
37
37
 
38
+ type ExistingPremiseSummary = {
39
+ business_premise_name: string;
40
+ type?: string;
41
+ };
42
+
43
+ function getNextSuggestedName(prefix: string, count: number) {
44
+ return `${prefix}${count + 1}`;
45
+ }
46
+
47
+ function parseEntityAddress(address?: string | null) {
48
+ const value = address?.trim();
49
+ if (!value) {
50
+ return {
51
+ street: "",
52
+ house_number: "",
53
+ house_number_additional: "",
54
+ };
55
+ }
56
+
57
+ const match = value.match(/^(.*?)(?:\s+(\d+)([A-Za-z]*))$/);
58
+ if (!match) {
59
+ return {
60
+ street: value,
61
+ house_number: "",
62
+ house_number_additional: "",
63
+ };
64
+ }
65
+
66
+ return {
67
+ street: match[1]?.trim() || value,
68
+ house_number: match[2] || "",
69
+ house_number_additional: match[3] || "",
70
+ };
71
+ }
72
+
38
73
  interface RegisterPremiseDialogProps {
39
74
  open: boolean;
40
75
  onOpenChange: (open: boolean) => void;
41
76
  entity: Entity;
42
77
  type: "real-estate" | "movable";
43
78
  t: (key: string) => string;
44
- existingPremiseNames?: string[];
79
+ premises?: ExistingPremiseSummary[];
45
80
  onSuccess?: () => void;
46
81
  onError?: (error: unknown) => void;
47
82
  }
@@ -52,42 +87,67 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
52
87
  entity,
53
88
  type,
54
89
  t,
55
- existingPremiseNames = [],
90
+ premises = [],
56
91
  onSuccess,
57
92
  onError,
58
93
  }) => {
59
94
  const isRealEstate = type === "real-estate";
95
+ const existingPremiseNames = premises.map((premise) => premise.business_premise_name);
96
+ const hasRealEstatePremise = premises.some((premise) => premise.type === "real_estate");
60
97
 
61
- // Real Estate Form
62
- const realEstateForm = useForm<RealEstatePremiseForm>({
63
- resolver: zodResolver(realEstatePremiseSchema) as Resolver<RealEstatePremiseForm>,
64
- defaultValues: {
65
- business_premise_name: "",
98
+ const buildRealEstateDefaults = useCallback((): RealEstatePremiseForm => {
99
+ const shouldPrefillEntityAddress = !hasRealEstatePremise;
100
+ const parsedAddress = shouldPrefillEntityAddress ? parseEntityAddress(entity.address) : parseEntityAddress();
101
+
102
+ return {
103
+ business_premise_name: getNextSuggestedName("P", premises.length),
66
104
  real_estate: {
67
105
  cadastral_number: "",
68
- building_number: "0",
69
- building_section: "0",
70
- community: "",
71
- city: "",
72
- street: "",
73
- house_number: "",
74
- house_number_additional: "",
75
- postal_code: "",
106
+ building_number: "",
107
+ building_section: "",
108
+ community: shouldPrefillEntityAddress ? entity.city || "" : "",
109
+ city: shouldPrefillEntityAddress ? entity.city || "" : "",
110
+ street: parsedAddress.street,
111
+ house_number: parsedAddress.house_number,
112
+ house_number_additional: parsedAddress.house_number_additional,
113
+ postal_code: shouldPrefillEntityAddress ? entity.post_code || "" : "",
76
114
  },
77
- },
115
+ };
116
+ }, [entity.address, entity.city, entity.post_code, hasRealEstatePremise, premises.length]);
117
+
118
+ const buildMovableDefaults = useCallback(
119
+ (): MovablePremiseForm => ({
120
+ business_premise_name: getNextSuggestedName("P", premises.length),
121
+ movable_premise: {
122
+ premise_type: "A",
123
+ },
124
+ }),
125
+ [premises.length],
126
+ );
127
+
128
+ // Real Estate Form
129
+ const realEstateForm = useForm<RealEstatePremiseForm>({
130
+ resolver: zodResolver(realEstatePremiseSchema) as Resolver<RealEstatePremiseForm>,
131
+ defaultValues: buildRealEstateDefaults(),
78
132
  });
79
133
 
80
134
  // Movable Form
81
135
  const movableForm = useForm<MovablePremiseForm>({
82
136
  resolver: zodResolver(movablePremiseSchema) as Resolver<MovablePremiseForm>,
83
- defaultValues: {
84
- business_premise_name: "",
85
- movable_premise: {
86
- premise_type: "A",
87
- },
88
- },
137
+ defaultValues: buildMovableDefaults(),
89
138
  });
90
139
 
140
+ useEffect(() => {
141
+ if (!open) return;
142
+
143
+ if (isRealEstate) {
144
+ realEstateForm.reset(buildRealEstateDefaults());
145
+ return;
146
+ }
147
+
148
+ movableForm.reset(buildMovableDefaults());
149
+ }, [buildMovableDefaults, buildRealEstateDefaults, isRealEstate, open, realEstateForm, movableForm]);
150
+
91
151
  const handleMutationError = (error: unknown, form: typeof realEstateForm | typeof movableForm) => {
92
152
  const err = error as { status?: number; data?: { message?: string } };
93
153
  if (err?.status === 409 && err?.data?.message) {
@@ -99,7 +159,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
99
159
 
100
160
  const { mutate: registerRealEstate, isPending: isRealEstatePending } = useRegisterRealEstatePremise({
101
161
  onSuccess: () => {
102
- realEstateForm.reset();
162
+ realEstateForm.reset(buildRealEstateDefaults());
103
163
  onSuccess?.();
104
164
  },
105
165
  onError: (error) => handleMutationError(error, realEstateForm),
@@ -107,7 +167,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
107
167
 
108
168
  const { mutate: registerMovable, isPending: isMovablePending } = useRegisterMovablePremise({
109
169
  onSuccess: () => {
110
- movableForm.reset();
170
+ movableForm.reset(buildMovableDefaults());
111
171
  onSuccess?.();
112
172
  },
113
173
  onError: (error) => handleMutationError(error, movableForm),
@@ -170,9 +230,9 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
170
230
  name="business_premise_name"
171
231
  render={({ field }) => (
172
232
  <FormItem>
173
- <FormLabel>{t("Premise Name")}</FormLabel>
233
+ <FormLabel>{t("Premise Name")} *</FormLabel>
174
234
  <FormControl>
175
- <Input placeholder="P1" {...field} />
235
+ <Input placeholder="P1" {...field} data-testid="furs-real-estate-premise-name" />
176
236
  </FormControl>
177
237
  <FormDescription>{t("Unique identifier for this premise (e.g., P1, P2)")}</FormDescription>
178
238
  <FormMessage />
@@ -221,7 +281,6 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
221
281
  data-testid="furs-real-estate-building-number"
222
282
  />
223
283
  </FormControl>
224
- <FormDescription className="text-xs">{t("Numeric, use 0 if not applicable")}</FormDescription>
225
284
  <FormMessage />
226
285
  </FormItem>
227
286
  )}
@@ -242,7 +301,6 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
242
301
  data-testid="furs-real-estate-building-section"
243
302
  />
244
303
  </FormControl>
245
- <FormDescription className="text-xs">{t("Numeric, use 0 if not applicable")}</FormDescription>
246
304
  <FormMessage />
247
305
  </FormItem>
248
306
  )}
@@ -369,7 +427,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
369
427
  name="business_premise_name"
370
428
  render={({ field }) => (
371
429
  <FormItem>
372
- <FormLabel>{t("Premise Name")}</FormLabel>
430
+ <FormLabel>{t("Premise Name")} *</FormLabel>
373
431
  <FormControl>
374
432
  <Input placeholder="P1" {...field} data-testid="furs-movable-premise-name" />
375
433
  </FormControl>
@@ -385,7 +443,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
385
443
  name="movable_premise.premise_type"
386
444
  render={({ field }) => (
387
445
  <FormItem>
388
- <FormLabel>{t("Premise Type")}</FormLabel>
446
+ <FormLabel>{t("Premise Type")} *</FormLabel>
389
447
  <Select onValueChange={field.onChange} value={field.value}>
390
448
  <FormControl>
391
449
  <SelectTrigger>
@@ -1,5 +1,6 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { Entity } from "@spaceinvoices/js-sdk";
3
+ import { files, upload } from "@spaceinvoices/js-sdk";
3
4
  import { useEffect, useState } from "react";
4
5
  import { useForm } from "react-hook-form";
5
6
  import { z } from "zod";
@@ -16,7 +17,6 @@ import { Input } from "@/ui/components/ui/input";
16
17
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
17
18
  import { createTranslation } from "@/ui/lib/translation";
18
19
  import { useFormFooterRegistration } from "@/ui/providers/form-footer-context";
19
- import { useSDK } from "@/ui/providers/sdk-provider";
20
20
  import { useUpdateEntity } from "../entities.hooks";
21
21
  import { ImageUploadWithCrop } from "../entity-settings-form/image-upload-with-crop";
22
22
  import de from "../entity-settings-form/locales/de";
@@ -39,7 +39,6 @@ type BrandingSettingsSchema = z.infer<typeof brandingSettingsSchema>;
39
39
 
40
40
  export type BrandingSettingsFormProps = {
41
41
  entity: Entity;
42
- cloudinaryCloudName?: string;
43
42
  onSuccess?: (data: Entity) => void;
44
43
  onError?: (error: unknown) => void;
45
44
  onUploadSuccess?: () => void;
@@ -47,23 +46,20 @@ export type BrandingSettingsFormProps = {
47
46
 
48
47
  export function BrandingSettingsForm({
49
48
  entity,
50
- cloudinaryCloudName,
51
49
  t: translateProp,
52
50
  namespace,
53
51
  locale,
52
+ translationLocale,
54
53
  onSuccess,
55
54
  onError,
56
55
  onUploadSuccess,
57
56
  }: BrandingSettingsFormProps) {
58
- const t = createTranslation({ t: translateProp, namespace, locale, translations });
59
- const { sdk } = useSDK();
57
+ const t = createTranslation({ t: translateProp, namespace, locale, translationLocale, translations });
60
58
 
61
59
  const currentSettings = (entity.settings as any) || {};
62
60
 
63
61
  const [isUploading, setIsUploading] = useState(false);
64
62
  const [isUploadingSignature, setIsUploadingSignature] = useState(false);
65
- const [logoTimestamp, setLogoTimestamp] = useState(Date.now());
66
- const [signatureTimestamp, setSignatureTimestamp] = useState(Date.now());
67
63
  const [uploadedLogoUrl, setUploadedLogoUrl] = useState<string | null>(null);
68
64
  const [uploadedSignatureUrl, setUploadedSignatureUrl] = useState<string | null>(null);
69
65
  const [fetchedLogoUrl, setFetchedLogoUrl] = useState<string | null>(null);
@@ -82,9 +78,9 @@ export function BrandingSettingsForm({
82
78
  useEffect(() => {
83
79
  async function fetchFileUrls() {
84
80
  try {
85
- const files = await sdk.files.list({ entity_id: entity.id });
86
- const logoFile = files.data.find((f) => f.category === "logo");
87
- const signatureFile = files.data.find((f) => f.category === "signature");
81
+ const entityFiles = await files.list({ entity_id: entity.id });
82
+ const logoFile = entityFiles.data.find((f) => f.category === "logo");
83
+ const signatureFile = entityFiles.data.find((f) => f.category === "signature");
88
84
 
89
85
  if (logoFile) {
90
86
  setFetchedLogoUrl(logoFile.secureUrl);
@@ -99,26 +95,13 @@ export function BrandingSettingsForm({
99
95
  }
100
96
  }
101
97
  fetchFileUrls();
102
- }, [entity.id, sdk.files, form]);
98
+ }, [entity.id, form]);
103
99
 
104
100
  const hasLogo = form.watch("has_logo");
105
101
  const hasSignature = form.watch("has_signature");
106
102
 
107
- const entityTimestamp = entity.updated_at ? new Date(entity.updated_at).getTime() : logoTimestamp;
108
- const logoUrl =
109
- hasLogo && cloudinaryCloudName
110
- ? uploadedLogoUrl ||
111
- fetchedLogoUrl ||
112
- `https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/logos/logo_${entity.id}.png?v=${entityTimestamp}`
113
- : undefined;
114
-
115
- const signatureEntityTimestamp = entity.updated_at ? new Date(entity.updated_at).getTime() : signatureTimestamp;
116
- const signatureUrl =
117
- hasSignature && cloudinaryCloudName
118
- ? uploadedSignatureUrl ||
119
- fetchedSignatureUrl ||
120
- `https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/signatures/signature_${entity.id}.png?v=${signatureEntityTimestamp}`
121
- : undefined;
103
+ const logoUrl = hasLogo ? uploadedLogoUrl || fetchedLogoUrl || undefined : undefined;
104
+ const signatureUrl = hasSignature ? uploadedSignatureUrl || fetchedSignatureUrl || undefined : undefined;
122
105
 
123
106
  const { mutate: updateEntity, isPending } = useUpdateEntity({
124
107
  entityId: entity.id,
@@ -140,10 +123,9 @@ export function BrandingSettingsForm({
140
123
  setIsUploading(true);
141
124
  try {
142
125
  // SDK expects { file: Blob } as first arg, SDKMethodOptions as last
143
- const result = await sdk.upload.uploadImage({ file }, { entity_id: entity.id });
126
+ const result = await upload.uploadImage({ file }, { entity_id: entity.id });
144
127
  form.setValue("has_logo", true);
145
128
  setUploadedLogoUrl(result.secureUrl);
146
- setLogoTimestamp(Date.now());
147
129
  onUploadSuccess?.();
148
130
  return result;
149
131
  } catch (error) {
@@ -159,10 +141,9 @@ export function BrandingSettingsForm({
159
141
  setIsUploadingSignature(true);
160
142
  try {
161
143
  // SDK expects { file, category } as first arg, SDKMethodOptions as last
162
- const result = await sdk.files.uploadFile({ file, category: "signature" }, { entity_id: entity.id });
144
+ const result = await files.uploadFile({ file, category: "signature" }, { entity_id: entity.id });
163
145
  form.setValue("has_signature", true);
164
146
  setUploadedSignatureUrl(result.secureUrl);
165
- setSignatureTimestamp(Date.now());
166
147
  onUploadSuccess?.();
167
148
  return { secureUrl: result.secureUrl };
168
149
  } catch (error) {
@@ -57,10 +57,11 @@ export function CompanySettingsForm({
57
57
  t: translateProp,
58
58
  namespace,
59
59
  locale,
60
+ translationLocale,
60
61
  onSuccess,
61
62
  onError,
62
63
  }: CompanySettingsFormProps) {
63
- const t = createTranslation({ t: translateProp, namespace, locale, translations });
64
+ const t = createTranslation({ t: translateProp, namespace, locale, translationLocale, translations });
64
65
 
65
66
  const currentSettings = (entity.settings as any) || {};
66
67