orionplace-react 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/README.md +276 -35
  2. package/bin/orionplace-react.mjs +4 -1
  3. package/package.json +18 -5
  4. package/runtime/app.d.mts +6 -0
  5. package/runtime/app.mjs +48 -0
  6. package/runtime/marketplace.d.mts +13 -8
  7. package/runtime/marketplace.mjs +287 -211
  8. package/src/project-readme.mjs +95 -35
  9. package/src/setup.mjs +36 -13
  10. package/templates/app/StorefrontShell.tsx +435 -0
  11. package/templates/app/[[...path]]/page.app.tsx +11 -0
  12. package/templates/app/_storefront/ActivityPage.tsx +23 -0
  13. package/templates/app/_storefront/AddressesPage.tsx +29 -0
  14. package/templates/app/_storefront/AppRoutes.tsx +182 -0
  15. package/templates/app/_storefront/ArticlePage.tsx +81 -0
  16. package/templates/app/_storefront/CartPage.tsx +53 -0
  17. package/templates/app/_storefront/CatalogPage.tsx +37 -0
  18. package/templates/app/_storefront/CategoryPage.tsx +64 -0
  19. package/templates/app/_storefront/ContactPage.tsx +32 -0
  20. package/templates/app/_storefront/HomePage.tsx +140 -0
  21. package/templates/app/_storefront/JournalPage.tsx +36 -0
  22. package/templates/app/_storefront/LogoutPage.tsx +91 -0
  23. package/templates/app/_storefront/ManufacturersPage.tsx +64 -0
  24. package/templates/app/_storefront/OrdersPage.tsx +129 -0
  25. package/templates/app/_storefront/ProductPage.tsx +105 -0
  26. package/templates/app/_storefront/ProfilePage.tsx +75 -0
  27. package/templates/app/_storefront/PromoPage.tsx +66 -0
  28. package/templates/app/_storefront/PromocodesPage.tsx +17 -0
  29. package/templates/app/_storefront/SearchPage.tsx +220 -0
  30. package/templates/app/_storefront/SellersPage.tsx +160 -0
  31. package/templates/app/_storefront/StorefrontErrorRoute.tsx +42 -0
  32. package/templates/app/_storefront/StorefrontPageMetadata.tsx +74 -0
  33. package/templates/app/_storefront/StorefrontPageStatus.tsx +61 -0
  34. package/templates/app/_storefront/StoresPage.tsx +53 -0
  35. package/templates/app/_storefront/SubscriptionsPage.tsx +62 -0
  36. package/templates/app/_storefront/SupportPage.tsx +141 -0
  37. package/templates/app/_storefront/TariffsPage.tsx +180 -0
  38. package/templates/app/_storefront/UnsubscribePage.tsx +29 -0
  39. package/templates/app/_storefront/WalletPage.tsx +78 -0
  40. package/templates/app/_storefront/WishlistPage.tsx +79 -0
  41. package/templates/app/_storefront/storefrontRoutes.tsx +738 -0
  42. package/templates/app/_storefront/useAccountWallet.ts +27 -0
  43. package/templates/app/_storefront/useBlogComments.ts +389 -0
  44. package/templates/app/_storefront/useProductSearch.ts +171 -0
  45. package/templates/app/_storefront/useStorefrontNavigation.ts +36 -0
  46. package/templates/app/activity/page.tsx +9 -0
  47. package/templates/app/addresses/page.tsx +9 -0
  48. package/templates/app/api/[...orionplace]/route.ts +11 -4
  49. package/templates/app/browse/page.tsx +27 -0
  50. package/templates/app/cart/page.tsx +9 -0
  51. package/templates/app/catalog/page.tsx +9 -0
  52. package/templates/app/category/[id]/page.tsx +9 -0
  53. package/templates/app/contact/page.tsx +9 -0
  54. package/templates/app/error.tsx +7 -0
  55. package/templates/app/featured/page.tsx +9 -0
  56. package/templates/app/global-error.tsx +61 -0
  57. package/templates/app/globals.css +50 -2
  58. package/templates/app/journal/[id]/page.tsx +9 -0
  59. package/templates/app/journal/page.tsx +9 -0
  60. package/templates/app/layout.app.tsx +20 -0
  61. package/templates/app/layout.tsx +44 -10
  62. package/templates/app/logout/page.tsx +9 -0
  63. package/templates/app/manufacturers/page.tsx +9 -0
  64. package/templates/app/not-found.tsx +5 -0
  65. package/templates/app/orders/page.tsx +9 -0
  66. package/templates/app/page.module.css +12 -8
  67. package/templates/app/page.tsx +8 -79
  68. package/templates/app/product/[id]/page.tsx +9 -0
  69. package/templates/app/profile/page.tsx +9 -0
  70. package/templates/app/promo/[id]/page.tsx +9 -0
  71. package/templates/app/promocodes/page.tsx +9 -0
  72. package/templates/app/ps3/blog/[...orionplace]/route.ts +13 -0
  73. package/templates/app/sellers/page.tsx +9 -0
  74. package/templates/app/storefront.module.css +406 -0
  75. package/templates/app/stores/page.tsx +9 -0
  76. package/templates/app/subscriptions/page.tsx +9 -0
  77. package/templates/app/tariffs/[slug]/[id]/page.tsx +9 -0
  78. package/templates/app/tariffs/page.tsx +9 -0
  79. package/templates/app/tickets/page.tsx +9 -0
  80. package/templates/app/unsubscribe/page.tsx +9 -0
  81. package/templates/app/wallet/page.tsx +9 -0
  82. package/templates/app/wishlist/page.tsx +9 -0
  83. package/templates/components/orionplace/account/AccountActivity.README.md +70 -0
  84. package/templates/components/orionplace/account/AccountActivity.module.css +16 -0
  85. package/templates/components/orionplace/account/AccountActivity.tsx +94 -0
  86. package/templates/components/orionplace/account/AccountPromocodes.README.md +70 -0
  87. package/templates/components/orionplace/account/AccountPromocodes.module.css +92 -0
  88. package/templates/components/orionplace/account/AccountPromocodes.tsx +257 -0
  89. package/templates/components/orionplace/account/AccountSection.README.md +46 -0
  90. package/templates/components/orionplace/account/AccountSection.module.css +110 -0
  91. package/templates/components/orionplace/account/AccountSection.tsx +109 -0
  92. package/templates/components/orionplace/account/ProfileAvatar.README.md +48 -0
  93. package/templates/components/orionplace/account/ProfileAvatar.module.css +31 -0
  94. package/templates/components/orionplace/account/ProfileAvatar.tsx +138 -0
  95. package/templates/components/orionplace/account/ProfileDeleteAccount.README.md +59 -0
  96. package/templates/components/orionplace/account/ProfileDeleteAccount.module.css +51 -0
  97. package/templates/components/orionplace/account/ProfileDeleteAccount.tsx +171 -0
  98. package/templates/components/orionplace/account/ProfileDetailsForm.README.md +44 -0
  99. package/templates/components/orionplace/account/ProfileDetailsForm.module.css +35 -0
  100. package/templates/components/orionplace/account/ProfileDetailsForm.tsx +178 -0
  101. package/templates/components/orionplace/account/ProfileEmailSettings.README.md +52 -0
  102. package/templates/components/orionplace/account/ProfileEmailSettings.module.css +51 -0
  103. package/templates/components/orionplace/account/ProfileEmailSettings.tsx +276 -0
  104. package/templates/components/orionplace/account/ProfilePasswordForm.README.md +45 -0
  105. package/templates/components/orionplace/account/ProfilePasswordForm.module.css +43 -0
  106. package/templates/components/orionplace/account/ProfilePasswordForm.tsx +227 -0
  107. package/templates/components/orionplace/account/ProfileSignIn.README.md +64 -0
  108. package/templates/components/orionplace/account/ProfileSignIn.module.css +86 -0
  109. package/templates/components/orionplace/account/ProfileSignIn.tsx +463 -0
  110. package/templates/components/orionplace/account/SignInHistory.README.md +52 -0
  111. package/templates/components/orionplace/account/SignInHistory.module.css +81 -0
  112. package/templates/components/orionplace/account/SignInHistory.tsx +231 -0
  113. package/templates/components/orionplace/account/StorefrontLogout.README.md +48 -0
  114. package/templates/components/orionplace/account/StorefrontLogout.module.css +166 -0
  115. package/templates/components/orionplace/account/StorefrontLogout.tsx +73 -0
  116. package/templates/components/orionplace/account/StorefrontProfile.README.md +71 -0
  117. package/templates/components/orionplace/account/StorefrontProfile.module.css +65 -0
  118. package/templates/components/orionplace/account/StorefrontProfile.tsx +189 -0
  119. package/templates/components/orionplace/account/account.module.css +1180 -0
  120. package/templates/components/orionplace/account/profile.module.css +696 -0
  121. package/templates/components/orionplace/address/AddressForm.README.md +152 -0
  122. package/templates/components/orionplace/address/AddressForm.module.css +336 -0
  123. package/templates/components/orionplace/address/AddressForm.tsx +827 -0
  124. package/templates/components/orionplace/address/StorefrontAddresses.README.md +99 -0
  125. package/templates/components/orionplace/address/StorefrontAddresses.module.css +271 -0
  126. package/templates/components/orionplace/address/StorefrontAddresses.tsx +438 -0
  127. package/templates/components/orionplace/banners/MainBanner.README.md +65 -0
  128. package/templates/components/orionplace/banners/MainBanner.module.css +112 -0
  129. package/templates/components/orionplace/banners/MainBanner.tsx +159 -0
  130. package/templates/components/orionplace/blog/BlogArticle.README.md +143 -0
  131. package/templates/components/orionplace/blog/BlogArticle.module.css +304 -0
  132. package/templates/components/orionplace/blog/BlogArticle.tsx +371 -0
  133. package/templates/components/orionplace/blog/BlogCommentForm.README.md +51 -0
  134. package/templates/components/orionplace/blog/BlogCommentForm.module.css +93 -0
  135. package/templates/components/orionplace/blog/BlogCommentForm.tsx +125 -0
  136. package/templates/components/orionplace/blog/BlogComments.README.md +98 -0
  137. package/templates/components/orionplace/blog/BlogComments.module.css +151 -0
  138. package/templates/components/orionplace/blog/BlogComments.tsx +590 -0
  139. package/templates/components/orionplace/blog/BlogPostCard.README.md +51 -0
  140. package/templates/components/orionplace/blog/BlogPostCard.module.css +167 -0
  141. package/templates/components/orionplace/blog/BlogPostCard.tsx +177 -0
  142. package/templates/components/orionplace/blog/BlogPostGroup.README.md +49 -0
  143. package/templates/components/orionplace/blog/BlogPostGroup.module.css +37 -0
  144. package/templates/components/orionplace/blog/BlogPostGroup.tsx +129 -0
  145. package/templates/components/orionplace/blog/StorefrontJournal.README.md +105 -0
  146. package/templates/components/orionplace/blog/StorefrontJournal.module.css +387 -0
  147. package/templates/components/orionplace/blog/StorefrontJournal.tsx +548 -0
  148. package/templates/components/orionplace/branding/BrandLogos.README.md +29 -0
  149. package/templates/components/orionplace/branding/BrandLogos.module.css +7 -0
  150. package/templates/components/orionplace/branding/BrandLogos.tsx +30 -0
  151. package/templates/components/orionplace/cart/CartCheckoutDetails.README.md +92 -0
  152. package/templates/components/orionplace/cart/CartCheckoutDetails.module.css +159 -0
  153. package/templates/components/orionplace/cart/CartCheckoutDetails.tsx +370 -0
  154. package/templates/components/orionplace/cart/CartDeliverySelector.README.md +166 -0
  155. package/templates/components/orionplace/cart/CartDeliverySelector.module.css +105 -0
  156. package/templates/components/orionplace/cart/CartDeliverySelector.tsx +679 -0
  157. package/templates/components/orionplace/cart/CartItemOptions.README.md +172 -0
  158. package/templates/components/orionplace/cart/CartItemOptions.module.css +113 -0
  159. package/templates/components/orionplace/cart/CartItemOptions.tsx +503 -0
  160. package/templates/components/orionplace/cart/CartLineItem.README.md +138 -0
  161. package/templates/components/orionplace/cart/CartLineItem.module.css +57 -0
  162. package/templates/components/orionplace/cart/CartLineItem.tsx +263 -0
  163. package/templates/components/orionplace/cart/CartPreview.README.md +99 -0
  164. package/templates/components/orionplace/cart/CartPreview.module.css +225 -0
  165. package/templates/components/orionplace/cart/CartPreview.tsx +188 -0
  166. package/templates/components/orionplace/cart/DeliveryMap.README.md +65 -0
  167. package/templates/components/orionplace/cart/DeliveryMap.module.css +32 -0
  168. package/templates/components/orionplace/cart/DeliveryMap.tsx +131 -0
  169. package/templates/components/orionplace/cart/StorefrontCart.README.md +281 -0
  170. package/templates/components/orionplace/cart/StorefrontCart.module.css +460 -0
  171. package/templates/components/orionplace/cart/StorefrontCart.tsx +937 -0
  172. package/templates/components/orionplace/catalog/CatalogHeader.README.md +136 -0
  173. package/templates/components/orionplace/catalog/CatalogHeader.module.css +387 -0
  174. package/templates/components/orionplace/catalog/CatalogHeader.tsx +644 -0
  175. package/templates/components/orionplace/catalog/CatalogRepresentative.README.md +68 -0
  176. package/templates/components/orionplace/catalog/CatalogRepresentative.tsx +51 -0
  177. package/templates/components/orionplace/catalog/StorefrontCatalog.README.md +120 -0
  178. package/templates/components/orionplace/catalog/StorefrontCatalog.module.css +179 -0
  179. package/templates/components/orionplace/catalog/StorefrontCatalog.tsx +304 -0
  180. package/templates/components/orionplace/categories/CategoryGroup.README.md +68 -0
  181. package/templates/components/orionplace/categories/CategoryGroup.module.css +110 -0
  182. package/templates/components/orionplace/categories/CategoryGroup.tsx +123 -0
  183. package/templates/components/orionplace/categories/StorefrontCategory.README.md +155 -0
  184. package/templates/components/orionplace/categories/StorefrontCategory.module.css +148 -0
  185. package/templates/components/orionplace/categories/StorefrontCategory.tsx +225 -0
  186. package/templates/components/orionplace/contact/AboutPage.README.md +40 -0
  187. package/templates/components/orionplace/contact/AboutPage.module.css +216 -0
  188. package/templates/components/orionplace/contact/AboutPage.tsx +191 -0
  189. package/templates/components/orionplace/contact/ContactForm.README.md +93 -0
  190. package/templates/components/orionplace/contact/ContactForm.module.css +264 -0
  191. package/templates/components/orionplace/contact/ContactForm.tsx +382 -0
  192. package/templates/components/orionplace/contact/EmailUnsubscribe.README.md +67 -0
  193. package/templates/components/orionplace/contact/EmailUnsubscribe.module.css +94 -0
  194. package/templates/components/orionplace/contact/EmailUnsubscribe.tsx +130 -0
  195. package/templates/components/orionplace/contact/StorefrontContact.README.md +73 -0
  196. package/templates/components/orionplace/contact/StorefrontContact.module.css +101 -0
  197. package/templates/components/orionplace/contact/StorefrontContact.tsx +62 -0
  198. package/templates/components/orionplace/currencies/MainCurrencySwitcher.README.md +37 -0
  199. package/templates/components/orionplace/currencies/MainCurrencySwitcher.tsx +68 -0
  200. package/templates/components/orionplace/events/EventEnrollmentDialog.README.md +108 -0
  201. package/templates/components/orionplace/events/EventEnrollmentDialog.module.css +110 -0
  202. package/templates/components/orionplace/events/EventEnrollmentDialog.tsx +315 -0
  203. package/templates/components/orionplace/events/EventsBlock.README.md +58 -0
  204. package/templates/components/orionplace/events/EventsBlock.module.css +101 -0
  205. package/templates/components/orionplace/events/EventsBlock.tsx +109 -0
  206. package/templates/components/orionplace/locale/MainLanguageSwitcher.README.md +46 -0
  207. package/templates/components/orionplace/locale/MainLanguageSwitcher.module.css +196 -0
  208. package/templates/components/orionplace/locale/MainLanguageSwitcher.tsx +387 -0
  209. package/templates/components/orionplace/manufacturers/ManufacturerIndex.README.md +83 -0
  210. package/templates/components/orionplace/manufacturers/ManufacturerIndex.module.css +271 -0
  211. package/templates/components/orionplace/manufacturers/ManufacturerIndex.tsx +218 -0
  212. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.README.md +122 -0
  213. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.module.css +92 -0
  214. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.tsx +455 -0
  215. package/templates/components/orionplace/orders/OrderDetails.README.md +116 -0
  216. package/templates/components/orionplace/orders/OrderDetails.module.css +730 -0
  217. package/templates/components/orionplace/orders/OrderDetails.tsx +693 -0
  218. package/templates/components/orionplace/orders/OrderPaymentForm.README.md +92 -0
  219. package/templates/components/orionplace/orders/OrderPaymentForm.module.css +105 -0
  220. package/templates/components/orionplace/orders/OrderPaymentForm.tsx +90 -0
  221. package/templates/components/orionplace/orders/StorefrontOrders.README.md +131 -0
  222. package/templates/components/orionplace/orders/StorefrontOrders.module.css +633 -0
  223. package/templates/components/orionplace/orders/StorefrontOrders.tsx +922 -0
  224. package/templates/components/orionplace/payments/PaymentPanel.README.md +114 -0
  225. package/templates/components/orionplace/payments/PaymentPanel.module.css +134 -0
  226. package/templates/components/orionplace/payments/PaymentPanel.tsx +76 -0
  227. package/templates/components/orionplace/products/HoverImageViewer.README.md +62 -0
  228. package/templates/components/orionplace/products/HoverImageViewer.module.css +88 -0
  229. package/templates/components/orionplace/products/HoverImageViewer.tsx +179 -0
  230. package/templates/components/orionplace/products/ProductCard.README.md +152 -0
  231. package/templates/components/orionplace/products/ProductCard.module.css +333 -0
  232. package/templates/components/orionplace/products/ProductCard.tsx +716 -0
  233. package/templates/components/orionplace/products/ProductCardActions.README.md +84 -0
  234. package/templates/components/orionplace/products/ProductCardActions.module.css +146 -0
  235. package/templates/components/orionplace/products/ProductCardActions.tsx +311 -0
  236. package/templates/components/orionplace/products/ProductCardBadges.README.md +44 -0
  237. package/templates/components/orionplace/products/ProductCardBadges.module.css +15 -0
  238. package/templates/components/orionplace/products/ProductCardBadges.tsx +78 -0
  239. package/templates/components/orionplace/products/ProductCardDescription.README.md +33 -0
  240. package/templates/components/orionplace/products/ProductCardDescription.module.css +6 -0
  241. package/templates/components/orionplace/products/ProductCardDescription.tsx +43 -0
  242. package/templates/components/orionplace/products/ProductCardFavorite.README.md +52 -0
  243. package/templates/components/orionplace/products/ProductCardFavorite.module.css +64 -0
  244. package/templates/components/orionplace/products/ProductCardFavorite.tsx +90 -0
  245. package/templates/components/orionplace/products/ProductCardPrice.README.md +33 -0
  246. package/templates/components/orionplace/products/ProductCardPrice.module.css +22 -0
  247. package/templates/components/orionplace/products/ProductCardPrice.tsx +50 -0
  248. package/templates/components/orionplace/products/ProductCardRating.README.md +33 -0
  249. package/templates/components/orionplace/products/ProductCardRating.module.css +7 -0
  250. package/templates/components/orionplace/products/ProductCardRating.tsx +56 -0
  251. package/templates/components/orionplace/products/ProductCardSeller.README.md +36 -0
  252. package/templates/components/orionplace/products/ProductCardSeller.module.css +31 -0
  253. package/templates/components/orionplace/products/ProductCardSeller.tsx +61 -0
  254. package/templates/components/orionplace/products/ProductCardStockNotice.README.md +36 -0
  255. package/templates/components/orionplace/products/ProductCardStockNotice.module.css +8 -0
  256. package/templates/components/orionplace/products/ProductCardStockNotice.tsx +35 -0
  257. package/templates/components/orionplace/products/ProductCardTitle.README.md +30 -0
  258. package/templates/components/orionplace/products/ProductCardTitle.module.css +13 -0
  259. package/templates/components/orionplace/products/ProductCardTitle.tsx +31 -0
  260. package/templates/components/orionplace/products/ProductCardVariants.README.md +77 -0
  261. package/templates/components/orionplace/products/ProductCardVariants.module.css +97 -0
  262. package/templates/components/orionplace/products/ProductCardVariants.tsx +350 -0
  263. package/templates/components/orionplace/products/ProductGroup.README.md +89 -0
  264. package/templates/components/orionplace/products/ProductGroup.module.css +64 -0
  265. package/templates/components/orionplace/products/ProductGroup.tsx +183 -0
  266. package/templates/components/orionplace/products/ProductPreorderDialog.README.md +89 -0
  267. package/templates/components/orionplace/products/ProductPreorderDialog.module.css +320 -0
  268. package/templates/components/orionplace/products/ProductPreorderDialog.tsx +346 -0
  269. package/templates/components/orionplace/products/ProductReviewForm.README.md +72 -0
  270. package/templates/components/orionplace/products/ProductReviewForm.module.css +217 -0
  271. package/templates/components/orionplace/products/ProductReviewForm.tsx +288 -0
  272. package/templates/components/orionplace/products/ProductReviewGallery.README.md +61 -0
  273. package/templates/components/orionplace/products/ProductReviewGallery.module.css +108 -0
  274. package/templates/components/orionplace/products/ProductReviewGallery.tsx +110 -0
  275. package/templates/components/orionplace/products/ProductReviewImageViewer.README.md +49 -0
  276. package/templates/components/orionplace/products/ProductReviewImageViewer.module.css +50 -0
  277. package/templates/components/orionplace/products/ProductReviewImageViewer.tsx +260 -0
  278. package/templates/components/orionplace/products/ProductReviews.README.md +137 -0
  279. package/templates/components/orionplace/products/ProductReviews.module.css +602 -0
  280. package/templates/components/orionplace/products/ProductReviews.tsx +944 -0
  281. package/templates/components/orionplace/products/ProductSecondaryVariantModal.README.md +67 -0
  282. package/templates/components/orionplace/products/ProductSecondaryVariantModal.module.css +79 -0
  283. package/templates/components/orionplace/products/ProductSecondaryVariantModal.tsx +324 -0
  284. package/templates/components/orionplace/products/ProductSpecificationsDialog.README.md +52 -0
  285. package/templates/components/orionplace/products/ProductSpecificationsDialog.module.css +138 -0
  286. package/templates/components/orionplace/products/ProductSpecificationsDialog.tsx +117 -0
  287. package/templates/components/orionplace/products/StorefrontProduct.README.md +200 -0
  288. package/templates/components/orionplace/products/StorefrontProduct.module.css +767 -0
  289. package/templates/components/orionplace/products/StorefrontProduct.tsx +1339 -0
  290. package/templates/components/orionplace/products/StorefrontWishlist.README.md +162 -0
  291. package/templates/components/orionplace/products/StorefrontWishlist.module.css +71 -0
  292. package/templates/components/orionplace/products/StorefrontWishlist.tsx +402 -0
  293. package/templates/components/orionplace/promo/PromoProducts.README.md +133 -0
  294. package/templates/components/orionplace/promo/PromoProducts.module.css +68 -0
  295. package/templates/components/orionplace/promo/PromoProducts.tsx +345 -0
  296. package/templates/components/orionplace/search/MainSearch.README.md +73 -0
  297. package/templates/components/orionplace/search/MainSearch.module.css +202 -0
  298. package/templates/components/orionplace/search/MainSearch.tsx +217 -0
  299. package/templates/components/orionplace/search/ProductSearchResults.README.md +166 -0
  300. package/templates/components/orionplace/search/ProductSearchResults.module.css +358 -0
  301. package/templates/components/orionplace/search/ProductSearchResults.tsx +308 -0
  302. package/templates/components/orionplace/search/SearchFilters.README.md +109 -0
  303. package/templates/components/orionplace/search/SearchFilters.module.css +274 -0
  304. package/templates/components/orionplace/search/SearchFilters.tsx +439 -0
  305. package/templates/components/orionplace/sellers/SellerFilters.README.md +66 -0
  306. package/templates/components/orionplace/sellers/SellerFilters.module.css +232 -0
  307. package/templates/components/orionplace/sellers/SellerFilters.tsx +201 -0
  308. package/templates/components/orionplace/sellers/SellerPhotoGallery.README.md +72 -0
  309. package/templates/components/orionplace/sellers/SellerPhotoGallery.module.css +314 -0
  310. package/templates/components/orionplace/sellers/SellerPhotoGallery.tsx +335 -0
  311. package/templates/components/orionplace/sellers/SellerSummary.README.md +62 -0
  312. package/templates/components/orionplace/sellers/SellerSummary.module.css +182 -0
  313. package/templates/components/orionplace/sellers/SellerSummary.tsx +107 -0
  314. package/templates/components/orionplace/sellers/StorefrontSellers.README.md +120 -0
  315. package/templates/components/orionplace/sellers/StorefrontSellers.module.css +147 -0
  316. package/templates/components/orionplace/sellers/StorefrontSellers.tsx +360 -0
  317. package/templates/components/orionplace/shared/OrionplaceAvatar.README.md +35 -0
  318. package/templates/components/orionplace/shared/OrionplaceAvatar.module.css +35 -0
  319. package/templates/components/orionplace/shared/OrionplaceAvatar.tsx +61 -0
  320. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +33 -0
  321. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.module.css +81 -0
  322. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.tsx +91 -0
  323. package/templates/components/orionplace/shared/OrionplaceEmptyState.README.md +37 -0
  324. package/templates/components/orionplace/shared/OrionplaceEmptyState.module.css +126 -0
  325. package/templates/components/orionplace/shared/OrionplaceEmptyState.tsx +78 -0
  326. package/templates/components/orionplace/shared/OrionplaceImage.README.md +45 -0
  327. package/templates/components/orionplace/shared/OrionplaceImage.module.css +22 -0
  328. package/templates/components/orionplace/shared/OrionplaceImage.tsx +96 -0
  329. package/templates/components/orionplace/shared/OrionplaceInfoHint.README.md +31 -0
  330. package/templates/components/orionplace/shared/OrionplaceInfoHint.module.css +59 -0
  331. package/templates/components/orionplace/shared/OrionplaceInfoHint.tsx +126 -0
  332. package/templates/components/orionplace/shared/OrionplacePasswordInput.README.md +39 -0
  333. package/templates/components/orionplace/shared/OrionplacePasswordInput.module.css +79 -0
  334. package/templates/components/orionplace/shared/OrionplacePasswordInput.tsx +103 -0
  335. package/templates/components/orionplace/shared/OrionplaceSearchSelect.README.md +97 -0
  336. package/templates/components/orionplace/shared/OrionplaceSearchSelect.module.css +246 -0
  337. package/templates/components/orionplace/shared/OrionplaceSearchSelect.tsx +367 -0
  338. package/templates/components/orionplace/shared/OrionplaceSelect.README.md +69 -0
  339. package/templates/components/orionplace/shared/OrionplaceSelect.module.css +233 -0
  340. package/templates/components/orionplace/shared/OrionplaceSelect.tsx +439 -0
  341. package/templates/components/orionplace/shared/StorefrontErrorPage.README.md +52 -0
  342. package/templates/components/orionplace/shared/StorefrontErrorPage.module.css +141 -0
  343. package/templates/components/orionplace/shared/StorefrontErrorPage.tsx +103 -0
  344. package/templates/components/orionplace/shared/StorefrontPagination.README.md +39 -0
  345. package/templates/components/orionplace/shared/StorefrontPagination.module.css +69 -0
  346. package/templates/components/orionplace/shared/StorefrontPagination.tsx +102 -0
  347. package/templates/components/orionplace/shared/dialogs.css +36 -0
  348. package/templates/components/orionplace/shared/emptyStateArt.ts +231 -0
  349. package/templates/components/orionplace/shared/features.module.css +162 -0
  350. package/templates/components/orionplace/social/SocialLinks.README.md +16 -0
  351. package/templates/components/orionplace/social/SocialLinks.module.css +36 -0
  352. package/templates/components/orionplace/social/SocialLinks.tsx +59 -0
  353. package/templates/components/orionplace/storefront/StorefrontAccount.README.md +59 -0
  354. package/templates/components/orionplace/storefront/StorefrontAccount.module.css +159 -0
  355. package/templates/components/orionplace/storefront/StorefrontAccount.tsx +303 -0
  356. package/templates/components/orionplace/storefront/StorefrontCartButton.README.md +47 -0
  357. package/templates/components/orionplace/storefront/StorefrontCartButton.module.css +88 -0
  358. package/templates/components/orionplace/storefront/StorefrontCartButton.tsx +54 -0
  359. package/templates/components/orionplace/storefront/StorefrontFooter.README.md +55 -0
  360. package/templates/components/orionplace/storefront/StorefrontFooter.module.css +118 -0
  361. package/templates/components/orionplace/storefront/StorefrontFooter.tsx +165 -0
  362. package/templates/components/orionplace/storefront/StorefrontHeader.README.md +150 -0
  363. package/templates/components/orionplace/storefront/StorefrontHeader.module.css +186 -0
  364. package/templates/components/orionplace/storefront/StorefrontHeader.tsx +389 -0
  365. package/templates/components/orionplace/storefront/StorefrontHome.README.md +138 -0
  366. package/templates/components/orionplace/storefront/StorefrontHome.module.css +116 -0
  367. package/templates/components/orionplace/storefront/StorefrontHome.tsx +282 -0
  368. package/templates/components/orionplace/storefront/StorefrontWishlistButton.README.md +51 -0
  369. package/templates/components/orionplace/storefront/StorefrontWishlistButton.module.css +95 -0
  370. package/templates/components/orionplace/storefront/StorefrontWishlistButton.tsx +80 -0
  371. package/templates/components/orionplace/stores/StorefrontStores.README.md +87 -0
  372. package/templates/components/orionplace/stores/StorefrontStores.module.css +218 -0
  373. package/templates/components/orionplace/stores/StorefrontStores.tsx +396 -0
  374. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +183 -0
  375. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.module.css +347 -0
  376. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.tsx +884 -0
  377. package/templates/components/orionplace/subscriptions/StorefrontTariff.README.md +111 -0
  378. package/templates/components/orionplace/subscriptions/StorefrontTariff.module.css +311 -0
  379. package/templates/components/orionplace/subscriptions/StorefrontTariff.tsx +474 -0
  380. package/templates/components/orionplace/subscriptions/StorefrontTariffs.README.md +102 -0
  381. package/templates/components/orionplace/subscriptions/StorefrontTariffs.module.css +219 -0
  382. package/templates/components/orionplace/subscriptions/StorefrontTariffs.tsx +350 -0
  383. package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +67 -0
  384. package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.tsx +175 -0
  385. package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +95 -0
  386. package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.tsx +634 -0
  387. package/templates/components/orionplace/subscriptions/SubscriptionDialog.module.css +453 -0
  388. package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +75 -0
  389. package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.tsx +384 -0
  390. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +116 -0
  391. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.module.css +168 -0
  392. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.tsx +236 -0
  393. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +123 -0
  394. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.module.css +57 -0
  395. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.tsx +101 -0
  396. package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +109 -0
  397. package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.tsx +253 -0
  398. package/templates/components/orionplace/support/StorefrontSupport.README.md +157 -0
  399. package/templates/components/orionplace/support/StorefrontSupport.tsx +1040 -0
  400. package/templates/components/orionplace/support/Support.module.css +1133 -0
  401. package/templates/components/orionplace/support/TicketConversation.README.md +105 -0
  402. package/templates/components/orionplace/support/TicketConversation.tsx +502 -0
  403. package/templates/components/orionplace/support/TicketImage.README.md +52 -0
  404. package/templates/components/orionplace/support/TicketImage.tsx +254 -0
  405. package/templates/components/orionplace/support/TicketItemCard.README.md +66 -0
  406. package/templates/components/orionplace/support/TicketItemCard.tsx +140 -0
  407. package/templates/components/orionplace/support/TicketMessageForm.README.md +88 -0
  408. package/templates/components/orionplace/support/TicketMessageForm.tsx +261 -0
  409. package/templates/components/orionplace/support/TicketSubscriptionCard.README.md +53 -0
  410. package/templates/components/orionplace/support/TicketSubscriptionCard.tsx +118 -0
  411. package/templates/components/orionplace/tariffs/TariffCard.README.md +108 -0
  412. package/templates/components/orionplace/tariffs/TariffCard.module.css +86 -0
  413. package/templates/components/orionplace/tariffs/TariffCard.tsx +218 -0
  414. package/templates/components/orionplace/tariffs/TariffCardDescription.README.md +40 -0
  415. package/templates/components/orionplace/tariffs/TariffCardDescription.module.css +72 -0
  416. package/templates/components/orionplace/tariffs/TariffCardDescription.tsx +58 -0
  417. package/templates/components/orionplace/tariffs/TariffCardFeatures.README.md +58 -0
  418. package/templates/components/orionplace/tariffs/TariffCardFeatures.module.css +60 -0
  419. package/templates/components/orionplace/tariffs/TariffCardFeatures.tsx +140 -0
  420. package/templates/components/orionplace/tariffs/TariffCardImage.README.md +36 -0
  421. package/templates/components/orionplace/tariffs/TariffCardImage.module.css +8 -0
  422. package/templates/components/orionplace/tariffs/TariffCardImage.tsx +32 -0
  423. package/templates/components/orionplace/tariffs/TariffCardPrices.README.md +74 -0
  424. package/templates/components/orionplace/tariffs/TariffCardPrices.module.css +142 -0
  425. package/templates/components/orionplace/tariffs/TariffCardPrices.tsx +181 -0
  426. package/templates/components/orionplace/tariffs/TariffCardTitle.README.md +32 -0
  427. package/templates/components/orionplace/tariffs/TariffCardTitle.module.css +9 -0
  428. package/templates/components/orionplace/tariffs/TariffCardTitle.tsx +29 -0
  429. package/templates/components/orionplace/tariffs/TariffCards.README.md +88 -0
  430. package/templates/components/orionplace/tariffs/TariffCards.module.css +24 -0
  431. package/templates/components/orionplace/tariffs/TariffCards.tsx +44 -0
  432. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.README.md +92 -0
  433. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.module.css +214 -0
  434. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.tsx +299 -0
  435. package/templates/components/orionplace/theme/OrionplaceThemeProvider.README.md +30 -0
  436. package/templates/components/orionplace/theme/OrionplaceThemeProvider.module.css +8 -0
  437. package/templates/components/orionplace/theme/OrionplaceThemeProvider.tsx +32 -0
  438. package/templates/components/orionplace/units/UnitSwitcher.README.md +35 -0
  439. package/templates/components/orionplace/units/UnitSwitcher.tsx +58 -0
  440. package/templates/components/orionplace/wallet/StorefrontWallet.README.md +154 -0
  441. package/templates/components/orionplace/wallet/StorefrontWallet.module.css +507 -0
  442. package/templates/components/orionplace/wallet/StorefrontWallet.tsx +915 -0
  443. package/templates/components/orionplace/wallet/WalletBalance.README.md +46 -0
  444. package/templates/components/orionplace/wallet/WalletBalance.module.css +46 -0
  445. package/templates/components/orionplace/wallet/WalletBalance.tsx +51 -0
  446. package/templates/components/orionplace/wallet/WalletTopUpForm.README.md +54 -0
  447. package/templates/components/orionplace/wallet/WalletTopUpForm.module.css +152 -0
  448. package/templates/components/orionplace/wallet/WalletTopUpForm.tsx +181 -0
  449. package/templates/hooks/useAccountActivity.ts +251 -0
  450. package/templates/hooks/useAccountAddresses.ts +81 -0
  451. package/templates/hooks/useAccountPromocodes.ts +91 -0
  452. package/templates/hooks/useOrionplaceActionMenu.ts +118 -0
  453. package/templates/hooks/useOrionplaceAddressForm.ts +262 -0
  454. package/templates/hooks/useOrionplaceApi.ts +98 -0
  455. package/templates/hooks/useOrionplaceAppLoad.ts +38 -6
  456. package/templates/hooks/useOrionplaceBlogReading.ts +351 -0
  457. package/templates/hooks/useOrionplaceDialog.ts +85 -0
  458. package/templates/hooks/useOrionplaceHomeProducts.ts +97 -0
  459. package/templates/hooks/useOrionplaceMap.tsx +230 -0
  460. package/templates/hooks/useOrionplaceMediaFormat.ts +33 -0
  461. package/templates/hooks/useOrionplaceProduct.ts +28 -0
  462. package/templates/hooks/useOrionplaceProfile.ts +347 -0
  463. package/templates/hooks/useOrionplaceReviews.ts +352 -0
  464. package/templates/hooks/useOrionplaceStableHeight.ts +65 -0
  465. package/templates/hooks/useOrionplaceStorefront.tsx +575 -0
  466. package/templates/hooks/useOrionplaceTariffPurchase.ts +152 -0
  467. package/templates/interfaces/orionplace/accounts/IContact.ts +21 -0
  468. package/templates/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +17 -0
  469. package/templates/interfaces/orionplace/accounts/IEmailVerification.ts +59 -0
  470. package/templates/interfaces/orionplace/accounts/IProfileActions.ts +38 -0
  471. package/templates/interfaces/orionplace/accounts/IProfileData.ts +123 -0
  472. package/templates/interfaces/orionplace/accounts/IProfileMedia.ts +17 -0
  473. package/templates/interfaces/orionplace/accounts/IStorefrontProfile.ts +54 -0
  474. package/templates/interfaces/orionplace/address/IAddressCitySuggestion.ts +19 -0
  475. package/templates/interfaces/orionplace/address/IAddressEditor.ts +9 -0
  476. package/templates/interfaces/orionplace/address/IAddressLocationSuggestion.ts +22 -0
  477. package/templates/interfaces/orionplace/address/IAddressRegionSearch.ts +30 -0
  478. package/templates/interfaces/orionplace/address/IAddressSuggestion.ts +20 -0
  479. package/templates/interfaces/orionplace/address/IUserAddress.ts +87 -0
  480. package/templates/interfaces/orionplace/appBase/IAppLoad.ts +4 -3
  481. package/templates/interfaces/orionplace/appBase/IAppLoadCommon.ts +22 -31
  482. package/templates/interfaces/orionplace/appBase/IApploadUserProfile.ts +1 -1
  483. package/templates/interfaces/orionplace/appBase/IForm.ts +1 -1
  484. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +7 -7
  485. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +2 -2
  486. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +20 -7
  487. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +2 -2
  488. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +1 -0
  489. package/templates/interfaces/orionplace/blog/IBlogApi.ts +247 -0
  490. package/templates/interfaces/orionplace/blog/IBlogPostPreview.ts +30 -0
  491. package/templates/interfaces/orionplace/cart/ICartActions.ts +67 -0
  492. package/templates/interfaces/orionplace/cart/ICartData.ts +382 -0
  493. package/templates/interfaces/orionplace/cart/ICartDeliveryActions.ts +68 -0
  494. package/templates/interfaces/orionplace/cart/ICartModal.ts +22 -0
  495. package/templates/interfaces/orionplace/cart/IDeliveryMap.ts +29 -0
  496. package/templates/interfaces/orionplace/catalog/ICatalogDirectory.ts +75 -0
  497. package/templates/interfaces/orionplace/category/ICategory.ts +2 -1
  498. package/templates/interfaces/orionplace/domains/IDomain.ts +2 -2
  499. package/templates/interfaces/orionplace/forms/ICustomerSubfilter.ts +19 -0
  500. package/templates/interfaces/orionplace/index.ts +64 -30
  501. package/templates/interfaces/orionplace/marketing/IPromoActions.ts +51 -0
  502. package/templates/interfaces/orionplace/orders/IOrderActions.ts +99 -0
  503. package/templates/interfaces/orionplace/orders/IOrderHistory.ts +259 -0
  504. package/templates/interfaces/orionplace/orders/IProductPreorder.ts +31 -0
  505. package/templates/interfaces/orionplace/payments/IInvoice.ts +147 -0
  506. package/templates/interfaces/orionplace/products/IProduct.ts +178 -151
  507. package/templates/interfaces/orionplace/products/IProductFeedbackApi.ts +218 -0
  508. package/templates/interfaces/orionplace/products/IProductSearchApi.ts +146 -0
  509. package/templates/interfaces/orionplace/products/IProductSearchFacets.ts +35 -0
  510. package/templates/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +15 -0
  511. package/templates/interfaces/orionplace/products/IProductSpecification.ts +14 -0
  512. package/templates/interfaces/orionplace/products/IWishlist.ts +22 -0
  513. package/templates/interfaces/orionplace/sellers/ISellerDirectory.ts +70 -0
  514. package/templates/interfaces/orionplace/shared/IBreadcrumb.ts +10 -0
  515. package/templates/interfaces/orionplace/shared/IStorefrontControls.ts +6 -0
  516. package/templates/interfaces/orionplace/state.ts +1 -1
  517. package/templates/interfaces/orionplace/stores/IStoreDirectory.ts +63 -0
  518. package/templates/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +41 -31
  519. package/templates/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +11 -0
  520. package/templates/interfaces/orionplace/subscribes/ISubscribe.ts +1 -1
  521. package/templates/interfaces/orionplace/subscribes/ISubscriptionApi.ts +125 -0
  522. package/templates/interfaces/orionplace/tickets/ICustomerTicketApi.ts +223 -0
  523. package/templates/interfaces/orionplace/transport.ts +7 -3
  524. package/templates/lib/orionplace/accountLabels.ts +22 -0
  525. package/templates/lib/orionplace/activityLabels.ts +65 -0
  526. package/templates/lib/orionplace/activityPresentation.ts +9 -0
  527. package/templates/lib/orionplace/addressChanges.ts +26 -0
  528. package/templates/lib/orionplace/addressPresentation.ts +58 -0
  529. package/templates/lib/orionplace/api.ts +326 -0
  530. package/templates/lib/orionplace/appLoadClient.ts +63 -21
  531. package/templates/lib/orionplace/appLoadResult.ts +75 -21
  532. package/templates/lib/orionplace/appLoadServer.ts +66 -21
  533. package/templates/lib/orionplace/blogArticle.ts +97 -0
  534. package/templates/lib/orionplace/blogArticleHtml.ts +370 -0
  535. package/templates/lib/orionplace/blogComments.ts +102 -0
  536. package/templates/lib/orionplace/blogJournal.ts +115 -0
  537. package/templates/lib/orionplace/blogLabels.ts +108 -0
  538. package/templates/lib/orionplace/blogPresentation.ts +67 -0
  539. package/templates/lib/orionplace/browseLabels.ts +98 -0
  540. package/templates/lib/orionplace/cartAddress.ts +86 -0
  541. package/templates/lib/orionplace/cartController.ts +104 -0
  542. package/templates/lib/orionplace/cartLabels.ts +261 -0
  543. package/templates/lib/orionplace/cartOptions.ts +115 -0
  544. package/templates/lib/orionplace/cartPreview.ts +120 -0
  545. package/templates/lib/orionplace/cartPromo.ts +150 -0
  546. package/templates/lib/orionplace/cartShipment.ts +61 -0
  547. package/templates/lib/orionplace/cartSnapshot.ts +21 -0
  548. package/templates/lib/orionplace/catalog.ts +150 -0
  549. package/templates/lib/orionplace/categoryLabels.ts +21 -0
  550. package/templates/lib/orionplace/contact.ts +47 -0
  551. package/templates/lib/orionplace/contactLabels.ts +102 -0
  552. package/templates/lib/orionplace/currency.ts +128 -0
  553. package/templates/lib/orionplace/deliveryMap.ts +86 -0
  554. package/templates/lib/orionplace/directoryLabels.ts +133 -0
  555. package/templates/lib/orionplace/domain.ts +11 -6
  556. package/templates/lib/orionplace/errorPageLabels.ts +74 -0
  557. package/templates/lib/orionplace/eventEnrollment.ts +22 -0
  558. package/templates/lib/orionplace/featureData.ts +28 -0
  559. package/templates/lib/orionplace/featureLabels.ts +271 -0
  560. package/templates/lib/orionplace/featuredLabels.ts +28 -0
  561. package/templates/lib/orionplace/footerLabels.ts +35 -0
  562. package/templates/lib/orionplace/guestSession.ts +55 -0
  563. package/templates/lib/orionplace/headerLabels.ts +68 -0
  564. package/templates/lib/orionplace/homeContent.ts +193 -0
  565. package/templates/lib/orionplace/homeLabels.ts +52 -0
  566. package/templates/lib/orionplace/htmlText.ts +51 -0
  567. package/templates/lib/orionplace/manufacturerDirectory.ts +71 -0
  568. package/templates/lib/orionplace/manufacturerIndex.ts +92 -0
  569. package/templates/lib/orionplace/modalWindow.ts +109 -0
  570. package/templates/lib/orionplace/nativeApp.ts +365 -0
  571. package/templates/lib/orionplace/navigation.tsx +121 -0
  572. package/templates/lib/orionplace/notice.ts +22 -0
  573. package/templates/lib/orionplace/orderLabels.ts +311 -0
  574. package/templates/lib/orionplace/orderPresentation.ts +574 -0
  575. package/templates/lib/orionplace/pageMetadata.ts +247 -0
  576. package/templates/lib/orionplace/pageSeo.ts +274 -0
  577. package/templates/lib/orionplace/paginationScroll.ts +131 -0
  578. package/templates/lib/orionplace/phone.ts +22 -0
  579. package/templates/lib/orionplace/presentation.ts +84 -0
  580. package/templates/lib/orionplace/productActionLabels.ts +60 -0
  581. package/templates/lib/orionplace/productAvailability.ts +30 -0
  582. package/templates/lib/orionplace/productGallery.ts +64 -0
  583. package/templates/lib/orionplace/productLabels.ts +82 -0
  584. package/templates/lib/orionplace/productPage.ts +308 -0
  585. package/templates/lib/orionplace/productPhotos.ts +67 -0
  586. package/templates/lib/orionplace/productSearch.ts +232 -0
  587. package/templates/lib/orionplace/productSeller.ts +56 -0
  588. package/templates/lib/orionplace/profile.ts +157 -0
  589. package/templates/lib/orionplace/profileLabels.ts +151 -0
  590. package/templates/lib/orionplace/promoLabels.ts +75 -0
  591. package/templates/lib/orionplace/promoPresentation.ts +381 -0
  592. package/templates/lib/orionplace/reviewLabels.ts +172 -0
  593. package/templates/lib/orionplace/reviewPresentation.ts +64 -0
  594. package/templates/lib/orionplace/reviewScope.ts +38 -0
  595. package/templates/lib/orionplace/searchFilters.ts +99 -0
  596. package/templates/lib/orionplace/searchHistory.ts +144 -0
  597. package/templates/lib/orionplace/sellerDirectory.ts +120 -0
  598. package/templates/lib/orionplace/seo.ts +52 -0
  599. package/templates/lib/orionplace/serverApi.ts +158 -0
  600. package/templates/lib/orionplace/serverLocale.ts +29 -0
  601. package/templates/lib/orionplace/serverMetadata.ts +86 -0
  602. package/templates/lib/orionplace/serverRecords.ts +25 -0
  603. package/templates/lib/orionplace/serverRoute.tsx +51 -0
  604. package/templates/lib/orionplace/sessionLabels.ts +27 -0
  605. package/templates/lib/orionplace/signInReturn.ts +89 -0
  606. package/templates/lib/orionplace/storeDirectory.ts +47 -0
  607. package/templates/lib/orionplace/storefrontRecords.ts +29 -0
  608. package/templates/lib/orionplace/subscriptionChanges.ts +120 -0
  609. package/templates/lib/orionplace/subscriptionLabels.ts +67 -0
  610. package/templates/lib/orionplace/subscriptionManageLabels.ts +306 -0
  611. package/templates/lib/orionplace/subscriptionPlans.ts +122 -0
  612. package/templates/lib/orionplace/subscriptionRemote.ts +85 -0
  613. package/templates/lib/orionplace/subscriptionUsage.ts +58 -0
  614. package/templates/lib/orionplace/tariffLabels.ts +123 -0
  615. package/templates/lib/orionplace/tariffPage.ts +54 -0
  616. package/templates/lib/orionplace/tariffVariables.ts +136 -0
  617. package/templates/lib/orionplace/tariffs.ts +192 -0
  618. package/templates/lib/orionplace/ticketItems.ts +75 -0
  619. package/templates/lib/orionplace/ticketLabels.ts +335 -0
  620. package/templates/lib/orionplace/ticketLocation.ts +79 -0
  621. package/templates/lib/orionplace/ticketRequests.ts +70 -0
  622. package/templates/lib/orionplace/walletTransaction.ts +105 -0
  623. package/templates/orionplace/COMPONENT-DOWNLOAD.md +66 -0
  624. package/templates/orionplace/COMPONENTS.md +35 -0
  625. package/templates/providers/OrionplaceProvider.tsx +164 -12
  626. package/templates/proxy.ts +8 -3
  627. package/templates/stores/orionplace.ts +212 -49
  628. package/templates/stores/orionplaceBrowse.ts +89 -0
  629. package/templates/stores/orionplaceCatalog.ts +144 -0
  630. package/templates/stores/orionplaceProducts.ts +389 -0
  631. package/templates/stores/orionplaceScope.ts +104 -0
  632. package/templates/stores/orionplaceSelections.ts +130 -0
  633. package/templates/themes/orionplace.ts +106 -0
