@vendure-platform/create 0.5.0 → 0.5.1

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 (325) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +39 -39
  3. package/dist/add-to-existing.js +1 -1
  4. package/dist/assets/demo-data/initial-data.json +663 -663
  5. package/dist/assets/storefront/components.json +20 -20
  6. package/dist/assets/storefront/eslint.config.mjs +10 -10
  7. package/dist/assets/storefront/graphql.config.yml +1 -1
  8. package/dist/assets/storefront/next.config.ts +5 -4
  9. package/dist/assets/storefront/package.json +1 -1
  10. package/dist/assets/storefront/postcss.config.mjs +1 -1
  11. package/dist/assets/storefront/src/app/[locale]/(catalog)/catalog/page.tsx +17 -21
  12. package/dist/assets/storefront/src/app/[locale]/(catalog)/collection/[slug]/page.tsx +64 -42
  13. package/dist/assets/storefront/src/app/[locale]/(catalog)/layout.tsx +1 -5
  14. package/dist/assets/storefront/src/app/[locale]/(catalog)/product/[slug]/actions.ts +69 -65
  15. package/dist/assets/storefront/src/app/[locale]/(catalog)/product/[slug]/page.tsx +64 -38
  16. package/dist/assets/storefront/src/app/[locale]/(catalog)/search/page.tsx +24 -27
  17. package/dist/assets/storefront/src/app/[locale]/(catalog)/search/search-results.tsx +11 -9
  18. package/dist/assets/storefront/src/app/[locale]/(catalog)/search/search-term.tsx +4 -4
  19. package/dist/assets/storefront/src/app/[locale]/(scenario)/[...path]/page.tsx +1 -1
  20. package/dist/assets/storefront/src/app/[locale]/accept-invitation/[token]/accept-invitation-client.tsx +8 -13
  21. package/dist/assets/storefront/src/app/[locale]/accept-invitation/[token]/actions.ts +11 -14
  22. package/dist/assets/storefront/src/app/[locale]/accept-invitation/[token]/page.tsx +30 -33
  23. package/dist/assets/storefront/src/app/[locale]/accept-invitation/[token]/sign-out-and-retry.tsx +6 -6
  24. package/dist/assets/storefront/src/app/[locale]/account/addresses/actions.ts +30 -45
  25. package/dist/assets/storefront/src/app/[locale]/account/addresses/address-form.tsx +166 -159
  26. package/dist/assets/storefront/src/app/[locale]/account/addresses/addresses-client.tsx +35 -26
  27. package/dist/assets/storefront/src/app/[locale]/account/addresses/loading.tsx +1 -3
  28. package/dist/assets/storefront/src/app/[locale]/account/addresses/page.tsx +16 -18
  29. package/dist/assets/storefront/src/app/[locale]/account/approvals/actions.ts +5 -8
  30. package/dist/assets/storefront/src/app/[locale]/account/approvals/page.tsx +77 -69
  31. package/dist/assets/storefront/src/app/[locale]/account/company/actions.ts +10 -11
  32. package/dist/assets/storefront/src/app/[locale]/account/company/addresses/actions.ts +6 -15
  33. package/dist/assets/storefront/src/app/[locale]/account/company/addresses/address-form.tsx +57 -49
  34. package/dist/assets/storefront/src/app/[locale]/account/company/addresses/addresses-client.tsx +23 -25
  35. package/dist/assets/storefront/src/app/[locale]/account/company/addresses/page.tsx +30 -30
  36. package/dist/assets/storefront/src/app/[locale]/account/company/business-units/actions.ts +20 -29
  37. package/dist/assets/storefront/src/app/[locale]/account/company/business-units/business-unit-form.tsx +32 -37
  38. package/dist/assets/storefront/src/app/[locale]/account/company/business-units/business-units-client.tsx +32 -25
  39. package/dist/assets/storefront/src/app/[locale]/account/company/business-units/page.tsx +24 -24
  40. package/dist/assets/storefront/src/app/[locale]/account/company/business-units/types.ts +7 -4
  41. package/dist/assets/storefront/src/app/[locale]/account/company/edit-company-form.tsx +11 -21
  42. package/dist/assets/storefront/src/app/[locale]/account/company/page.tsx +23 -28
  43. package/dist/assets/storefront/src/app/[locale]/account/company/payment-methods/page.tsx +24 -24
  44. package/dist/assets/storefront/src/app/[locale]/account/company/payment-methods/payment-methods-client.tsx +5 -7
  45. package/dist/assets/storefront/src/app/[locale]/account/company/roles/page.tsx +22 -25
  46. package/dist/assets/storefront/src/app/[locale]/account/company/roles/roles-client.tsx +11 -26
  47. package/dist/assets/storefront/src/app/[locale]/account/company/tax-ids/actions.ts +6 -10
  48. package/dist/assets/storefront/src/app/[locale]/account/company/tax-ids/page.tsx +18 -16
  49. package/dist/assets/storefront/src/app/[locale]/account/company/tax-ids/tax-ids-client.tsx +74 -67
  50. package/dist/assets/storefront/src/app/[locale]/account/company/users/actions.ts +16 -25
  51. package/dist/assets/storefront/src/app/[locale]/account/company/users/edit-user-form.tsx +27 -25
  52. package/dist/assets/storefront/src/app/[locale]/account/company/users/invite-user-form.tsx +27 -19
  53. package/dist/assets/storefront/src/app/[locale]/account/company/users/page.tsx +32 -29
  54. package/dist/assets/storefront/src/app/[locale]/account/company/users/users-client.tsx +35 -38
  55. package/dist/assets/storefront/src/app/[locale]/account/error.tsx +1 -3
  56. package/dist/assets/storefront/src/app/[locale]/account/layout.tsx +16 -22
  57. package/dist/assets/storefront/src/app/[locale]/account/orders/[code]/page.tsx +151 -103
  58. package/dist/assets/storefront/src/app/[locale]/account/orders/[code]/reorder-actions.ts +6 -7
  59. package/dist/assets/storefront/src/app/[locale]/account/orders/[code]/reorder-dialog.tsx +22 -48
  60. package/dist/assets/storefront/src/app/[locale]/account/orders/loading.tsx +8 -8
  61. package/dist/assets/storefront/src/app/[locale]/account/orders/page.tsx +101 -61
  62. package/dist/assets/storefront/src/app/[locale]/account/profile/actions.ts +32 -23
  63. package/dist/assets/storefront/src/app/[locale]/account/profile/change-password-form.tsx +6 -16
  64. package/dist/assets/storefront/src/app/[locale]/account/profile/edit-email-form.tsx +7 -17
  65. package/dist/assets/storefront/src/app/[locale]/account/profile/edit-profile-form.tsx +6 -16
  66. package/dist/assets/storefront/src/app/[locale]/account/profile/loading.tsx +12 -18
  67. package/dist/assets/storefront/src/app/[locale]/account/profile/page.tsx +15 -15
  68. package/dist/assets/storefront/src/app/[locale]/account/quick-order/file-upload-tab.tsx +2 -6
  69. package/dist/assets/storefront/src/app/[locale]/account/quick-order/manual-entry-tab.tsx +18 -15
  70. package/dist/assets/storefront/src/app/[locale]/account/quick-order/page.tsx +3 -6
  71. package/dist/assets/storefront/src/app/[locale]/account/quick-order/preview-table.tsx +10 -2
  72. package/dist/assets/storefront/src/app/[locale]/account/quick-order/save-to-list-dialog.tsx +24 -26
  73. package/dist/assets/storefront/src/app/[locale]/account/quick-order/sku-autocomplete.tsx +19 -10
  74. package/dist/assets/storefront/src/app/[locale]/account/quick-order/text-input-tab.tsx +3 -8
  75. package/dist/assets/storefront/src/app/[locale]/account/quotes/[id]/page.tsx +86 -59
  76. package/dist/assets/storefront/src/app/[locale]/account/quotes/actions.ts +38 -45
  77. package/dist/assets/storefront/src/app/[locale]/account/quotes/new/new-quote-form.tsx +3 -5
  78. package/dist/assets/storefront/src/app/[locale]/account/quotes/new/page.tsx +6 -6
  79. package/dist/assets/storefront/src/app/[locale]/account/quotes/page.tsx +92 -59
  80. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/[id]/add-item-search.tsx +11 -9
  81. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/[id]/add-member-form.tsx +31 -15
  82. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/[id]/members-panel.tsx +52 -33
  83. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/[id]/page.tsx +22 -14
  84. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/[id]/rename-dialog.tsx +34 -13
  85. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/actions.ts +117 -72
  86. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/new/new-shared-cart-form.tsx +21 -14
  87. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/new/page.tsx +10 -10
  88. package/dist/assets/storefront/src/app/[locale]/account/shared-carts/page.tsx +54 -41
  89. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/[id]/page.tsx +22 -8
  90. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/[id]/shopping-list-detail-client.tsx +62 -49
  91. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/actions.ts +9 -4
  92. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/create-shopping-list-form.tsx +5 -11
  93. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/loading.tsx +1 -1
  94. package/dist/assets/storefront/src/app/[locale]/account/shopping-lists/page.tsx +32 -42
  95. package/dist/assets/storefront/src/app/[locale]/account/store-credits/actions.ts +8 -8
  96. package/dist/assets/storefront/src/app/[locale]/account/store-credits/claim-form.tsx +6 -10
  97. package/dist/assets/storefront/src/app/[locale]/account/store-credits/page.tsx +76 -55
  98. package/dist/assets/storefront/src/app/[locale]/account/store-credits/reveal-code.tsx +10 -6
  99. package/dist/assets/storefront/src/app/[locale]/account/verify-email/page.tsx +32 -39
  100. package/dist/assets/storefront/src/app/[locale]/cart/actions.ts +29 -23
  101. package/dist/assets/storefront/src/app/[locale]/cart/cart-items.tsx +111 -40
  102. package/dist/assets/storefront/src/app/[locale]/cart/cart-line-actions.tsx +9 -9
  103. package/dist/assets/storefront/src/app/[locale]/cart/cart-quantity-control.tsx +61 -48
  104. package/dist/assets/storefront/src/app/[locale]/cart/cart-remove-button.tsx +15 -9
  105. package/dist/assets/storefront/src/app/[locale]/cart/cart.tsx +38 -41
  106. package/dist/assets/storefront/src/app/[locale]/cart/code-input.tsx +8 -8
  107. package/dist/assets/storefront/src/app/[locale]/cart/order-summary.tsx +50 -32
  108. package/dist/assets/storefront/src/app/[locale]/cart/page.tsx +11 -11
  109. package/dist/assets/storefront/src/app/[locale]/cart/promotion-code.tsx +48 -42
  110. package/dist/assets/storefront/src/app/[locale]/cart/reapproval-confirm.tsx +22 -20
  111. package/dist/assets/storefront/src/app/[locale]/cart/request-quote-button.tsx +7 -16
  112. package/dist/assets/storefront/src/app/[locale]/checkout/actions.ts +39 -65
  113. package/dist/assets/storefront/src/app/[locale]/checkout/cancel-quote-checkout-button.tsx +5 -5
  114. package/dist/assets/storefront/src/app/[locale]/checkout/checkout-flow.tsx +202 -202
  115. package/dist/assets/storefront/src/app/[locale]/checkout/checkout-provider.tsx +142 -142
  116. package/dist/assets/storefront/src/app/[locale]/checkout/order-summary.tsx +158 -139
  117. package/dist/assets/storefront/src/app/[locale]/checkout/page.tsx +56 -47
  118. package/dist/assets/storefront/src/app/[locale]/checkout/steps/delivery-step.tsx +86 -88
  119. package/dist/assets/storefront/src/app/[locale]/checkout/steps/payment-step.tsx +90 -91
  120. package/dist/assets/storefront/src/app/[locale]/checkout/steps/review-step.tsx +166 -161
  121. package/dist/assets/storefront/src/app/[locale]/checkout/steps/shipping-address-step.tsx +573 -494
  122. package/dist/assets/storefront/src/app/[locale]/error.tsx +3 -5
  123. package/dist/assets/storefront/src/app/[locale]/forgot-password/actions.ts +10 -7
  124. package/dist/assets/storefront/src/app/[locale]/forgot-password/forgot-password-form.tsx +10 -25
  125. package/dist/assets/storefront/src/app/[locale]/forgot-password/page.tsx +5 -5
  126. package/dist/assets/storefront/src/app/[locale]/globals.css +48 -48
  127. package/dist/assets/storefront/src/app/[locale]/layout.tsx +53 -47
  128. package/dist/assets/storefront/src/app/[locale]/not-found.tsx +3 -5
  129. package/dist/assets/storefront/src/app/[locale]/order-confirmation/[code]/order-confirmation.tsx +71 -44
  130. package/dist/assets/storefront/src/app/[locale]/order-confirmation/[code]/page.tsx +7 -5
  131. package/dist/assets/storefront/src/app/[locale]/page.tsx +33 -35
  132. package/dist/assets/storefront/src/app/[locale]/register/actions.ts +7 -7
  133. package/dist/assets/storefront/src/app/[locale]/register/page.tsx +22 -16
  134. package/dist/assets/storefront/src/app/[locale]/register/registration-form.tsx +22 -34
  135. package/dist/assets/storefront/src/app/[locale]/register-company/actions.ts +15 -19
  136. package/dist/assets/storefront/src/app/[locale]/register-company/page.tsx +17 -15
  137. package/dist/assets/storefront/src/app/[locale]/register-company/registration-form.tsx +9 -15
  138. package/dist/assets/storefront/src/app/[locale]/reset-password/actions.ts +7 -8
  139. package/dist/assets/storefront/src/app/[locale]/reset-password/page.tsx +18 -12
  140. package/dist/assets/storefront/src/app/[locale]/reset-password/reset-password-form.tsx +8 -16
  141. package/dist/assets/storefront/src/app/[locale]/shopping-list/[code]/add-to-cart-button.tsx +10 -4
  142. package/dist/assets/storefront/src/app/[locale]/shopping-list/[code]/page.tsx +62 -30
  143. package/dist/assets/storefront/src/app/[locale]/sign-in/actions.ts +14 -16
  144. package/dist/assets/storefront/src/app/[locale]/sign-in/login-form.tsx +17 -30
  145. package/dist/assets/storefront/src/app/[locale]/sign-in/page.tsx +35 -30
  146. package/dist/assets/storefront/src/app/[locale]/verify/actions.ts +8 -8
  147. package/dist/assets/storefront/src/app/[locale]/verify/page.tsx +18 -14
  148. package/dist/assets/storefront/src/app/[locale]/verify/verify-content.tsx +25 -27
  149. package/dist/assets/storefront/src/app/[locale]/verify-pending/page.tsx +23 -23
  150. package/dist/assets/storefront/src/app/api/clear-company-context/route.ts +6 -3
  151. package/dist/assets/storefront/src/app/api/revalidate/route.ts +19 -28
  152. package/dist/assets/storefront/src/app/api/search-analytics/route.ts +1 -1
  153. package/dist/assets/storefront/src/components/commerce/account-nav-items.ts +43 -18
  154. package/dist/assets/storefront/src/components/commerce/account-sidebar.tsx +30 -22
  155. package/dist/assets/storefront/src/components/commerce/active-filters.tsx +1 -1
  156. package/dist/assets/storefront/src/components/commerce/add-to-shared-cart.tsx +49 -27
  157. package/dist/assets/storefront/src/components/commerce/approval-decision-form.tsx +9 -13
  158. package/dist/assets/storefront/src/components/commerce/approval-status-badge.tsx +23 -15
  159. package/dist/assets/storefront/src/components/commerce/business-unit-switcher.tsx +11 -11
  160. package/dist/assets/storefront/src/components/commerce/catalog-search-bar.tsx +2 -2
  161. package/dist/assets/storefront/src/components/commerce/category-product-section.tsx +28 -16
  162. package/dist/assets/storefront/src/components/commerce/category-sidebar.tsx +31 -18
  163. package/dist/assets/storefront/src/components/commerce/collection-hero-banner.tsx +2 -4
  164. package/dist/assets/storefront/src/components/commerce/company-state-badge.tsx +10 -16
  165. package/dist/assets/storefront/src/components/commerce/company-switcher.tsx +12 -12
  166. package/dist/assets/storefront/src/components/commerce/configurator-form.tsx +188 -79
  167. package/dist/assets/storefront/src/components/commerce/facet-filters.tsx +29 -49
  168. package/dist/assets/storefront/src/components/commerce/gift-card-pdp.tsx +4 -4
  169. package/dist/assets/storefront/src/components/commerce/gift-card-product-info.tsx +20 -30
  170. package/dist/assets/storefront/src/components/commerce/instant-search-dropdown.tsx +258 -227
  171. package/dist/assets/storefront/src/components/commerce/order-status-badge.tsx +27 -19
  172. package/dist/assets/storefront/src/components/commerce/packaging-unit-selector.tsx +27 -26
  173. package/dist/assets/storefront/src/components/commerce/permission-gate.tsx +4 -4
  174. package/dist/assets/storefront/src/components/commerce/price-range-filter.tsx +5 -5
  175. package/dist/assets/storefront/src/components/commerce/price-tiers.tsx +38 -21
  176. package/dist/assets/storefront/src/components/commerce/price.tsx +3 -3
  177. package/dist/assets/storefront/src/components/commerce/product-card-list.tsx +35 -14
  178. package/dist/assets/storefront/src/components/commerce/product-card.tsx +31 -16
  179. package/dist/assets/storefront/src/components/commerce/product-carousel.tsx +20 -12
  180. package/dist/assets/storefront/src/components/commerce/product-grid.tsx +14 -13
  181. package/dist/assets/storefront/src/components/commerce/product-image-carousel.tsx +10 -8
  182. package/dist/assets/storefront/src/components/commerce/product-info.tsx +118 -74
  183. package/dist/assets/storefront/src/components/commerce/product-list-expansion.tsx +102 -74
  184. package/dist/assets/storefront/src/components/commerce/product-list-view.tsx +1 -1
  185. package/dist/assets/storefront/src/components/commerce/product-sidebar.tsx +36 -11
  186. package/dist/assets/storefront/src/components/commerce/product-view-switcher.tsx +33 -21
  187. package/dist/assets/storefront/src/components/commerce/quote-action-buttons.tsx +54 -36
  188. package/dist/assets/storefront/src/components/commerce/quote-activity-timeline.tsx +126 -50
  189. package/dist/assets/storefront/src/components/commerce/quote-comment-form.tsx +9 -13
  190. package/dist/assets/storefront/src/components/commerce/quote-csv-export-button.tsx +6 -6
  191. package/dist/assets/storefront/src/components/commerce/quote-product-search.tsx +22 -18
  192. package/dist/assets/storefront/src/components/commerce/quote-request-form.tsx +28 -27
  193. package/dist/assets/storefront/src/components/commerce/quote-status-badge.tsx +26 -18
  194. package/dist/assets/storefront/src/components/commerce/quote-validity-indicator.tsx +7 -7
  195. package/dist/assets/storefront/src/components/commerce/quote-version-comparison.tsx +50 -30
  196. package/dist/assets/storefront/src/components/commerce/related-products.tsx +37 -28
  197. package/dist/assets/storefront/src/components/commerce/shared-cart-status-badge.tsx +12 -8
  198. package/dist/assets/storefront/src/components/commerce/shop-by-category.tsx +8 -7
  199. package/dist/assets/storefront/src/components/commerce/shopping-list-toggle.tsx +14 -20
  200. package/dist/assets/storefront/src/components/commerce/sort-dropdown.tsx +9 -16
  201. package/dist/assets/storefront/src/components/commerce/store-credit-summary.tsx +30 -32
  202. package/dist/assets/storefront/src/components/commerce/subcollection-tiles.tsx +11 -13
  203. package/dist/assets/storefront/src/components/layout/auth-page-shell.tsx +2 -2
  204. package/dist/assets/storefront/src/components/layout/draft-mode-indicator.tsx +2 -7
  205. package/dist/assets/storefront/src/components/layout/draft-mode-link.tsx +4 -2
  206. package/dist/assets/storefront/src/components/layout/footer.tsx +70 -28
  207. package/dist/assets/storefront/src/components/layout/navbar/actions.ts +9 -12
  208. package/dist/assets/storefront/src/components/layout/navbar/cart-icon.tsx +9 -9
  209. package/dist/assets/storefront/src/components/layout/navbar/channel-picker-wrapper.tsx +4 -9
  210. package/dist/assets/storefront/src/components/layout/navbar/channel-picker.tsx +13 -8
  211. package/dist/assets/storefront/src/components/layout/navbar/currency-picker-wrapper.tsx +4 -4
  212. package/dist/assets/storefront/src/components/layout/navbar/currency-picker.tsx +11 -6
  213. package/dist/assets/storefront/src/components/layout/navbar/language-picker.tsx +7 -7
  214. package/dist/assets/storefront/src/components/layout/navbar/login-button.tsx +24 -21
  215. package/dist/assets/storefront/src/components/layout/navbar/mobile-nav.tsx +8 -8
  216. package/dist/assets/storefront/src/components/layout/navbar/nav-menu-items.tsx +4 -6
  217. package/dist/assets/storefront/src/components/layout/navbar/navbar-cart.tsx +1 -1
  218. package/dist/assets/storefront/src/components/layout/navbar/navbar-collections.tsx +41 -42
  219. package/dist/assets/storefront/src/components/layout/navbar/navbar-link.tsx +7 -10
  220. package/dist/assets/storefront/src/components/layout/navbar/navbar-user.tsx +18 -23
  221. package/dist/assets/storefront/src/components/layout/navbar/theme-switcher.tsx +9 -9
  222. package/dist/assets/storefront/src/components/layout/navbar.tsx +36 -31
  223. package/dist/assets/storefront/src/components/layout/search-input.tsx +35 -32
  224. package/dist/assets/storefront/src/components/providers/awaiting-approval-banner.tsx +12 -10
  225. package/dist/assets/storefront/src/components/providers/cart-count-server.tsx +14 -12
  226. package/dist/assets/storefront/src/components/providers/company-context-guard.tsx +4 -4
  227. package/dist/assets/storefront/src/components/providers/company-permissions-server.tsx +2 -6
  228. package/dist/assets/storefront/src/components/providers/theme-provider.tsx +3 -3
  229. package/dist/assets/storefront/src/components/shared/breadcrumbs.tsx +4 -1
  230. package/dist/assets/storefront/src/components/shared/country-select.tsx +63 -67
  231. package/dist/assets/storefront/src/components/shared/pagination.tsx +15 -28
  232. package/dist/assets/storefront/src/components/shared/prefetch-link.tsx +1 -1
  233. package/dist/assets/storefront/src/components/shared/skeletons/search-input-skeleton.tsx +1 -3
  234. package/dist/assets/storefront/src/components/ui/accordion.tsx +46 -51
  235. package/dist/assets/storefront/src/components/ui/alert-dialog.tsx +94 -121
  236. package/dist/assets/storefront/src/components/ui/alert.tsx +48 -54
  237. package/dist/assets/storefront/src/components/ui/aspect-ratio.tsx +5 -7
  238. package/dist/assets/storefront/src/components/ui/avatar.tsx +29 -44
  239. package/dist/assets/storefront/src/components/ui/badge.tsx +28 -37
  240. package/dist/assets/storefront/src/components/ui/breadcrumb.tsx +82 -89
  241. package/dist/assets/storefront/src/components/ui/button.tsx +43 -49
  242. package/dist/assets/storefront/src/components/ui/calendar.tsx +157 -198
  243. package/dist/assets/storefront/src/components/ui/card.tsx +53 -76
  244. package/dist/assets/storefront/src/components/ui/carousel.tsx +194 -212
  245. package/dist/assets/storefront/src/components/ui/chart.tsx +274 -317
  246. package/dist/assets/storefront/src/components/ui/checkbox.tsx +24 -27
  247. package/dist/assets/storefront/src/components/ui/collapsible.tsx +9 -21
  248. package/dist/assets/storefront/src/components/ui/command.tsx +114 -159
  249. package/dist/assets/storefront/src/components/ui/context-menu.tsx +167 -199
  250. package/dist/assets/storefront/src/components/ui/dialog.tsx +97 -114
  251. package/dist/assets/storefront/src/components/ui/drawer.tsx +93 -107
  252. package/dist/assets/storefront/src/components/ui/dropdown-menu.tsx +171 -206
  253. package/dist/assets/storefront/src/components/ui/empty-state.tsx +5 -5
  254. package/dist/assets/storefront/src/components/ui/field.tsx +196 -208
  255. package/dist/assets/storefront/src/components/ui/form.tsx +115 -139
  256. package/dist/assets/storefront/src/components/ui/hover-card.tsx +27 -33
  257. package/dist/assets/storefront/src/components/ui/input-otp.tsx +50 -59
  258. package/dist/assets/storefront/src/components/ui/input.tsx +17 -17
  259. package/dist/assets/storefront/src/components/ui/kbd-shortcut.tsx +3 -1
  260. package/dist/assets/storefront/src/components/ui/label.tsx +16 -19
  261. package/dist/assets/storefront/src/components/ui/menubar.tsx +193 -223
  262. package/dist/assets/storefront/src/components/ui/navigation-menu.tsx +123 -130
  263. package/dist/assets/storefront/src/components/ui/pagination.tsx +87 -108
  264. package/dist/assets/storefront/src/components/ui/popover.tsx +29 -35
  265. package/dist/assets/storefront/src/components/ui/progress.tsx +19 -26
  266. package/dist/assets/storefront/src/components/ui/radio-group.tsx +32 -38
  267. package/dist/assets/storefront/src/components/ui/resizable.tsx +37 -42
  268. package/dist/assets/storefront/src/components/ui/scroll-area.tsx +41 -47
  269. package/dist/assets/storefront/src/components/ui/select.tsx +130 -152
  270. package/dist/assets/storefront/src/components/ui/separator.tsx +21 -21
  271. package/dist/assets/storefront/src/components/ui/sheet.tsx +90 -111
  272. package/dist/assets/storefront/src/components/ui/sidebar.tsx +611 -649
  273. package/dist/assets/storefront/src/components/ui/skeleton.tsx +10 -10
  274. package/dist/assets/storefront/src/components/ui/slider.tsx +50 -55
  275. package/dist/assets/storefront/src/components/ui/sonner.tsx +20 -20
  276. package/dist/assets/storefront/src/components/ui/switch.tsx +23 -26
  277. package/dist/assets/storefront/src/components/ui/table.tsx +65 -97
  278. package/dist/assets/storefront/src/components/ui/tabs.tsx +39 -55
  279. package/dist/assets/storefront/src/components/ui/textarea.tsx +14 -14
  280. package/dist/assets/storefront/src/components/ui/toggle-group.tsx +56 -62
  281. package/dist/assets/storefront/src/components/ui/toggle.tsx +37 -38
  282. package/dist/assets/storefront/src/components/ui/tooltip.tsx +38 -46
  283. package/dist/assets/storefront/src/config/scenario-meta.ts +2 -2
  284. package/dist/assets/storefront/src/config/scenario.ts +14 -16
  285. package/dist/assets/storefront/src/contexts/auth-context.tsx +5 -6
  286. package/dist/assets/storefront/src/graphql.ts +5 -5
  287. package/dist/assets/storefront/src/hooks/use-mobile.ts +13 -13
  288. package/dist/assets/storefront/src/i18n/locale-utils.ts +3 -3
  289. package/dist/assets/storefront/src/i18n/navigation.ts +4 -4
  290. package/dist/assets/storefront/src/i18n/request.ts +4 -4
  291. package/dist/assets/storefront/src/i18n/routing.ts +5 -5
  292. package/dist/assets/storefront/src/i18n/server.ts +3 -3
  293. package/dist/assets/storefront/src/lib/actions/switch-channel.ts +9 -9
  294. package/dist/assets/storefront/src/lib/actions/switch-currency.ts +7 -7
  295. package/dist/assets/storefront/src/lib/auth.ts +1 -1
  296. package/dist/assets/storefront/src/lib/backend-health.ts +3 -3
  297. package/dist/assets/storefront/src/lib/cart-count-context.tsx +10 -4
  298. package/dist/assets/storefront/src/lib/cart-guard-utils.ts +2 -1
  299. package/dist/assets/storefront/src/lib/cart-guard.ts +7 -6
  300. package/dist/assets/storefront/src/lib/channel-server.ts +4 -4
  301. package/dist/assets/storefront/src/lib/company-context.ts +1 -1
  302. package/dist/assets/storefront/src/lib/company-permissions-context.tsx +1 -5
  303. package/dist/assets/storefront/src/lib/currency-server.ts +4 -4
  304. package/dist/assets/storefront/src/lib/format.ts +16 -7
  305. package/dist/assets/storefront/src/lib/metadata.ts +39 -44
  306. package/dist/assets/storefront/src/lib/quantity.ts +2 -4
  307. package/dist/assets/storefront/src/lib/search-bar-context.tsx +7 -4
  308. package/dist/assets/storefront/src/lib/use-recent-searches.ts +8 -6
  309. package/dist/assets/storefront/src/lib/utils.ts +3 -3
  310. package/dist/assets/storefront/src/lib/vendure/actions.ts +18 -16
  311. package/dist/assets/storefront/src/lib/vendure/api.ts +36 -23
  312. package/dist/assets/storefront/src/lib/vendure/approval-utils.ts +9 -8
  313. package/dist/assets/storefront/src/lib/vendure/cached.ts +20 -15
  314. package/dist/assets/storefront/src/lib/vendure/queries.ts +15 -5
  315. package/dist/assets/storefront/src/middleware.ts +1 -1
  316. package/dist/assets/storefront/src/scenarios/customer/hero.tsx +2 -2
  317. package/dist/assets/storefront/src/scenarios/customer/meta.ts +1 -1
  318. package/dist/bin/run.js +1 -1
  319. package/dist/cli.d.ts +1 -1
  320. package/dist/index.d.ts +5 -5
  321. package/dist/index.js +1 -1
  322. package/dist/scaffold-storefront-only.js +1 -1
  323. package/dist/scaffolder.js +1 -1
  324. package/dist/template-renderer.js +1 -1
  325. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