@@ -0,0 +1,133 @@
1
+ const en = {
2
+ catalog: 'Catalog',
3
+ sellers: 'Sellers',
4
+ stores: 'Stores',
5
+ manufacturers: 'Manufacturers',
6
+ products: 'View products',
7
+ details: 'Details',
8
+ searchSeller: 'Seller name',
9
+ searchStore: 'Store, city or address',
10
+ searchManufacturer: 'Manufacturer name',
11
+ letter: 'Names starting with',
12
+ rating: 'Seller rating',
13
+ reviews: 'Reviews',
14
+ since: 'Selling since',
15
+ hours: 'Opening hours',
16
+ phone: 'Phone',
17
+ weekdays: [
18
+ 'Monday',
19
+ 'Tuesday',
20
+ 'Wednesday',
21
+ 'Thursday',
22
+ 'Friday',
23
+ 'Saturday',
24
+ 'Sunday',
25
+ ],
26
+ addressDetails: 'Address details',
27
+ entrance: 'Entrance',
28
+ intercom: 'Intercom',
29
+ floor: 'Floor',
30
+ office: 'Office',
31
+ categories: 'Categories',
32
+ refresh: 'Refresh',
33
+ storesMap: 'Stores on the map',
34
+ noStores: 'No stores found',
35
+ map: 'Map',
36
+ filters: 'Filters',
37
+ clear: 'Clear',
38
+ anyRating: 'Any rating',
39
+ andUp: 'and up',
40
+ sort: 'Sort',
41
+ ratingHigh: 'Highest rating first',
42
+ ratingLow: 'Lowest rating first',
43
+ results: 'Results',
44
+ productsCount: 'Products',
45
+ outOf: 'out of',
46
+ sellerProducts: 'Seller products',
47
+ allSellers: 'All sellers',
48
+ sellerMissing: 'Seller not found',
49
+ sellerMissingHint: 'The seller may have left the marketplace.',
50
+ photos: 'Photos',
51
+ noMatches: 'No sellers match these filters',
52
+ sellerSections: 'Seller page sections',
53
+ productsTab: 'Products',
54
+ sellerPhotos: 'Seller photos',
55
+ openPhoto: 'Open photo',
56
+ more: 'More',
57
+ less: 'Collapse',
58
+ showAllPhotos: 'More seller photos',
59
+ showFewerPhotos: 'Collapse seller photos',
60
+ close: 'Close',
61
+ closePhoto: 'Close the photo viewer',
62
+ previous: 'Previous photo',
63
+ next: 'Next photo',
64
+ };
65
+
66
+ const ru: typeof en = {
67
+ catalog: 'Каталог',
68
+ sellers: 'Продавцы',
69
+ stores: 'Магазины',
70
+ manufacturers: 'Производители',
71
+ products: 'Открыть товары',
72
+ details: 'Подробнее',
73
+ searchSeller: 'Название продавца',
74
+ searchStore: 'Магазин, город или адрес',
75
+ searchManufacturer: 'Название производителя',
76
+ letter: 'Названия на букву',
77
+ rating: 'Рейтинг продавца',
78
+ reviews: 'Отзывы',
79
+ since: 'Продаёт с',
80
+ hours: 'Часы работы',
81
+ phone: 'Телефон',
82
+ weekdays: [
83
+ 'Понедельник',
84
+ 'Вторник',
85
+ 'Среда',
86
+ 'Четверг',
87
+ 'Пятница',
88
+ 'Суббота',
89
+ 'Воскресенье',
90
+ ],
91
+ addressDetails: 'Детали адреса',
92
+ entrance: 'Подъезд',
93
+ intercom: 'Домофон',
94
+ floor: 'Этаж',
95
+ office: 'Офис',
96
+ categories: 'Категории',
97
+ refresh: 'Обновить',
98
+ storesMap: 'Магазины на карте',
99
+ noStores: 'Магазины не найдены',
100
+ map: 'Карта',
101
+ filters: 'Фильтры',
102
+ clear: 'Сбросить',
103
+ anyRating: 'Любой рейтинг',
104
+ andUp: 'и выше',
105
+ sort: 'Сортировка',
106
+ ratingHigh: 'Сначала высокий рейтинг',
107
+ ratingLow: 'Сначала низкий рейтинг',
108
+ results: 'Найдено',
109
+ productsCount: 'Товаров',
110
+ outOf: 'из',
111
+ sellerProducts: 'Товары продавца',
112
+ allSellers: 'Все продавцы',
113
+ sellerMissing: 'Продавец не найден',
114
+ sellerMissingHint: 'Возможно, продавец больше не работает на маркетплейсе.',
115
+ photos: 'Фото',
116
+ noMatches: 'Нет продавцов по этим фильтрам',
117
+ sellerSections: 'Разделы страницы продавца',
118
+ productsTab: 'Товары',
119
+ sellerPhotos: 'Фотографии продавца',
120
+ openPhoto: 'Открыть фотографию',
121
+ more: 'Ещё',
122
+ less: 'Свернуть',
123
+ showAllPhotos: 'Ещё фотографии продавца',
124
+ showFewerPhotos: 'Свернуть фотографии продавца',
125
+ close: 'Закрыть',
126
+ closePhoto: 'Закрыть просмотр фотографий',
127
+ previous: 'Предыдущая фотография',
128
+ next: 'Следующая фотография',
129
+ };
130
+
131
+ export function directoryLabels(locale: string) {
132
+ return locale.toLowerCase().startsWith('ru') ? ru : en;
133
+ }
@@ -1,5 +1,5 @@
1
1
  import { headers } from 'next/headers';
2
- import { resolveFrontDomain } from '__ORIONPLACE_RUNTIME__';
2
+ import { resolveFrontDomain } from '@orionplace-runtime/marketplace.mjs';
3
3
 
4
4
  /**
5
5
  * The storefront domain selected for this request: `X-Front-Domain`,
@@ -8,9 +8,14 @@ import { resolveFrontDomain } from '__ORIONPLACE_RUNTIME__';
8
8
  */
9
9
  export async function getStorefrontDomain(): Promise<string | null> {
10
10
  const incoming = await headers();
11
- const forward = new Headers();
12
- for (const [name, value] of incoming.entries()) forward.set(name, value);
13
- const host = forward.get('x-forwarded-host') || forward.get('host') || 'localhost';
14
- return resolveFrontDomain(new Request(`https://${host}/`, { headers: forward }),
15
- process.env.MIMIC_FRONT_DOMAIN ?? '');
11
+ const forward = new Headers();
12
+ for (const [name, value] of incoming.entries()) {
13
+ forward.set(name, value);
14
+ }
15
+ const host =
16
+ forward.get('x-forwarded-host') || forward.get('host') || 'localhost';
17
+ return resolveFrontDomain(
18
+ new Request(`https://${host}/`, { headers: forward }),
19
+ process.env.MIMIC_FRONT_DOMAIN ?? '',
20
+ );
16
21
  }