- import type {Metadata} from 'next';
2
- import {Suspense} from 'react';
3
- import {client} from '@/lib/vendure/api';
4
- import {GetCustomerAddressesQuery, GetAvailableCountriesQuery} from '@/lib/vendure/queries';
5
- import {ErrorState} from '@/components/shared/error-state';
6
- import {AddressesClient} from './addresses-client';
7
- import {getTranslations} from 'next-intl/server';
1
+ import { ErrorState } from '@/components/shared/error-state';
2
+ import { client } from '@/lib/vendure/api';
3
+ import { GetAvailableCountriesQuery, GetCustomerAddressesQuery } from '@/lib/vendure/queries';
4
+ import type { Metadata } from 'next';
5
+ import { getTranslations } from 'next-intl/server';
6
+ import { Suspense } from 'react';
7
+ import { AddressesClient } from './addresses-client';
8
8
 
9
9
  export const metadata: Metadata = {
10
10
  title: 'Addresses',
@@ -19,9 +19,7 @@ async function AddressesContent() {
19
19
  const [addressesResult, addressesError] = addressesRes;
20
20
  const [countriesResult, countriesError] = countriesRes;
21
21
  if (addressesError || countriesError) {
22
- return (
23
- <ErrorState message="We couldn't load this page. Please try again later." />
24
- );
22
+ return <ErrorState message="We couldn't load this page. Please try again later." />;
25
23
  }
26
24
 
27
25
  const addresses = addressesResult.data.activeCustomer?.addresses || [];
@@ -31,9 +29,7 @@ async function AddressesContent() {
31
29
  <div className="space-y-6">
32
30
  <div>
33
31
  <h1 className="text-3xl font-bold">{t('addresses')}</h1>
34
- <p className="text-muted-foreground mt-2">
35
- {t('manageAddresses')}
36
- </p>
32
+ <p className="text-muted-foreground mt-2">{t('manageAddresses')}</p>
37
33
  </div>
38
34
 
39
35
  <AddressesClient addresses={addresses} countries={countries} />
@@ -43,11 +39,13 @@ async function AddressesContent() {
43
39
 
44
40
  export default function AddressesPage() {
45
41
  return (
46
- <Suspense fallback={
47
- <div className="text-center py-12">
48
- <p className="text-sm text-muted-foreground">Loading...</p>
49
- </div>
50
- }>
42
+ <Suspense
43
+ fallback={
44
+ <div className="text-center py-12">
45
+ <p className="text-sm text-muted-foreground">Loading...</p>
46
+ </div>
47
+ }
48
+ >
51
49
  <AddressesContent />
52
50
  </Suspense>
53
51
  );
@@ -1,8 +1,8 @@
1
1
  'use server';
2
2
 
3
- import {client} from '@/lib/vendure/api';
4
- import {SubmitApprovalDecisionMutation} from '@/lib/vendure/mutations';
5
- import {revalidatePath} from 'next/cache';
3
+ import { client } from '@/lib/vendure/api';
4
+ import { SubmitApprovalDecisionMutation } from '@/lib/vendure/mutations';
5
+ import { revalidatePath } from 'next/cache';
6
6
 
7
7
  interface SubmitDecisionInput {
8
8
  approvalRequestId: string;
@@ -11,10 +11,7 @@ interface SubmitDecisionInput {
11
11
  }
12
12
 
13
13
  export async function submitApprovalDecision(input: SubmitDecisionInput) {
14
- const [, error] = await client.mutate(
15
- SubmitApprovalDecisionMutation,
16
- {input},
17
- );
14
+ const [, error] = await client.mutate(SubmitApprovalDecisionMutation, { input });
18
15
 
19
16
  if (error) {
20
17
  return {
@@ -24,5 +21,5 @@ export async function submitApprovalDecision(input: SubmitDecisionInput) {
24
21
  }
25
22
 
26
23
  revalidatePath('/account/approvals');
27
- return {success: true};
24
+ return { success: true };
28
25
  }
@@ -1,27 +1,28 @@
1
- import type {Metadata} from 'next';
2
- import {Suspense} from 'react';
3
- import {ExternalLink} from 'lucide-react';
4
- import {client} from '@/lib/vendure/api';
5
- import {GetMyApprovalRequestsQuery, GetOrderSummaryQuery} from '@/lib/vendure/queries';
6
- import {getActiveCustomer} from '@/lib/vendure/actions';
7
- import {redirect} from '@/i18n/navigation';
8
- import {ErrorState} from '@/components/shared/error-state';
9
- import {Card, CardContent, CardHeader, CardTitle} from '@/components/ui/card';
10
- import {ApprovalStatusBadge} from '@/components/commerce/approval-status-badge';
11
- import {ApprovalDecisionForm} from '@/components/commerce/approval-decision-form';
12
- import {Price} from '@/components/commerce/price';
13
- import {formatDate, formatDateTime} from '@/lib/format';
14
- import {setRequestLocale, getTranslations} from 'next-intl/server';
15
- import {Link} from '@/i18n/navigation';
16
- import {Button} from '@/components/ui/button';
1
+ import { ApprovalDecisionForm } from '@/components/commerce/approval-decision-form';
2
+ import { ApprovalStatusBadge } from '@/components/commerce/approval-status-badge';
3
+ import { Price } from '@/components/commerce/price';
4
+ import { ErrorState } from '@/components/shared/error-state';
5
+ import { Button } from '@/components/ui/button';
6
+ import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
7
+ import { ResultOf } from '@/graphql';
8
+ import { Link, redirect } from '@/i18n/navigation';
9
+ import { formatDateTime } from '@/lib/format';
10
+ import { getActiveCustomer } from '@/lib/vendure/actions';
11
+ import { client } from '@/lib/vendure/api';
12
+ import { GetMyApprovalRequestsQuery, GetOrderSummaryQuery } from '@/lib/vendure/queries';
13
+ import { ExternalLink } from 'lucide-react';
14
+ import type { Metadata } from 'next';
15
+ import { getTranslations, setRequestLocale } from 'next-intl/server';
17
16
  import Image from 'next/image';
18
- import {ResultOf} from '@/graphql';
17
+ import { Suspense } from 'react';
19
18
 
20
19
  export const metadata: Metadata = {
21
20
  title: 'Approvals',
22
21
  };
23
22
 
24
- type ApprovalRequest = NonNullable<ResultOf<typeof GetMyApprovalRequestsQuery>['myApprovalRequests']>['items'][number];
23
+ type ApprovalRequest = NonNullable<
24
+ ResultOf<typeof GetMyApprovalRequestsQuery>['myApprovalRequests']
25
+ >['items'][number];
25
26
  type OrderSummary = NonNullable<ResultOf<typeof GetOrderSummaryQuery>['orderByCode']>;
26
27
  type ApprovalsTranslations = Awaited<ReturnType<typeof getTranslations<'Approvals'>>>;
27
28
 
@@ -37,8 +38,8 @@ async function fetchOrderSummaries(
37
38
  requests: Array<{ entityType: string; summary: string | null }>,
38
39
  ): Promise<Map<string, OrderSummary>> {
39
40
  const orderCodes = requests
40
- .filter(r => r.entityType === 'Order')
41
- .map(r => parseOrderCode(r.summary))
41
+ .filter((r) => r.entityType === 'Order')
42
+ .map((r) => parseOrderCode(r.summary))
42
43
  .filter((code): code is string => code != null);
43
44
 
44
45
  const uniqueCodes = [...new Set(orderCodes)];
@@ -46,7 +47,7 @@ async function fetchOrderSummaries(
46
47
 
47
48
  await Promise.all(
48
49
  uniqueCodes.map(async (code) => {
49
- const [result, error] = await client.query(GetOrderSummaryQuery, {code});
50
+ const [result, error] = await client.query(GetOrderSummaryQuery, { code });
50
51
  if (!error && result?.data?.orderByCode) {
51
52
  orderMap.set(code, result.data.orderByCode);
52
53
  }
@@ -93,12 +94,17 @@ function PendingApprovalCard({
93
94
  )}
94
95
  <p className="text-sm text-muted-foreground mt-0.5">
95
96
  {requester && (
96
- <span>{t('requestedBy', {name: `${requester.firstName} ${requester.lastName}`})} &middot; </span>
97
+ <span>
98
+ {t('requestedBy', {
99
+ name: `${requester.firstName} ${requester.lastName}`,
100
+ })}{' '}
101
+ &middot;{' '}
102
+ </span>
97
103
  )}
98
104
  {formatDateTime(request.createdAt, locale)}
99
105
  </p>
100
106
  </div>
101
- <ApprovalStatusBadge status={request.status}/>
107
+ <ApprovalStatusBadge status={request.status} />
102
108
  </div>
103
109
  </CardHeader>
104
110
  <CardContent className="space-y-3">
@@ -109,7 +115,10 @@ function PendingApprovalCard({
109
115
  <div className="relative h-10 w-10 rounded overflow-hidden bg-gray-100 flex-shrink-0">
110
116
  {line.productVariant.product.featuredAsset && (
111
117
  <Image
112
- src={line.productVariant.product.featuredAsset.preview + '?w=80&h=80'}
118
+ src={
119
+ line.productVariant.product.featuredAsset.preview +
120
+ '?w=80&h=80'
121
+ }
113
122
  alt={line.productVariant.product.name}
114
123
  fill
115
124
  className="object-cover"
@@ -119,21 +128,20 @@ function PendingApprovalCard({
119
128
  <div className="flex-1 min-w-0">
120
129
  <p className="truncate font-medium">{line.productVariant.product.name}</p>
121
130
  <p className="text-xs text-muted-foreground">
122
- {line.productVariant.name} &middot; {t('quantityLabel', {qty: line.quantity})}
131
+ {line.productVariant.name} &middot;{' '}
132
+ {t('quantityLabel', { qty: line.quantity })}
123
133
  </p>
124
134
  </div>
125
135
  </div>
126
136
  ))}
127
137
  {remainingCount > 0 && (
128
138
  <p className="text-xs text-muted-foreground pl-[52px]">
129
- {t('andMoreItems', {count: remainingCount})}
139
+ {t('andMoreItems', { count: remainingCount })}
130
140
  </p>
131
141
  )}
132
142
  </div>
133
143
  )}
134
- {!order && request.summary && (
135
- <p className="text-sm">{request.summary}</p>
136
- )}
144
+ {!order && request.summary && <p className="text-sm">{request.summary}</p>}
137
145
  {orderCode && (
138
146
  <Button variant="outline" size="sm" asChild>
139
147
  <Link href={`/account/orders/${orderCode}`}>
@@ -142,15 +150,20 @@ function PendingApprovalCard({
142
150
  </Link>
143
151
  </Button>
144
152
  )}
145
- <ApprovalDecisionForm approvalRequestId={request.id}/>
153
+ <ApprovalDecisionForm approvalRequestId={request.id} />
146
154
  </CardContent>
147
155
  </Card>
148
156
  );
149
157
  }
150
158
 
151
159
  /** Group history requests by entity (order), showing one card per order with all approval rounds. */
152
- function groupByEntity(requests: ApprovalRequest[]): Array<{ key: string; orderCode: string | null; requester: string; requests: ApprovalRequest[] }> {
153
- const groups = new Map<string, { orderCode: string | null; requester: string; requests: ApprovalRequest[] }>();
160
+ function groupByEntity(
161
+ requests: ApprovalRequest[],
162
+ ): Array<{ key: string; orderCode: string | null; requester: string; requests: ApprovalRequest[] }> {
163
+ const groups = new Map<
164
+ string,
165
+ { orderCode: string | null; requester: string; requests: ApprovalRequest[] }
166
+ >();
154
167
  for (const r of requests) {
155
168
  const key = `${r.entityType}:${r.entityId}`;
156
169
  if (!groups.has(key)) {
@@ -189,7 +202,10 @@ function HistoryGroupCard({
189
202
  <div>
190
203
  {orderCode ? (
191
204
  <CardTitle className="text-base">
192
- <Link href={`/account/orders/${orderCode}`} className="text-primary hover:underline">
205
+ <Link
206
+ href={`/account/orders/${orderCode}`}
207
+ className="text-primary hover:underline"
208
+ >
193
209
  Order {orderCode}
194
210
  </Link>
195
211
  </CardTitle>
@@ -198,22 +214,22 @@ function HistoryGroupCard({
198
214
  {latest.entityType} #{latest.entityId}
199
215
  </CardTitle>
200
216
  )}
201
- {requester && (
202
- <p className="text-sm text-muted-foreground mt-0.5">{requester}</p>
203
- )}
217
+ {requester && <p className="text-sm text-muted-foreground mt-0.5">{requester}</p>}
204
218
  </div>
205
- <ApprovalStatusBadge status={latest.status}/>
219
+ <ApprovalStatusBadge status={latest.status} />
206
220
  </div>
207
221
  </CardHeader>
208
222
  <CardContent className="pt-0">
209
223
  <div className="text-xs text-muted-foreground space-y-2">
210
224
  {requests.map((r) => {
211
- const madeDecisions = r.decisions?.filter(d => d.decision !== 'PENDING') ?? [];
225
+ const madeDecisions = r.decisions?.filter((d) => d.decision !== 'PENDING') ?? [];
212
226
  if (madeDecisions.length === 0) return null;
213
227
  return (
214
228
  <div key={r.id}>
215
- <span className="text-muted-foreground/60">{formatDateTime(r.createdAt, locale)}</span>
216
- {madeDecisions.map(d => (
229
+ <span className="text-muted-foreground/60">
230
+ {formatDateTime(r.createdAt, locale)}
231
+ </span>
232
+ {madeDecisions.map((d) => (
217
233
  <div key={d.id} className="ml-2">
218
234
  {d.customer
219
235
  ? `${d.customer.firstName} ${d.customer.lastName}`
@@ -233,27 +249,21 @@ function HistoryGroupCard({
233
249
 
234
250
  const APPROVALS_PAGE_SIZE = 50;
235
251
 
236
- async function ApprovalsContent({params}: {params: Promise<{locale: string}>}) {
237
- const {locale} = await params;
252
+ async function ApprovalsContent({ params }: { params: Promise<{ locale: string }> }) {
253
+ const { locale } = await params;
238
254
  setRequestLocale(locale);
239
- const [t, activeCustomer] = await Promise.all([
240
- getTranslations('Approvals'),
241
- getActiveCustomer(),
242
- ]);
255
+ const [t, activeCustomer] = await Promise.all([getTranslations('Approvals'), getActiveCustomer()]);
243
256
  if (!activeCustomer) {
244
257
  return await redirect('/sign-in');
245
258
  }
246
259
 
247
- const [result, error] = await client.query(
248
- GetMyApprovalRequestsQuery,
249
- {options: {take: APPROVALS_PAGE_SIZE, sort: {createdAt: 'DESC'}}},
250
- );
260
+ const [result, error] = await client.query(GetMyApprovalRequestsQuery, {
261
+ options: { take: APPROVALS_PAGE_SIZE, sort: { createdAt: 'DESC' } },
262
+ });
251
263
  if (error) {
252
- return (
253
- <ErrorState message="We couldn't load this page. Please try again later." />
254
- );
264
+ return <ErrorState message="We couldn't load this page. Please try again later." />;
255
265
  }
256
- const {data} = result;
266
+ const { data } = result;
257
267
  const allRequests = data.myApprovalRequests?.items ?? [];
258
268
 
259
269
  if (allRequests.length === 0) {
@@ -268,14 +278,10 @@ async function ApprovalsContent({params}: {params: Promise<{locale: string}>}) {
268
278
  // A request with no decisions yet (workflow still initializing) is treated as
269
279
  // pending if the status is PENDING or IN_PROGRESS and I'm not the requester,
270
280
  // since it likely hasn't assigned approvers yet.
271
- const pendingApprovals = allRequests.filter(r =>
272
- r.decisions?.some(d =>
273
- d.decision === 'PENDING' && d.customer?.id === activeCustomer.id,
274
- ),
275
- );
276
- const pastAndOther = allRequests.filter(r =>
277
- !pendingApprovals.includes(r),
281
+ const pendingApprovals = allRequests.filter((r) =>
282
+ r.decisions?.some((d) => d.decision === 'PENDING' && d.customer?.id === activeCustomer.id),
278
283
  );
284
+ const pastAndOther = allRequests.filter((r) => !pendingApprovals.includes(r));
279
285
 
280
286
  // Only fetch order summaries for pending approvals (history rows don't need them)
281
287
  const orderMap = await fetchOrderSummaries(pendingApprovals);
@@ -286,7 +292,7 @@ async function ApprovalsContent({params}: {params: Promise<{locale: string}>}) {
286
292
  <section>
287
293
  <h2 className="text-2xl font-bold mb-4">{t('pendingDecisionsHeading')}</h2>
288
294
  <p className="text-sm text-muted-foreground mb-4">
289
- {t('pendingDecisionsCount', {count: pendingApprovals.length})}
295
+ {t('pendingDecisionsCount', { count: pendingApprovals.length })}
290
296
  </p>
291
297
  <div className="space-y-4">
292
298
  {pendingApprovals.map((request) => (
@@ -323,17 +329,19 @@ async function ApprovalsContent({params}: {params: Promise<{locale: string}>}) {
323
329
  );
324
330
  }
325
331
 
326
- export default async function ApprovalsPage({params}: {params: Promise<{locale: string}>}) {
332
+ export default async function ApprovalsPage({ params }: { params: Promise<{ locale: string }> }) {
327
333
  const t = await getTranslations('Approvals');
328
334
  return (
329
335
  <div>
330
336
  <h1 className="text-3xl font-bold mb-6">{t('pageTitle')}</h1>
331
- <Suspense fallback={
332
- <div className="text-center py-12">
333
- <p className="text-sm text-muted-foreground">{t('loading')}</p>
334
- </div>
335
- }>
336
- <ApprovalsContent params={params}/>
337
+ <Suspense
338
+ fallback={
339
+ <div className="text-center py-12">
340
+ <p className="text-sm text-muted-foreground">{t('loading')}</p>
341
+ </div>
342
+ }
343
+ >
344
+ <ApprovalsContent params={params} />
337
345
  </Suspense>
338
346
  </div>
339
347
  );
@@ -1,8 +1,8 @@
1
1
  'use server';
2
2
 
3
- import {client} from '@/lib/vendure/api';
4
- import {UpdateCompanyAccountMutation} from '@/lib/vendure/mutations';
5
- import {revalidatePath} from 'next/cache';
3
+ import { client } from '@/lib/vendure/api';
4
+ import { UpdateCompanyAccountMutation } from '@/lib/vendure/mutations';
5
+ import { revalidatePath } from 'next/cache';
6
6
 
7
7
  export async function updateCompanyAction(
8
8
  prevState: { error?: string; success?: boolean } | undefined,
@@ -11,23 +11,22 @@ export async function updateCompanyAction(
11
11
  const companyName = formData.get('companyName') as string;
12
12
 
13
13
  if (!companyName?.trim()) {
14
- return {error: 'Company name is required'};
14
+ return { error: 'Company name is required' };
15
15
  }
16
16
 
17
- const [result, error] = await client.mutate(
18
- UpdateCompanyAccountMutation,
19
- {input: {name: companyName.trim()}},
20
- );
17
+ const [result, error] = await client.mutate(UpdateCompanyAccountMutation, {
18
+ input: { name: companyName.trim() },
19
+ });
21
20
 
22
21
  if (error) {
23
- return {error: 'An unexpected error occurred. Please try again.'};
22
+ return { error: 'An unexpected error occurred. Please try again.' };
24
23
  }
25
24
 
26
25
  if (!result.data.updateCompanyAccount?.company) {
27
- return {error: 'Failed to update company'};
26
+ return { error: 'Failed to update company' };
28
27
  }
29
28
 
30
29
  revalidatePath('/account/company');
31
30
  revalidatePath('/', 'layout');
32
- return {success: true};
31
+ return { success: true };
33
32
  }
@@ -1,12 +1,12 @@
1
1
  'use server';
2
2
 
3
- import {client} from '@/lib/vendure/api';
3
+ import { client } from '@/lib/vendure/api';
4
4
  import {
5
5
  CreateCompanyAddressMutation,
6
- UpdateCompanyAddressMutation,
7
6
  DeleteCompanyAddressMutation,
7
+ UpdateCompanyAddressMutation,
8
8
  } from '@/lib/vendure/mutations';
9
- import {revalidatePath} from 'next/cache';
9
+ import { revalidatePath } from 'next/cache';
10
10
 
11
11
  interface CreateCompanyAddressInput {
12
12
  fullName: string;
@@ -38,10 +38,7 @@ interface UpdateCompanyAddressInput {
38
38
  }
39
39
 
40
40
  export async function createCompanyAddressAction(input: CreateCompanyAddressInput) {
41
- const [result, error] = await client.mutate(
42
- CreateCompanyAddressMutation,
43
- {input},
44
- );
41
+ const [result, error] = await client.mutate(CreateCompanyAddressMutation, { input });
45
42
  if (error) throw error;
46
43
 
47
44
  if (!result.data.createCompanyAddress) {
@@ -53,10 +50,7 @@ export async function createCompanyAddressAction(input: CreateCompanyAddressInpu
53
50
  }
54
51
 
55
52
  export async function updateCompanyAddressAction(input: UpdateCompanyAddressInput) {
56
- const [result, error] = await client.mutate(
57
- UpdateCompanyAddressMutation,
58
- {input},
59
- );
53
+ const [result, error] = await client.mutate(UpdateCompanyAddressMutation, { input });
60
54
  if (error) throw error;
61
55
 
62
56
  if (!result.data.updateCompanyAddress) {
@@ -68,10 +62,7 @@ export async function updateCompanyAddressAction(input: UpdateCompanyAddressInpu
68
62
  }
69
63
 
70
64
  export async function deleteCompanyAddressAction(id: string) {
71
- const [result, error] = await client.mutate(
72
- DeleteCompanyAddressMutation,
73
- {id},
74
- );
65
+ const [result, error] = await client.mutate(DeleteCompanyAddressMutation, { id });
75
66
  if (error) throw error;
76
67
 
77
68
  if (result.data.deleteCompanyAddress.result !== 'DELETED') {