@@ -0,0 +1,74 @@
1
+ import { getAvailableValueFromObject } from '@/lib/orionplace/presentation';
2
+
3
+ export type StorefrontErrorKind = 'notFound' | 'error';
4
+
5
+ const labels = {
6
+ en: {
7
+ notFound: {
8
+ title: 'Page not found',
9
+ text: 'The address may be mistyped, or the page has been moved or removed.',
10
+ },
11
+ error: {
12
+ title: 'Something went wrong',
13
+ text: 'The page could not be displayed. Try again in a moment.',
14
+ },
15
+ code: 'Error code',
16
+ home: 'Home',
17
+ catalog: 'Catalog',
18
+ retry: 'Retry',
19
+ details: 'Technical details',
20
+ },
21
+ ru: {
22
+ notFound: {
23
+ title: 'Страница не найдена',
24
+ text: 'Возможно, в адресе ошибка, или страница была перемещена или удалена.',
25
+ },
26
+ error: {
27
+ title: 'Что-то пошло не так',
28
+ text: 'Не удалось показать страницу. Повторите попытку через минуту.',
29
+ },
30
+ code: 'Код ошибки',
31
+ home: 'Главная',
32
+ catalog: 'Каталог',
33
+ retry: 'Повторить',
34
+ details: 'Технические подробности',
35
+ },
36
+ };
37
+
38
+ export function errorPageLabels(locale: string) {
39
+ return getAvailableValueFromObject(labels, locale) ?? labels.en;
40
+ }
41
+
42
+ export function storefrontErrorKind(statusCode: number): StorefrontErrorKind {
43
+ return statusCode === 404 || statusCode === 410 ? 'notFound' : 'error';
44
+ }
45
+
46
+ export function storefrontErrorStatus(statusCode: unknown): number {
47
+ const status = Number(statusCode);
48
+
49
+ if (Number.isInteger(status) && status >= 400 && status <= 599) {
50
+ return status;
51
+ }
52
+
53
+ return 500;
54
+ }
55
+
56
+ export function storefrontErrorLocale(
57
+ queryLocale: unknown,
58
+ storeLocale: string | undefined,
59
+ ): string {
60
+ const requested = Array.isArray(queryLocale) ? queryLocale[0] : queryLocale;
61
+
62
+ if (
63
+ typeof requested === 'string' &&
64
+ /^[a-z]{2}(?:[-_][a-z0-9]+)?$/i.test(requested)
65
+ ) {
66
+ return requested;
67
+ }
68
+
69
+ return storeLocale || 'en';
70
+ }
71
+
72
+ export function storefrontErrorLocation(path: string, locale: string): string {
73
+ return locale ? `${path}?locale=${encodeURIComponent(locale)}` : path;
74
+ }
@@ -0,0 +1,22 @@
1
+ const returnOrigin = 'http://orionplace.invalid';
2
+
3
+ export function eventEnrollmentReturnPath(
4
+ path: string,
5
+ eventId: number,
6
+ ): string {
7
+ const unsafe = /[\\\u0000-\u001f\u007f]/.test(path);
8
+ if (!path.startsWith('/') || path.startsWith('//') || unsafe) {
9
+ return '';
10
+ }
11
+
12
+ try {
13
+ const url = new URL(path, returnOrigin);
14
+ if (url.origin !== returnOrigin) {
15
+ return '';
16
+ }
17
+ url.searchParams.set('event', String(eventId));
18
+ return `${url.pathname}${url.search}${url.hash}`;
19
+ } catch {
20
+ return '';
21
+ }
22
+ }
@@ -0,0 +1,28 @@
1
+ import type { IApiPagination } from '@/interfaces/orionplace/accounts/IProfileData';
2
+
3
+ export function mergePagination(
4
+ previous: Partial<IApiPagination>,
5
+ incoming: Partial<IApiPagination> | null | undefined,
6
+ ): Partial<IApiPagination> {
7
+ return {
8
+ ...previous,
9
+ ...Object.fromEntries(
10
+ Object.entries(incoming ?? {}).filter(([, value]) => value !== undefined),
11
+ ),
12
+ };
13
+ }
14
+
15
+ /** Returns a normalized absolute payment address for HTTP and HTTPS links. */
16
+ export function paymentUrl(value: unknown): string {
17
+ if (typeof value !== 'string') {
18
+ return '';
19
+ }
20
+
21
+ try {
22
+ const url = new URL(value);
23
+
24
+ return ['http:', 'https:'].includes(url.protocol) ? url.href : '';
25
+ } catch {
26
+ return '';
27
+ }
28
+ }
@@ -0,0 +1,271 @@
1
+ const en = {
2
+ loading: 'Loading…',
3
+ failed: 'The request could not be completed. Please try again.',
4
+ retry: 'Retry',
5
+ refresh: 'Refresh',
6
+ save: 'Save',
7
+ saved: 'Saved',
8
+ cancel: 'Cancel',
9
+ close: 'Close',
10
+ delete: 'Delete',
11
+ edit: 'Edit',
12
+ add: 'Add',
13
+ back: 'Back',
14
+ next: 'Next',
15
+ previous: 'Previous',
16
+ page: 'Page',
17
+ empty: 'Nothing here yet',
18
+ noMatches: 'No matches',
19
+ account: 'My account',
20
+ accountSignIn:
21
+ 'Sign in to open your orders, addresses, wallet and other account pages.',
22
+ required: 'Required',
23
+ search: 'Search',
24
+ all: 'All',
25
+ continue: 'Continue',
26
+ balance: 'Balance',
27
+ navigation: {
28
+ profile: 'Profile',
29
+ addresses: 'Addresses',
30
+ orders: 'Orders',
31
+ tickets: 'Support',
32
+ wallet: 'Wallet',
33
+ subscriptions: 'Subscriptions',
34
+ wishlist: 'Wishlist',
35
+ promocodes: 'My promo codes',
36
+ activity: 'My activity',
37
+ },
38
+ logout: 'Logout',
39
+ addresses: {
40
+ title: 'My addresses',
41
+ description: 'Saved addresses for delivery.',
42
+ add: 'Add address',
43
+ edit: 'Edit address',
44
+ label: 'Address name',
45
+ country: 'Country',
46
+ region: 'Region',
47
+ findRegion: 'Start typing a region',
48
+ city: 'City',
49
+ street: 'Street',
50
+ house: 'House',
51
+ postcode: 'Postal code',
52
+ line2: 'Additional address line',
53
+ entrance: 'Entrance',
54
+ intercom: 'Intercom',
55
+ floor: 'Floor',
56
+ apartment: 'Apartment',
57
+ details: 'Additional details',
58
+ default: 'Default delivery address',
59
+ makeDefault: 'Default',
60
+ makeDefaultHint: 'Use for delivery by default',
61
+ clearDefault: 'Unmark',
62
+ clearDefaultHint: 'Clear default selection',
63
+ empty: 'Add a delivery address to get started.',
64
+ chooseCountry: 'Choose a country',
65
+ locate: 'Locate',
66
+ locationFailed: 'Could not determine the address. Enter it manually.',
67
+ regionFailed: 'Could not load regions. Try again.',
68
+ hintsFailed:
69
+ 'Suggestions are unavailable. You can continue entering the address manually.',
70
+ deleteQuestion: 'Delete this saved address?',
71
+ actions: 'Address actions',
72
+ suggestionsLoading: 'Loading suggestions…',
73
+ savedTitle: 'Address saved',
74
+ savedAsSent: 'This is how the address is saved in your account.',
75
+ savedRefined:
76
+ 'The address service refined the address. Check the marked fields and edit them if needed.',
77
+ refined: 'refined',
78
+ done: 'Done',
79
+ defaultKept:
80
+ 'This is your default delivery address. To clear the mark, use the address menu.',
81
+ noShipping: 'No delivery to this country',
82
+ noShippingDefault:
83
+ 'There is no delivery to this country, so this address can not be the default.',
84
+ },
85
+ wallet: {
86
+ title: 'Wallet and payments',
87
+ description: 'Top up your balance and follow your payment history.',
88
+ topUp: 'Top up balance',
89
+ topUpAction: 'Deposit',
90
+ amount: 'Amount',
91
+ payment: 'Payment method',
92
+ currency: 'Currency',
93
+ create: 'Continue',
94
+ history: 'Payment history',
95
+ wallet: 'Wallet',
96
+ orders: 'Orders',
97
+ paid_subs: 'Subscriptions',
98
+ empty: 'No payments in this category yet.',
99
+ unavailable: 'No payment methods are available.',
100
+ pay: 'Pay',
101
+ cancelInvoice: 'Cancel',
102
+ cancelQuestion: 'Cancel this unpaid invoice?',
103
+ refunds: 'Refunds',
104
+ refundToBalance: 'Returned to the balance',
105
+ refundToMethod: 'Returned to the payment method',
106
+ invoice: 'Invoice',
107
+ paymentTitle: 'Payment',
108
+ check: 'Check',
109
+ transactionId: 'Payment transaction ID',
110
+ comment: 'Comment',
111
+ relatedOrder: 'Order',
112
+ relatedSubscription: 'Subscription',
113
+ openOrder: 'Open the order',
114
+ openSubscription: 'Open my subscriptions',
115
+ purpose: {
116
+ topUp: 'Balance top-up',
117
+ deduction: 'Deducted from the balance',
118
+ orderPayment: 'Order payment',
119
+ subscriptionPayment: 'Subscription payment',
120
+ bonus: 'Credited to the balance',
121
+ refund: 'Refund',
122
+ },
123
+ // Invoice states by their number: the backend sends the state name
124
+ // in English only.
125
+ statuses: {
126
+ '-4': 'Canceled',
127
+ '-3': 'Expired',
128
+ '-2': 'Blocked',
129
+ '-1': 'Failed',
130
+ '0': 'Created',
131
+ '1': 'Completed',
132
+ } as Record<string, string>,
133
+ },
134
+ };
135
+
136
+ const ru: typeof en = {
137
+ loading: 'Загрузка…',
138
+ failed: 'Не удалось выполнить запрос. Попробуйте ещё раз.',
139
+ retry: 'Повторить',
140
+ refresh: 'Обновить',
141
+ save: 'Сохранить',
142
+ saved: 'Сохранено',
143
+ cancel: 'Отмена',
144
+ close: 'Закрыть',
145
+ delete: 'Удалить',
146
+ edit: 'Изменить',
147
+ add: 'Добавить',
148
+ back: 'Назад',
149
+ next: 'Далее',
150
+ previous: 'Назад',
151
+ page: 'Страница',
152
+ empty: 'Здесь пока ничего нет',
153
+ noMatches: 'Ничего не найдено',
154
+ account: 'Личный кабинет',
155
+ accountSignIn:
156
+ 'Войдите, чтобы открыть заказы, адреса, кошелёк и другие разделы личного кабинета.',
157
+ required: 'Обязательное поле',
158
+ search: 'Поиск',
159
+ all: 'Все',
160
+ continue: 'Продолжить',
161
+ balance: 'Баланс',
162
+ navigation: {
163
+ profile: 'Профиль',
164
+ addresses: 'Адреса',
165
+ orders: 'Заказы',
166
+ tickets: 'Поддержка',
167
+ wallet: 'Кошелёк',
168
+ subscriptions: 'Подписки',
169
+ wishlist: 'Избранное',
170
+ promocodes: 'Мои промокоды',
171
+ activity: 'Моя активность',
172
+ },
173
+ logout: 'Выйти',
174
+ addresses: {
175
+ title: 'Мои адреса',
176
+ description: 'Сохранённые адреса для доставки.',
177
+ add: 'Добавить адрес',
178
+ edit: 'Изменить адрес',
179
+ label: 'Название адреса',
180
+ country: 'Страна',
181
+ region: 'Регион',
182
+ findRegion: 'Начните вводить регион',
183
+ city: 'Город',
184
+ street: 'Улица',
185
+ house: 'Дом',
186
+ postcode: 'Индекс',
187
+ line2: 'Дополнение к адресу',
188
+ entrance: 'Подъезд',
189
+ intercom: 'Домофон',
190
+ floor: 'Этаж',
191
+ apartment: 'Квартира',
192
+ details: 'Дополнительные сведения',
193
+ default: 'Основной адрес доставки',
194
+ makeDefault: 'Основной',
195
+ makeDefaultHint: 'Основной адрес доставки',
196
+ clearDefault: 'Снять',
197
+ clearDefaultHint: 'Снять отметку основного адреса',
198
+ empty: 'Добавьте адрес для доставки.',
199
+ chooseCountry: 'Выберите страну',
200
+ locate: 'Определить',
201
+ locationFailed: 'Не удалось определить адрес. Введите его вручную.',
202
+ regionFailed: 'Не удалось загрузить регионы. Попробуйте ещё раз.',
203
+ hintsFailed:
204
+ 'Подсказки недоступны. Адрес можно продолжить вводить вручную.',
205
+ deleteQuestion: 'Удалить этот сохранённый адрес?',
206
+ actions: 'Действия с адресом',
207
+ suggestionsLoading: 'Загрузка подсказок…',
208
+ savedTitle: 'Адрес сохранён',
209
+ savedAsSent: 'Так адрес сохранён в вашем аккаунте.',
210
+ savedRefined:
211
+ 'Служба адресов уточнила адрес. Проверьте отмеченные поля и при необходимости измените их.',
212
+ refined: 'уточнено',
213
+ done: 'Готово',
214
+ defaultKept:
215
+ 'Это ваш основной адрес доставки. Снять отметку можно в меню адреса.',
216
+ noShipping: 'Нет доставки в эту страну',
217
+ noShippingDefault:
218
+ 'В эту страну нет доставки, поэтому адрес не может быть основным.',
219
+ },
220
+ wallet: {
221
+ title: 'Кошелёк и платежи',
222
+ description: 'Пополнение баланса и история платежей.',
223
+ topUp: 'Пополнить баланс',
224
+ topUpAction: 'Пополнить',
225
+ amount: 'Сумма',
226
+ payment: 'Способ оплаты',
227
+ currency: 'Валюта',
228
+ create: 'Продолжить',
229
+ history: 'История платежей',
230
+ wallet: 'Кошелёк',
231
+ orders: 'Заказы',
232
+ paid_subs: 'Подписки',
233
+ empty: 'В этой категории пока нет платежей.',
234
+ unavailable: 'Нет доступных способов оплаты.',
235
+ pay: 'Оплатить',
236
+ cancelInvoice: 'Отменить',
237
+ cancelQuestion: 'Отменить этот неоплаченный счёт?',
238
+ refunds: 'Возвраты',
239
+ refundToBalance: 'Возвращено на баланс',
240
+ refundToMethod: 'Возвращено на способ оплаты',
241
+ invoice: 'Счёт',
242
+ paymentTitle: 'Оплата',
243
+ check: 'Проверить',
244
+ transactionId: 'ID платёжной транзакции',
245
+ comment: 'Комментарий',
246
+ relatedOrder: 'Заказ',
247
+ relatedSubscription: 'Подписка',
248
+ openOrder: 'Открыть заказ',
249
+ openSubscription: 'Открыть мои подписки',
250
+ purpose: {
251
+ topUp: 'Пополнение баланса',
252
+ deduction: 'Списание с баланса',
253
+ orderPayment: 'Оплата заказа',
254
+ subscriptionPayment: 'Оплата подписки',
255
+ bonus: 'Зачисление на баланс',
256
+ refund: 'Возврат',
257
+ },
258
+ statuses: {
259
+ '-4': 'Отменён',
260
+ '-3': 'Истёк',
261
+ '-2': 'Заблокирован',
262
+ '-1': 'Не прошёл',
263
+ '0': 'Создан',
264
+ '1': 'Выполнен',
265
+ },
266
+ },
267
+ };
268
+
269
+ export function featureLabels(locale: string) {
270
+ return locale.toLowerCase().startsWith('ru') ? ru : en;
271
+ }
@@ -0,0 +1,28 @@
1
+ import { getAvailableValueFromObject } from '@/lib/orionplace/presentation';
2
+
3
+ const labels = {
4
+ en: {
5
+ title: 'Featured',
6
+ description: 'Products from categories you have searched for.',
7
+ empty:
8
+ 'Search for products: recommendations come from the categories you search.',
9
+ guestTitle: 'Sign in to see recommendations',
10
+ guestDescription:
11
+ 'Recommendations are selected from categories you have searched for.',
12
+ home: 'Home',
13
+ },
14
+ ru: {
15
+ title: 'Рекомендуем',
16
+ description: 'Товары из категорий, которые вы искали.',
17
+ empty:
18
+ 'Поищите товары: рекомендации подбираются по категориям ваших запросов.',
19
+ guestTitle: 'Войдите, чтобы увидеть рекомендации',
20
+ guestDescription:
21
+ 'Рекомендации подбираются по категориям, которые вы искали.',
22
+ home: 'Главная',
23
+ },
24
+ };
25
+
26
+ export function featuredLabels(locale: string) {
27
+ return getAvailableValueFromObject(labels, locale) ?? labels.en;
28
+ }
@@ -0,0 +1,35 @@
1
+ export function footerLabels(locale: string) {
2
+ return locale.toLowerCase().startsWith('ru')
3
+ ? {
4
+ catalog: 'Каталог',
5
+ sellers: 'Продавцы',
6
+ stores: 'Магазины',
7
+ manufacturers: 'Производители',
8
+ sections: 'Покупателям',
9
+ contact: 'Контакты',
10
+ home: 'На главную',
11
+ profile: 'Личный кабинет',
12
+ journal: 'Журнал',
13
+ rights: 'Все права защищены.',
14
+ products: 'Товары',
15
+ discounts: 'Скидки',
16
+ new: 'Новинки',
17
+ featured: 'Рекомендуем',
18
+ }
19
+ : {
20
+ catalog: 'Catalog',
21
+ sellers: 'Sellers',
22
+ stores: 'Stores',
23
+ manufacturers: 'Manufacturers',
24
+ sections: 'Discover',
25
+ contact: 'Contact',
26
+ home: 'Home',
27
+ profile: 'My account',
28
+ journal: 'Journal',
29
+ rights: 'All rights reserved.',
30
+ products: 'Products',
31
+ discounts: 'Discounts',
32
+ new: 'New arrivals',
33
+ featured: 'Featured',
34
+ };
35
+ }
@@ -0,0 +1,55 @@
1
+ import type { AppLoadResult } from '@/interfaces/orionplace/transport';
2
+ import type {
3
+ IProduct,
4
+ IAppLoadProduct,
5
+ } from '@/interfaces/orionplace/products/IProduct';
6
+
7
+ /*
8
+ * The backend answered HTTP 401 while the store still held a signed-in
9
+ * snapshot. Until Application Load confirms the guest session, the store keeps
10
+ * the public storefront data and drops everything that belonged to the
11
+ * account: profile, authenticated discovery, wallet and session counters.
12
+ */
13
+ export function guestProduct<T extends IProduct | IAppLoadProduct>(
14
+ product: T,
15
+ ): T {
16
+ return {
17
+ ...product,
18
+ whishlist_id: null,
19
+ subscription_id: null,
20
+ cart_counts: null,
21
+ };
22
+ }
23
+
24
+ export function guestAppLoadResult(result: AppLoadResult): AppLoadResult {
25
+ const page = result.response.page_data;
26
+ const variables = { ...page.init.variables };
27
+
28
+ // Unknown until the guest Application Load returns the new session's values.
29
+ delete variables.c_cart_positions;
30
+ delete variables.c_wishlist;
31
+
32
+ const init = {
33
+ ...page.init,
34
+ is_authenticated: false,
35
+ variables,
36
+ products: page.init.products?.map(guestProduct),
37
+ featured: page.init.featured?.map(guestProduct),
38
+ };
39
+ const guest = { ...page, init };
40
+
41
+ delete init.wallet;
42
+ delete guest.user;
43
+ delete guest.auth;
44
+ delete guest.view_key;
45
+
46
+ return {
47
+ ...result,
48
+ response: {
49
+ ...result.response,
50
+ user_groups: undefined,
51
+ user_perms: undefined,
52
+ page_data: guest,
53
+ },
54
+ };
55
+ }