orionplace-react 0.7.7 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -614
- package/bin/orionplace-react.mjs +10 -176
- package/package.json +7 -59
- package/LICENSE +0 -21
- package/runtime/app.d.mts +0 -6
- package/runtime/app.mjs +0 -48
- package/runtime/marketplace.d.mts +0 -129
- package/runtime/marketplace.mjs +0 -905
- package/src/install.mjs +0 -356
- package/src/project-readme.mjs +0 -442
- package/src/service.mjs +0 -186
- package/src/setup.mjs +0 -274
- package/src/sitemap.mjs +0 -93
- package/src/update.mjs +0 -36
- package/src/validation.mjs +0 -27
- package/templates/app/StorefrontShell.tsx +0 -443
- package/templates/app/[[...path]]/page.app.tsx +0 -11
- package/templates/app/_storefront/ActivityPage.tsx +0 -23
- package/templates/app/_storefront/AddressesPage.tsx +0 -29
- package/templates/app/_storefront/AppRoutes.tsx +0 -184
- package/templates/app/_storefront/ArticlePage.tsx +0 -84
- package/templates/app/_storefront/CartPage.tsx +0 -53
- package/templates/app/_storefront/CatalogPage.tsx +0 -37
- package/templates/app/_storefront/CategoryPage.tsx +0 -68
- package/templates/app/_storefront/ContactPage.tsx +0 -32
- package/templates/app/_storefront/HomePage.tsx +0 -140
- package/templates/app/_storefront/JournalPage.tsx +0 -36
- package/templates/app/_storefront/LogoutPage.tsx +0 -91
- package/templates/app/_storefront/ManufacturersPage.tsx +0 -64
- package/templates/app/_storefront/OrdersPage.tsx +0 -129
- package/templates/app/_storefront/PrivacyPage.tsx +0 -15
- package/templates/app/_storefront/ProductPage.tsx +0 -113
- package/templates/app/_storefront/ProfilePage.tsx +0 -75
- package/templates/app/_storefront/PromoPage.tsx +0 -66
- package/templates/app/_storefront/PromocodesPage.tsx +0 -17
- package/templates/app/_storefront/SearchPage.tsx +0 -225
- package/templates/app/_storefront/SellersPage.tsx +0 -166
- package/templates/app/_storefront/StorefrontErrorRoute.tsx +0 -42
- package/templates/app/_storefront/StorefrontPageMetadata.tsx +0 -117
- package/templates/app/_storefront/StorefrontPageStatus.tsx +0 -61
- package/templates/app/_storefront/StorefrontProductStructuredData.tsx +0 -77
- package/templates/app/_storefront/StoresPage.tsx +0 -53
- package/templates/app/_storefront/SubscriptionsPage.tsx +0 -62
- package/templates/app/_storefront/SupportPage.tsx +0 -141
- package/templates/app/_storefront/TariffsPage.tsx +0 -180
- package/templates/app/_storefront/UnsubscribePage.tsx +0 -29
- package/templates/app/_storefront/WalletPage.tsx +0 -78
- package/templates/app/_storefront/WishlistPage.tsx +0 -79
- package/templates/app/_storefront/storefrontRoutes.tsx +0 -769
- package/templates/app/_storefront/useAccountWallet.ts +0 -27
- package/templates/app/_storefront/useBlogComments.ts +0 -389
- package/templates/app/_storefront/useProductSearch.ts +0 -242
- package/templates/app/_storefront/useStorefrontNavigation.ts +0 -36
- package/templates/app/activity/page.tsx +0 -9
- package/templates/app/addresses/page.tsx +0 -9
- package/templates/app/api/[...orionplace]/route.ts +0 -21
- package/templates/app/browse/page.tsx +0 -27
- package/templates/app/cart/page.tsx +0 -9
- package/templates/app/catalog/page.tsx +0 -9
- package/templates/app/category/[id]/page.tsx +0 -9
- package/templates/app/contact/page.tsx +0 -9
- package/templates/app/error.tsx +0 -7
- package/templates/app/featured/page.tsx +0 -9
- package/templates/app/global-error.tsx +0 -61
- package/templates/app/globals.css +0 -58
- package/templates/app/journal/[id]/page.tsx +0 -9
- package/templates/app/journal/page.tsx +0 -9
- package/templates/app/layout.app.tsx +0 -20
- package/templates/app/layout.tsx +0 -66
- package/templates/app/logout/page.tsx +0 -9
- package/templates/app/manufacturers/page.tsx +0 -9
- package/templates/app/not-found.tsx +0 -5
- package/templates/app/orders/page.tsx +0 -9
- package/templates/app/page.module.css +0 -137
- package/templates/app/page.tsx +0 -9
- package/templates/app/privacy/page.tsx +0 -9
- package/templates/app/product/[id]/page.tsx +0 -9
- package/templates/app/profile/page.tsx +0 -9
- package/templates/app/promo/[id]/page.tsx +0 -9
- package/templates/app/promocodes/page.tsx +0 -9
- package/templates/app/ps3/blog/[...orionplace]/route.ts +0 -13
- package/templates/app/robots.txt/route.ts +0 -11
- package/templates/app/sellers/page.tsx +0 -9
- package/templates/app/sitemap.xml/route.ts +0 -12
- package/templates/app/storefront.module.css +0 -406
- package/templates/app/stores/page.tsx +0 -9
- package/templates/app/subscriptions/page.tsx +0 -9
- package/templates/app/tariffs/[slug]/[id]/page.tsx +0 -9
- package/templates/app/tariffs/page.tsx +0 -9
- package/templates/app/tickets/page.tsx +0 -9
- package/templates/app/unsubscribe/page.tsx +0 -9
- package/templates/app/wallet/page.tsx +0 -9
- package/templates/app/wishlist/page.tsx +0 -9
- package/templates/components/orionplace/account/AccountActivity.README.md +0 -70
- package/templates/components/orionplace/account/AccountActivity.module.css +0 -16
- package/templates/components/orionplace/account/AccountActivity.tsx +0 -94
- package/templates/components/orionplace/account/AccountPromocodes.README.md +0 -70
- package/templates/components/orionplace/account/AccountPromocodes.module.css +0 -92
- package/templates/components/orionplace/account/AccountPromocodes.tsx +0 -257
- package/templates/components/orionplace/account/AccountSection.README.md +0 -46
- package/templates/components/orionplace/account/AccountSection.module.css +0 -110
- package/templates/components/orionplace/account/AccountSection.tsx +0 -109
- package/templates/components/orionplace/account/ProfileAvatar.README.md +0 -48
- package/templates/components/orionplace/account/ProfileAvatar.module.css +0 -31
- package/templates/components/orionplace/account/ProfileAvatar.tsx +0 -138
- package/templates/components/orionplace/account/ProfileDeleteAccount.README.md +0 -59
- package/templates/components/orionplace/account/ProfileDeleteAccount.module.css +0 -51
- package/templates/components/orionplace/account/ProfileDeleteAccount.tsx +0 -171
- package/templates/components/orionplace/account/ProfileDetailsForm.README.md +0 -48
- package/templates/components/orionplace/account/ProfileDetailsForm.module.css +0 -35
- package/templates/components/orionplace/account/ProfileDetailsForm.tsx +0 -183
- package/templates/components/orionplace/account/ProfileEmailSettings.README.md +0 -52
- package/templates/components/orionplace/account/ProfileEmailSettings.module.css +0 -51
- package/templates/components/orionplace/account/ProfileEmailSettings.tsx +0 -276
- package/templates/components/orionplace/account/ProfilePasswordForm.README.md +0 -45
- package/templates/components/orionplace/account/ProfilePasswordForm.module.css +0 -43
- package/templates/components/orionplace/account/ProfilePasswordForm.tsx +0 -227
- package/templates/components/orionplace/account/ProfileSignIn.README.md +0 -64
- package/templates/components/orionplace/account/ProfileSignIn.module.css +0 -86
- package/templates/components/orionplace/account/ProfileSignIn.tsx +0 -463
- package/templates/components/orionplace/account/SignInHistory.README.md +0 -52
- package/templates/components/orionplace/account/SignInHistory.module.css +0 -81
- package/templates/components/orionplace/account/SignInHistory.tsx +0 -231
- package/templates/components/orionplace/account/StorefrontLogout.README.md +0 -48
- package/templates/components/orionplace/account/StorefrontLogout.module.css +0 -166
- package/templates/components/orionplace/account/StorefrontLogout.tsx +0 -73
- package/templates/components/orionplace/account/StorefrontProfile.README.md +0 -71
- package/templates/components/orionplace/account/StorefrontProfile.module.css +0 -65
- package/templates/components/orionplace/account/StorefrontProfile.tsx +0 -189
- package/templates/components/orionplace/account/account.module.css +0 -1180
- package/templates/components/orionplace/account/profile.module.css +0 -696
- package/templates/components/orionplace/address/AddressForm.README.md +0 -152
- package/templates/components/orionplace/address/AddressForm.module.css +0 -336
- package/templates/components/orionplace/address/AddressForm.tsx +0 -827
- package/templates/components/orionplace/address/StorefrontAddresses.README.md +0 -99
- package/templates/components/orionplace/address/StorefrontAddresses.module.css +0 -271
- package/templates/components/orionplace/address/StorefrontAddresses.tsx +0 -438
- package/templates/components/orionplace/banners/MainBanner.README.md +0 -65
- package/templates/components/orionplace/banners/MainBanner.module.css +0 -112
- package/templates/components/orionplace/banners/MainBanner.tsx +0 -159
- package/templates/components/orionplace/blog/BlogArticle.README.md +0 -183
- package/templates/components/orionplace/blog/BlogArticle.module.css +0 -333
- package/templates/components/orionplace/blog/BlogArticle.tsx +0 -545
- package/templates/components/orionplace/blog/BlogCommentForm.README.md +0 -51
- package/templates/components/orionplace/blog/BlogCommentForm.module.css +0 -93
- package/templates/components/orionplace/blog/BlogCommentForm.tsx +0 -125
- package/templates/components/orionplace/blog/BlogComments.README.md +0 -98
- package/templates/components/orionplace/blog/BlogComments.module.css +0 -151
- package/templates/components/orionplace/blog/BlogComments.tsx +0 -590
- package/templates/components/orionplace/blog/BlogPostCard.README.md +0 -51
- package/templates/components/orionplace/blog/BlogPostCard.module.css +0 -167
- package/templates/components/orionplace/blog/BlogPostCard.tsx +0 -177
- package/templates/components/orionplace/blog/BlogPostGroup.README.md +0 -49
- package/templates/components/orionplace/blog/BlogPostGroup.module.css +0 -37
- package/templates/components/orionplace/blog/BlogPostGroup.tsx +0 -129
- package/templates/components/orionplace/blog/StorefrontJournal.README.md +0 -105
- package/templates/components/orionplace/blog/StorefrontJournal.module.css +0 -387
- package/templates/components/orionplace/blog/StorefrontJournal.tsx +0 -549
- package/templates/components/orionplace/branding/BrandLogos.README.md +0 -29
- package/templates/components/orionplace/branding/BrandLogos.module.css +0 -7
- package/templates/components/orionplace/branding/BrandLogos.tsx +0 -30
- package/templates/components/orionplace/cart/CartCheckoutDetails.README.md +0 -96
- package/templates/components/orionplace/cart/CartCheckoutDetails.module.css +0 -159
- package/templates/components/orionplace/cart/CartCheckoutDetails.tsx +0 -381
- package/templates/components/orionplace/cart/CartDeliverySelector.README.md +0 -166
- package/templates/components/orionplace/cart/CartDeliverySelector.module.css +0 -105
- package/templates/components/orionplace/cart/CartDeliverySelector.tsx +0 -679
- package/templates/components/orionplace/cart/CartItemOptions.README.md +0 -172
- package/templates/components/orionplace/cart/CartItemOptions.module.css +0 -113
- package/templates/components/orionplace/cart/CartItemOptions.tsx +0 -503
- package/templates/components/orionplace/cart/CartLineItem.README.md +0 -138
- package/templates/components/orionplace/cart/CartLineItem.module.css +0 -57
- package/templates/components/orionplace/cart/CartLineItem.tsx +0 -263
- package/templates/components/orionplace/cart/CartPreview.README.md +0 -99
- package/templates/components/orionplace/cart/CartPreview.module.css +0 -225
- package/templates/components/orionplace/cart/CartPreview.tsx +0 -188
- package/templates/components/orionplace/cart/DeliveryMap.README.md +0 -65
- package/templates/components/orionplace/cart/DeliveryMap.module.css +0 -32
- package/templates/components/orionplace/cart/DeliveryMap.tsx +0 -131
- package/templates/components/orionplace/cart/StorefrontCart.README.md +0 -281
- package/templates/components/orionplace/cart/StorefrontCart.module.css +0 -460
- package/templates/components/orionplace/cart/StorefrontCart.tsx +0 -937
- package/templates/components/orionplace/catalog/CatalogHeader.README.md +0 -136
- package/templates/components/orionplace/catalog/CatalogHeader.module.css +0 -387
- package/templates/components/orionplace/catalog/CatalogHeader.tsx +0 -644
- package/templates/components/orionplace/catalog/CatalogRepresentative.README.md +0 -68
- package/templates/components/orionplace/catalog/CatalogRepresentative.tsx +0 -51
- package/templates/components/orionplace/catalog/StorefrontCatalog.README.md +0 -120
- package/templates/components/orionplace/catalog/StorefrontCatalog.module.css +0 -179
- package/templates/components/orionplace/catalog/StorefrontCatalog.tsx +0 -304
- package/templates/components/orionplace/categories/CategoryGroup.README.md +0 -68
- package/templates/components/orionplace/categories/CategoryGroup.module.css +0 -110
- package/templates/components/orionplace/categories/CategoryGroup.tsx +0 -123
- package/templates/components/orionplace/categories/StorefrontCategory.README.md +0 -155
- package/templates/components/orionplace/categories/StorefrontCategory.module.css +0 -148
- package/templates/components/orionplace/categories/StorefrontCategory.tsx +0 -225
- package/templates/components/orionplace/contact/AboutPage.README.md +0 -40
- package/templates/components/orionplace/contact/AboutPage.module.css +0 -216
- package/templates/components/orionplace/contact/AboutPage.tsx +0 -191
- package/templates/components/orionplace/contact/ContactForm.README.md +0 -93
- package/templates/components/orionplace/contact/ContactForm.module.css +0 -264
- package/templates/components/orionplace/contact/ContactForm.tsx +0 -382
- package/templates/components/orionplace/contact/EmailUnsubscribe.README.md +0 -67
- package/templates/components/orionplace/contact/EmailUnsubscribe.module.css +0 -95
- package/templates/components/orionplace/contact/EmailUnsubscribe.tsx +0 -130
- package/templates/components/orionplace/contact/StorefrontContact.README.md +0 -73
- package/templates/components/orionplace/contact/StorefrontContact.module.css +0 -101
- package/templates/components/orionplace/contact/StorefrontContact.tsx +0 -62
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.README.md +0 -37
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.tsx +0 -68
- package/templates/components/orionplace/events/EventEnrollmentDialog.README.md +0 -108
- package/templates/components/orionplace/events/EventEnrollmentDialog.module.css +0 -110
- package/templates/components/orionplace/events/EventEnrollmentDialog.tsx +0 -315
- package/templates/components/orionplace/events/EventsBlock.README.md +0 -58
- package/templates/components/orionplace/events/EventsBlock.module.css +0 -101
- package/templates/components/orionplace/events/EventsBlock.tsx +0 -109
- package/templates/components/orionplace/legal/CookieNotice.README.md +0 -42
- package/templates/components/orionplace/legal/CookieNotice.module.css +0 -48
- package/templates/components/orionplace/legal/CookieNotice.tsx +0 -82
- package/templates/components/orionplace/legal/StorefrontPrivacy.README.md +0 -49
- package/templates/components/orionplace/legal/StorefrontPrivacy.module.css +0 -166
- package/templates/components/orionplace/legal/StorefrontPrivacy.tsx +0 -83
- package/templates/components/orionplace/locale/MainLanguageSwitcher.README.md +0 -46
- package/templates/components/orionplace/locale/MainLanguageSwitcher.module.css +0 -196
- package/templates/components/orionplace/locale/MainLanguageSwitcher.tsx +0 -387
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.README.md +0 -83
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.module.css +0 -271
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.tsx +0 -218
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.README.md +0 -122
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.module.css +0 -92
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.tsx +0 -455
- package/templates/components/orionplace/orders/OrderDetails.README.md +0 -116
- package/templates/components/orionplace/orders/OrderDetails.module.css +0 -730
- package/templates/components/orionplace/orders/OrderDetails.tsx +0 -693
- package/templates/components/orionplace/orders/OrderPaymentForm.README.md +0 -92
- package/templates/components/orionplace/orders/OrderPaymentForm.module.css +0 -105
- package/templates/components/orionplace/orders/OrderPaymentForm.tsx +0 -90
- package/templates/components/orionplace/orders/StorefrontOrders.README.md +0 -131
- package/templates/components/orionplace/orders/StorefrontOrders.module.css +0 -633
- package/templates/components/orionplace/orders/StorefrontOrders.tsx +0 -922
- package/templates/components/orionplace/payments/PaymentPanel.README.md +0 -114
- package/templates/components/orionplace/payments/PaymentPanel.module.css +0 -134
- package/templates/components/orionplace/payments/PaymentPanel.tsx +0 -76
- package/templates/components/orionplace/products/HoverImageViewer.README.md +0 -62
- package/templates/components/orionplace/products/HoverImageViewer.module.css +0 -88
- package/templates/components/orionplace/products/HoverImageViewer.tsx +0 -179
- package/templates/components/orionplace/products/ProductCard.README.md +0 -154
- package/templates/components/orionplace/products/ProductCard.module.css +0 -333
- package/templates/components/orionplace/products/ProductCard.tsx +0 -730
- package/templates/components/orionplace/products/ProductCardActions.README.md +0 -84
- package/templates/components/orionplace/products/ProductCardActions.module.css +0 -146
- package/templates/components/orionplace/products/ProductCardActions.tsx +0 -311
- package/templates/components/orionplace/products/ProductCardBadges.README.md +0 -44
- package/templates/components/orionplace/products/ProductCardBadges.module.css +0 -15
- package/templates/components/orionplace/products/ProductCardBadges.tsx +0 -78
- package/templates/components/orionplace/products/ProductCardDescription.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardDescription.module.css +0 -6
- package/templates/components/orionplace/products/ProductCardDescription.tsx +0 -43
- package/templates/components/orionplace/products/ProductCardFavorite.README.md +0 -52
- package/templates/components/orionplace/products/ProductCardFavorite.module.css +0 -64
- package/templates/components/orionplace/products/ProductCardFavorite.tsx +0 -90
- package/templates/components/orionplace/products/ProductCardPrice.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardPrice.module.css +0 -22
- package/templates/components/orionplace/products/ProductCardPrice.tsx +0 -50
- package/templates/components/orionplace/products/ProductCardRating.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardRating.module.css +0 -7
- package/templates/components/orionplace/products/ProductCardRating.tsx +0 -56
- package/templates/components/orionplace/products/ProductCardSeller.README.md +0 -36
- package/templates/components/orionplace/products/ProductCardSeller.module.css +0 -31
- package/templates/components/orionplace/products/ProductCardSeller.tsx +0 -61
- package/templates/components/orionplace/products/ProductCardStockNotice.README.md +0 -36
- package/templates/components/orionplace/products/ProductCardStockNotice.module.css +0 -8
- package/templates/components/orionplace/products/ProductCardStockNotice.tsx +0 -35
- package/templates/components/orionplace/products/ProductCardTitle.README.md +0 -30
- package/templates/components/orionplace/products/ProductCardTitle.module.css +0 -13
- package/templates/components/orionplace/products/ProductCardTitle.tsx +0 -31
- package/templates/components/orionplace/products/ProductCardVariants.README.md +0 -77
- package/templates/components/orionplace/products/ProductCardVariants.module.css +0 -97
- package/templates/components/orionplace/products/ProductCardVariants.tsx +0 -350
- package/templates/components/orionplace/products/ProductGroup.README.md +0 -91
- package/templates/components/orionplace/products/ProductGroup.module.css +0 -64
- package/templates/components/orionplace/products/ProductGroup.tsx +0 -186
- package/templates/components/orionplace/products/ProductPreorderDialog.README.md +0 -89
- package/templates/components/orionplace/products/ProductPreorderDialog.module.css +0 -320
- package/templates/components/orionplace/products/ProductPreorderDialog.tsx +0 -346
- package/templates/components/orionplace/products/ProductReviewForm.README.md +0 -72
- package/templates/components/orionplace/products/ProductReviewForm.module.css +0 -217
- package/templates/components/orionplace/products/ProductReviewForm.tsx +0 -288
- package/templates/components/orionplace/products/ProductReviewGallery.README.md +0 -61
- package/templates/components/orionplace/products/ProductReviewGallery.module.css +0 -108
- package/templates/components/orionplace/products/ProductReviewGallery.tsx +0 -110
- package/templates/components/orionplace/products/ProductReviewImageViewer.README.md +0 -60
- package/templates/components/orionplace/products/ProductReviewImageViewer.module.css +0 -59
- package/templates/components/orionplace/products/ProductReviewImageViewer.tsx +0 -312
- package/templates/components/orionplace/products/ProductReviews.README.md +0 -137
- package/templates/components/orionplace/products/ProductReviews.module.css +0 -602
- package/templates/components/orionplace/products/ProductReviews.tsx +0 -944
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.README.md +0 -67
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.module.css +0 -79
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.tsx +0 -324
- package/templates/components/orionplace/products/ProductSpecificationsDialog.README.md +0 -52
- package/templates/components/orionplace/products/ProductSpecificationsDialog.module.css +0 -138
- package/templates/components/orionplace/products/ProductSpecificationsDialog.tsx +0 -117
- package/templates/components/orionplace/products/StorefrontProduct.README.md +0 -200
- package/templates/components/orionplace/products/StorefrontProduct.module.css +0 -767
- package/templates/components/orionplace/products/StorefrontProduct.tsx +0 -1339
- package/templates/components/orionplace/products/StorefrontWishlist.README.md +0 -162
- package/templates/components/orionplace/products/StorefrontWishlist.module.css +0 -71
- package/templates/components/orionplace/products/StorefrontWishlist.tsx +0 -402
- package/templates/components/orionplace/promo/PromoProducts.README.md +0 -133
- package/templates/components/orionplace/promo/PromoProducts.module.css +0 -68
- package/templates/components/orionplace/promo/PromoProducts.tsx +0 -345
- package/templates/components/orionplace/search/MainSearch.README.md +0 -73
- package/templates/components/orionplace/search/MainSearch.module.css +0 -202
- package/templates/components/orionplace/search/MainSearch.tsx +0 -217
- package/templates/components/orionplace/search/ProductSearchResults.README.md +0 -166
- package/templates/components/orionplace/search/ProductSearchResults.module.css +0 -361
- package/templates/components/orionplace/search/ProductSearchResults.tsx +0 -359
- package/templates/components/orionplace/search/SearchFilters.README.md +0 -109
- package/templates/components/orionplace/search/SearchFilters.module.css +0 -274
- package/templates/components/orionplace/search/SearchFilters.tsx +0 -439
- package/templates/components/orionplace/sellers/SellerFilters.README.md +0 -66
- package/templates/components/orionplace/sellers/SellerFilters.module.css +0 -232
- package/templates/components/orionplace/sellers/SellerFilters.tsx +0 -201
- package/templates/components/orionplace/sellers/SellerPhotoGallery.README.md +0 -72
- package/templates/components/orionplace/sellers/SellerPhotoGallery.module.css +0 -314
- package/templates/components/orionplace/sellers/SellerPhotoGallery.tsx +0 -335
- package/templates/components/orionplace/sellers/SellerSummary.README.md +0 -62
- package/templates/components/orionplace/sellers/SellerSummary.module.css +0 -182
- package/templates/components/orionplace/sellers/SellerSummary.tsx +0 -107
- package/templates/components/orionplace/sellers/StorefrontSellers.README.md +0 -120
- package/templates/components/orionplace/sellers/StorefrontSellers.module.css +0 -147
- package/templates/components/orionplace/sellers/StorefrontSellers.tsx +0 -360
- package/templates/components/orionplace/shared/OrionplaceAvatar.README.md +0 -35
- package/templates/components/orionplace/shared/OrionplaceAvatar.module.css +0 -35
- package/templates/components/orionplace/shared/OrionplaceAvatar.tsx +0 -61
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +0 -33
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.module.css +0 -81
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.tsx +0 -91
- package/templates/components/orionplace/shared/OrionplaceEmptyState.README.md +0 -37
- package/templates/components/orionplace/shared/OrionplaceEmptyState.module.css +0 -126
- package/templates/components/orionplace/shared/OrionplaceEmptyState.tsx +0 -78
- package/templates/components/orionplace/shared/OrionplaceImage.README.md +0 -45
- package/templates/components/orionplace/shared/OrionplaceImage.module.css +0 -22
- package/templates/components/orionplace/shared/OrionplaceImage.tsx +0 -97
- package/templates/components/orionplace/shared/OrionplaceInfoHint.README.md +0 -31
- package/templates/components/orionplace/shared/OrionplaceInfoHint.module.css +0 -59
- package/templates/components/orionplace/shared/OrionplaceInfoHint.tsx +0 -126
- package/templates/components/orionplace/shared/OrionplacePasswordInput.README.md +0 -39
- package/templates/components/orionplace/shared/OrionplacePasswordInput.module.css +0 -79
- package/templates/components/orionplace/shared/OrionplacePasswordInput.tsx +0 -103
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.README.md +0 -97
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.module.css +0 -246
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.tsx +0 -367
- package/templates/components/orionplace/shared/OrionplaceSelect.README.md +0 -69
- package/templates/components/orionplace/shared/OrionplaceSelect.module.css +0 -233
- package/templates/components/orionplace/shared/OrionplaceSelect.tsx +0 -439
- package/templates/components/orionplace/shared/StorefrontErrorPage.README.md +0 -52
- package/templates/components/orionplace/shared/StorefrontErrorPage.module.css +0 -141
- package/templates/components/orionplace/shared/StorefrontErrorPage.tsx +0 -103
- package/templates/components/orionplace/shared/StorefrontPagination.README.md +0 -45
- package/templates/components/orionplace/shared/StorefrontPagination.module.css +0 -69
- package/templates/components/orionplace/shared/StorefrontPagination.tsx +0 -158
- package/templates/components/orionplace/shared/dialogs.css +0 -36
- package/templates/components/orionplace/shared/emptyStateArt.ts +0 -231
- package/templates/components/orionplace/shared/features.module.css +0 -162
- package/templates/components/orionplace/social/SocialLinks.README.md +0 -16
- package/templates/components/orionplace/social/SocialLinks.module.css +0 -36
- package/templates/components/orionplace/social/SocialLinks.tsx +0 -59
- package/templates/components/orionplace/storefront/StorefrontAccount.README.md +0 -59
- package/templates/components/orionplace/storefront/StorefrontAccount.module.css +0 -159
- package/templates/components/orionplace/storefront/StorefrontAccount.tsx +0 -303
- package/templates/components/orionplace/storefront/StorefrontCartButton.README.md +0 -47
- package/templates/components/orionplace/storefront/StorefrontCartButton.module.css +0 -88
- package/templates/components/orionplace/storefront/StorefrontCartButton.tsx +0 -54
- package/templates/components/orionplace/storefront/StorefrontFooter.README.md +0 -55
- package/templates/components/orionplace/storefront/StorefrontFooter.module.css +0 -118
- package/templates/components/orionplace/storefront/StorefrontFooter.tsx +0 -168
- package/templates/components/orionplace/storefront/StorefrontHeader.README.md +0 -150
- package/templates/components/orionplace/storefront/StorefrontHeader.module.css +0 -186
- package/templates/components/orionplace/storefront/StorefrontHeader.tsx +0 -389
- package/templates/components/orionplace/storefront/StorefrontHome.README.md +0 -138
- package/templates/components/orionplace/storefront/StorefrontHome.module.css +0 -116
- package/templates/components/orionplace/storefront/StorefrontHome.tsx +0 -282
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.README.md +0 -51
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.module.css +0 -95
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.tsx +0 -80
- package/templates/components/orionplace/stores/StorefrontStores.README.md +0 -87
- package/templates/components/orionplace/stores/StorefrontStores.module.css +0 -218
- package/templates/components/orionplace/stores/StorefrontStores.tsx +0 -397
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +0 -183
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.module.css +0 -347
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.tsx +0 -884
- package/templates/components/orionplace/subscriptions/StorefrontTariff.README.md +0 -124
- package/templates/components/orionplace/subscriptions/StorefrontTariff.module.css +0 -311
- package/templates/components/orionplace/subscriptions/StorefrontTariff.tsx +0 -485
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.README.md +0 -115
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.module.css +0 -219
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.tsx +0 -367
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +0 -67
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.tsx +0 -175
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +0 -95
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.tsx +0 -634
- package/templates/components/orionplace/subscriptions/SubscriptionDialog.module.css +0 -453
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +0 -75
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.tsx +0 -384
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +0 -116
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.module.css +0 -168
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.tsx +0 -236
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +0 -123
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.module.css +0 -57
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.tsx +0 -101
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +0 -109
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.tsx +0 -253
- package/templates/components/orionplace/support/StorefrontSupport.README.md +0 -157
- package/templates/components/orionplace/support/StorefrontSupport.tsx +0 -1040
- package/templates/components/orionplace/support/Support.module.css +0 -1133
- package/templates/components/orionplace/support/TicketConversation.README.md +0 -105
- package/templates/components/orionplace/support/TicketConversation.tsx +0 -502
- package/templates/components/orionplace/support/TicketImage.README.md +0 -52
- package/templates/components/orionplace/support/TicketImage.tsx +0 -254
- package/templates/components/orionplace/support/TicketItemCard.README.md +0 -66
- package/templates/components/orionplace/support/TicketItemCard.tsx +0 -140
- package/templates/components/orionplace/support/TicketMessageForm.README.md +0 -88
- package/templates/components/orionplace/support/TicketMessageForm.tsx +0 -261
- package/templates/components/orionplace/support/TicketSubscriptionCard.README.md +0 -53
- package/templates/components/orionplace/support/TicketSubscriptionCard.tsx +0 -118
- package/templates/components/orionplace/tariffs/TariffCard.README.md +0 -108
- package/templates/components/orionplace/tariffs/TariffCard.module.css +0 -86
- package/templates/components/orionplace/tariffs/TariffCard.tsx +0 -225
- package/templates/components/orionplace/tariffs/TariffCardDescription.README.md +0 -40
- package/templates/components/orionplace/tariffs/TariffCardDescription.module.css +0 -72
- package/templates/components/orionplace/tariffs/TariffCardDescription.tsx +0 -58
- package/templates/components/orionplace/tariffs/TariffCardFeatures.README.md +0 -58
- package/templates/components/orionplace/tariffs/TariffCardFeatures.module.css +0 -60
- package/templates/components/orionplace/tariffs/TariffCardFeatures.tsx +0 -140
- package/templates/components/orionplace/tariffs/TariffCardImage.README.md +0 -36
- package/templates/components/orionplace/tariffs/TariffCardImage.module.css +0 -8
- package/templates/components/orionplace/tariffs/TariffCardImage.tsx +0 -32
- package/templates/components/orionplace/tariffs/TariffCardPrices.README.md +0 -82
- package/templates/components/orionplace/tariffs/TariffCardPrices.module.css +0 -142
- package/templates/components/orionplace/tariffs/TariffCardPrices.tsx +0 -191
- package/templates/components/orionplace/tariffs/TariffCardTitle.README.md +0 -32
- package/templates/components/orionplace/tariffs/TariffCardTitle.module.css +0 -9
- package/templates/components/orionplace/tariffs/TariffCardTitle.tsx +0 -29
- package/templates/components/orionplace/tariffs/TariffCards.README.md +0 -88
- package/templates/components/orionplace/tariffs/TariffCards.module.css +0 -24
- package/templates/components/orionplace/tariffs/TariffCards.tsx +0 -44
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.README.md +0 -92
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.module.css +0 -214
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.tsx +0 -299
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.README.md +0 -30
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.module.css +0 -8
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.tsx +0 -32
- package/templates/components/orionplace/units/UnitSwitcher.README.md +0 -35
- package/templates/components/orionplace/units/UnitSwitcher.tsx +0 -58
- package/templates/components/orionplace/wallet/StorefrontWallet.README.md +0 -154
- package/templates/components/orionplace/wallet/StorefrontWallet.module.css +0 -507
- package/templates/components/orionplace/wallet/StorefrontWallet.tsx +0 -915
- package/templates/components/orionplace/wallet/WalletBalance.README.md +0 -46
- package/templates/components/orionplace/wallet/WalletBalance.module.css +0 -46
- package/templates/components/orionplace/wallet/WalletBalance.tsx +0 -51
- package/templates/components/orionplace/wallet/WalletTopUpForm.README.md +0 -54
- package/templates/components/orionplace/wallet/WalletTopUpForm.module.css +0 -152
- package/templates/components/orionplace/wallet/WalletTopUpForm.tsx +0 -181
- package/templates/hooks/useAccountActivity.ts +0 -251
- package/templates/hooks/useAccountAddresses.ts +0 -81
- package/templates/hooks/useAccountPromocodes.ts +0 -91
- package/templates/hooks/useOrionplaceActionMenu.ts +0 -118
- package/templates/hooks/useOrionplaceAddressForm.ts +0 -262
- package/templates/hooks/useOrionplaceApi.ts +0 -98
- package/templates/hooks/useOrionplaceAppLoad.ts +0 -66
- package/templates/hooks/useOrionplaceBlogReading.ts +0 -351
- package/templates/hooks/useOrionplaceDialog.ts +0 -85
- package/templates/hooks/useOrionplaceHomeProducts.ts +0 -97
- package/templates/hooks/useOrionplaceMap.tsx +0 -230
- package/templates/hooks/useOrionplaceMediaFormat.ts +0 -33
- package/templates/hooks/useOrionplaceProduct.ts +0 -28
- package/templates/hooks/useOrionplaceProfile.ts +0 -347
- package/templates/hooks/useOrionplaceReviews.ts +0 -352
- package/templates/hooks/useOrionplaceStableHeight.ts +0 -65
- package/templates/hooks/useOrionplaceStorefront.tsx +0 -575
- package/templates/hooks/useOrionplaceTariffPurchase.ts +0 -212
- package/templates/interfaces/orionplace/accounts/IContact.ts +0 -21
- package/templates/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +0 -17
- package/templates/interfaces/orionplace/accounts/IEmailVerification.ts +0 -59
- package/templates/interfaces/orionplace/accounts/IProfileActions.ts +0 -38
- package/templates/interfaces/orionplace/accounts/IProfileData.ts +0 -125
- package/templates/interfaces/orionplace/accounts/IProfileMedia.ts +0 -17
- package/templates/interfaces/orionplace/accounts/IStorefrontProfile.ts +0 -54
- package/templates/interfaces/orionplace/address/IAddressCitySuggestion.ts +0 -19
- package/templates/interfaces/orionplace/address/IAddressEditor.ts +0 -9
- package/templates/interfaces/orionplace/address/IAddressLocationSuggestion.ts +0 -22
- package/templates/interfaces/orionplace/address/IAddressRegionSearch.ts +0 -30
- package/templates/interfaces/orionplace/address/IAddressSuggestion.ts +0 -20
- package/templates/interfaces/orionplace/address/IUserAddress.ts +0 -87
- package/templates/interfaces/orionplace/apiBase/TMethod.ts +0 -1
- package/templates/interfaces/orionplace/appBase/IAppLoad.ts +0 -16
- package/templates/interfaces/orionplace/appBase/IAppLoadCommon.ts +0 -47
- package/templates/interfaces/orionplace/appBase/IApploadUserProfile.ts +0 -15
- package/templates/interfaces/orionplace/appBase/IForm.ts +0 -21
- package/templates/interfaces/orionplace/appBase/ISEO.ts +0 -21
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +0 -11
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonContact.ts +0 -8
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonCurrency.ts +0 -15
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonEvents.ts +0 -18
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLocale.ts +0 -14
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLogos.ts +0 -6
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +0 -22
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +0 -26
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSocial.ts +0 -15
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +0 -7
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonUnit.ts +0 -12
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +0 -8
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVisualSettings.ts +0 -11
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonWalletValue.ts +0 -3
- package/templates/interfaces/orionplace/blog/IBlogApi.ts +0 -247
- package/templates/interfaces/orionplace/blog/IBlogPostPreview.ts +0 -30
- package/templates/interfaces/orionplace/cart/ICartActions.ts +0 -67
- package/templates/interfaces/orionplace/cart/ICartData.ts +0 -382
- package/templates/interfaces/orionplace/cart/ICartDeliveryActions.ts +0 -68
- package/templates/interfaces/orionplace/cart/ICartModal.ts +0 -22
- package/templates/interfaces/orionplace/cart/IDeliveryMap.ts +0 -29
- package/templates/interfaces/orionplace/catalog/ICatalogDirectory.ts +0 -75
- package/templates/interfaces/orionplace/category/ICategory.ts +0 -41
- package/templates/interfaces/orionplace/domains/IDomain.ts +0 -13
- package/templates/interfaces/orionplace/forms/ICustomerSubfilter.ts +0 -19
- package/templates/interfaces/orionplace/index.ts +0 -64
- package/templates/interfaces/orionplace/marketing/IPromoActions.ts +0 -51
- package/templates/interfaces/orionplace/orders/IOrderActions.ts +0 -99
- package/templates/interfaces/orionplace/orders/IOrderHistory.ts +0 -259
- package/templates/interfaces/orionplace/orders/IProductPreorder.ts +0 -31
- package/templates/interfaces/orionplace/payments/IInvoice.ts +0 -147
- package/templates/interfaces/orionplace/products/IProduct.ts +0 -262
- package/templates/interfaces/orionplace/products/IProductFeedbackApi.ts +0 -218
- package/templates/interfaces/orionplace/products/IProductSearchApi.ts +0 -146
- package/templates/interfaces/orionplace/products/IProductSearchFacets.ts +0 -35
- package/templates/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +0 -15
- package/templates/interfaces/orionplace/products/IProductSpecification.ts +0 -14
- package/templates/interfaces/orionplace/products/IWishlist.ts +0 -22
- package/templates/interfaces/orionplace/sellers/ISellerDirectory.ts +0 -70
- package/templates/interfaces/orionplace/shared/IBreadcrumb.ts +0 -10
- package/templates/interfaces/orionplace/shared/IGeoCoordinates.ts +0 -4
- package/templates/interfaces/orionplace/shared/IStorefrontControls.ts +0 -6
- package/templates/interfaces/orionplace/shared/ITransformValue.ts +0 -3
- package/templates/interfaces/orionplace/state.ts +0 -4
- package/templates/interfaces/orionplace/stores/IStoreDirectory.ts +0 -63
- package/templates/interfaces/orionplace/subscribeOptions/ISubscribeOption.ts +0 -9
- package/templates/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +0 -56
- package/templates/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +0 -11
- package/templates/interfaces/orionplace/subscribes/ISubscribe.ts +0 -28
- package/templates/interfaces/orionplace/subscribes/ISubscriptionApi.ts +0 -127
- package/templates/interfaces/orionplace/tickets/ICustomerTicketApi.ts +0 -223
- package/templates/interfaces/orionplace/transport.ts +0 -34
- package/templates/lib/orionplace/accountLabels.ts +0 -29
- package/templates/lib/orionplace/activityLabels.ts +0 -96
- package/templates/lib/orionplace/activityPresentation.ts +0 -9
- package/templates/lib/orionplace/addressChanges.ts +0 -26
- package/templates/lib/orionplace/addressPresentation.ts +0 -58
- package/templates/lib/orionplace/api.ts +0 -326
- package/templates/lib/orionplace/appLoadClient.ts +0 -80
- package/templates/lib/orionplace/appLoadResult.ts +0 -120
- package/templates/lib/orionplace/appLoadServer.ts +0 -183
- package/templates/lib/orionplace/blogArticle.ts +0 -122
- package/templates/lib/orionplace/blogArticleHtml.ts +0 -371
- package/templates/lib/orionplace/blogComments.ts +0 -102
- package/templates/lib/orionplace/blogImageViewer.ts +0 -84
- package/templates/lib/orionplace/blogJournal.ts +0 -128
- package/templates/lib/orionplace/blogLabels.ts +0 -158
- package/templates/lib/orionplace/blogPresentation.ts +0 -67
- package/templates/lib/orionplace/blogProductPlacements.ts +0 -105
- package/templates/lib/orionplace/browseLabels.ts +0 -145
- package/templates/lib/orionplace/cartAddress.ts +0 -86
- package/templates/lib/orionplace/cartController.ts +0 -104
- package/templates/lib/orionplace/cartLabels.ts +0 -390
- package/templates/lib/orionplace/cartOptions.ts +0 -115
- package/templates/lib/orionplace/cartPreview.ts +0 -135
- package/templates/lib/orionplace/cartPromo.ts +0 -150
- package/templates/lib/orionplace/cartShipment.ts +0 -61
- package/templates/lib/orionplace/cartSnapshot.ts +0 -21
- package/templates/lib/orionplace/catalog.ts +0 -150
- package/templates/lib/orionplace/categoryLabels.ts +0 -29
- package/templates/lib/orionplace/contact.ts +0 -47
- package/templates/lib/orionplace/contactLabels.ts +0 -152
- package/templates/lib/orionplace/currency.ts +0 -128
- package/templates/lib/orionplace/deliveryMap.ts +0 -86
- package/templates/lib/orionplace/directoryLabels.ts +0 -198
- package/templates/lib/orionplace/domain.ts +0 -21
- package/templates/lib/orionplace/errorPageLabels.ts +0 -89
- package/templates/lib/orionplace/eventEnrollment.ts +0 -22
- package/templates/lib/orionplace/featureData.ts +0 -28
- package/templates/lib/orionplace/featureLabels.ts +0 -406
- package/templates/lib/orionplace/featuredLabels.ts +0 -38
- package/templates/lib/orionplace/footerLabels.ts +0 -53
- package/templates/lib/orionplace/guestSession.ts +0 -55
- package/templates/lib/orionplace/headerLabels.ts +0 -98
- package/templates/lib/orionplace/homeContent.ts +0 -193
- package/templates/lib/orionplace/homeLabels.ts +0 -74
- package/templates/lib/orionplace/htmlText.ts +0 -51
- package/templates/lib/orionplace/manufacturerDirectory.ts +0 -71
- package/templates/lib/orionplace/manufacturerIndex.ts +0 -107
- package/templates/lib/orionplace/modalWindow.ts +0 -109
- package/templates/lib/orionplace/nativeApp.ts +0 -365
- package/templates/lib/orionplace/navigation.tsx +0 -121
- package/templates/lib/orionplace/notice.ts +0 -22
- package/templates/lib/orionplace/orderLabels.ts +0 -458
- package/templates/lib/orionplace/orderPresentation.ts +0 -574
- package/templates/lib/orionplace/pageMetadata.ts +0 -361
- package/templates/lib/orionplace/pageSeo.ts +0 -662
- package/templates/lib/orionplace/paginationScroll.ts +0 -131
- package/templates/lib/orionplace/phone.ts +0 -22
- package/templates/lib/orionplace/presentation.ts +0 -84
- package/templates/lib/orionplace/privacyLabels.ts +0 -273
- package/templates/lib/orionplace/productActionLabels.ts +0 -87
- package/templates/lib/orionplace/productAvailability.ts +0 -30
- package/templates/lib/orionplace/productGallery.ts +0 -64
- package/templates/lib/orionplace/productLabels.ts +0 -119
- package/templates/lib/orionplace/productListLocation.ts +0 -130
- package/templates/lib/orionplace/productPage.ts +0 -308
- package/templates/lib/orionplace/productPhotos.ts +0 -67
- package/templates/lib/orionplace/productSearch.ts +0 -280
- package/templates/lib/orionplace/productSeller.ts +0 -56
- package/templates/lib/orionplace/productStructuredData.ts +0 -221
- package/templates/lib/orionplace/profile.ts +0 -169
- package/templates/lib/orionplace/profileLabels.ts +0 -227
- package/templates/lib/orionplace/promoLabels.ts +0 -111
- package/templates/lib/orionplace/promoPresentation.ts +0 -381
- package/templates/lib/orionplace/reviewLabels.ts +0 -256
- package/templates/lib/orionplace/reviewPresentation.ts +0 -64
- package/templates/lib/orionplace/reviewScope.ts +0 -38
- package/templates/lib/orionplace/searchFilters.ts +0 -99
- package/templates/lib/orionplace/searchHistory.ts +0 -144
- package/templates/lib/orionplace/sellerDirectory.ts +0 -120
- package/templates/lib/orionplace/seo.ts +0 -52
- package/templates/lib/orionplace/serverApi.ts +0 -158
- package/templates/lib/orionplace/serverLocale.ts +0 -29
- package/templates/lib/orionplace/serverMetadata.ts +0 -93
- package/templates/lib/orionplace/serverRecords.ts +0 -31
- package/templates/lib/orionplace/serverRoute.tsx +0 -59
- package/templates/lib/orionplace/sessionLabels.ts +0 -38
- package/templates/lib/orionplace/signInReturn.ts +0 -89
- package/templates/lib/orionplace/storeDirectory.ts +0 -47
- package/templates/lib/orionplace/storefrontRecords.ts +0 -42
- package/templates/lib/orionplace/subscriptionChanges.ts +0 -120
- package/templates/lib/orionplace/subscriptionLabels.ts +0 -100
- package/templates/lib/orionplace/subscriptionManageLabels.ts +0 -422
- package/templates/lib/orionplace/subscriptionPlans.ts +0 -122
- package/templates/lib/orionplace/subscriptionRemote.ts +0 -85
- package/templates/lib/orionplace/subscriptionUsage.ts +0 -58
- package/templates/lib/orionplace/tariffLabels.ts +0 -176
- package/templates/lib/orionplace/tariffPage.ts +0 -54
- package/templates/lib/orionplace/tariffVariables.ts +0 -174
- package/templates/lib/orionplace/tariffs.ts +0 -241
- package/templates/lib/orionplace/ticketItems.ts +0 -75
- package/templates/lib/orionplace/ticketLabels.ts +0 -428
- package/templates/lib/orionplace/ticketLocation.ts +0 -79
- package/templates/lib/orionplace/ticketRequests.ts +0 -70
- package/templates/lib/orionplace/walletTransaction.ts +0 -105
- package/templates/orionplace/COMPONENT-DOWNLOAD.md +0 -66
- package/templates/orionplace/COMPONENTS.md +0 -35
- package/templates/providers/OrionplaceProvider.tsx +0 -191
- package/templates/proxy.ts +0 -63
- package/templates/stores/orionplace.ts +0 -282
- package/templates/stores/orionplaceBrowse.ts +0 -89
- package/templates/stores/orionplaceCatalog.ts +0 -162
- package/templates/stores/orionplaceProducts.ts +0 -389
- package/templates/stores/orionplaceScope.ts +0 -104
- package/templates/stores/orionplaceSelections.ts +0 -130
- package/templates/themes/orionplace.ts +0 -106
|
@@ -1,662 +0,0 @@
|
|
|
1
|
-
import { plainText } from '@/lib/orionplace/presentation';
|
|
2
|
-
|
|
3
|
-
const pageCopy = {
|
|
4
|
-
ru: {
|
|
5
|
-
tariffs: [
|
|
6
|
-
'Тарифы подписок',
|
|
7
|
-
'Цены по периодам, пробный период и опции каждого тарифа.',
|
|
8
|
-
'тарифы, подписки, пробный период',
|
|
9
|
-
],
|
|
10
|
-
tariff: [
|
|
11
|
-
'Тариф подписки',
|
|
12
|
-
'Описание, возможности, периоды и опции тарифа подписки.',
|
|
13
|
-
'тариф, подписка, период',
|
|
14
|
-
],
|
|
15
|
-
subscriptions: [
|
|
16
|
-
'Мои подписки',
|
|
17
|
-
'Сроки подписок и автопродление.',
|
|
18
|
-
'подписки, аккаунт',
|
|
19
|
-
],
|
|
20
|
-
sellers: ['Продавцы', 'Продавцы и их товары.', 'продавцы, товары'],
|
|
21
|
-
stores: [
|
|
22
|
-
'Магазины',
|
|
23
|
-
'Адреса, контакты и часы работы магазинов.',
|
|
24
|
-
'магазины, адреса',
|
|
25
|
-
],
|
|
26
|
-
catalog: ['Каталог', 'Категории товаров магазина.', 'каталог, категории'],
|
|
27
|
-
activity: [
|
|
28
|
-
'Моя активность',
|
|
29
|
-
'Промокоды, отзывы и история входов покупателя.',
|
|
30
|
-
'аккаунт, промокоды, отзывы, входы',
|
|
31
|
-
],
|
|
32
|
-
promo: [
|
|
33
|
-
'Товары по промокоду',
|
|
34
|
-
'Товары магазина, на которые действует акция промокода.',
|
|
35
|
-
'промокод, акция, товары',
|
|
36
|
-
],
|
|
37
|
-
wishlist: [
|
|
38
|
-
'Избранное',
|
|
39
|
-
'Сохранённые товары и уведомления о наличии.',
|
|
40
|
-
'избранное, товары',
|
|
41
|
-
],
|
|
42
|
-
contact: [
|
|
43
|
-
'Контакты',
|
|
44
|
-
'Контакты компании и обратная связь с магазином.',
|
|
45
|
-
'контакты, сообщение',
|
|
46
|
-
],
|
|
47
|
-
privacy: [
|
|
48
|
-
'Политика обработки персональных данных',
|
|
49
|
-
'Какие данные получает магазин, зачем, кому передаёт, и какие cookie использует сайт.',
|
|
50
|
-
'персональные данные, политика, cookie',
|
|
51
|
-
],
|
|
52
|
-
unsubscribe: [
|
|
53
|
-
'Настройки рассылки',
|
|
54
|
-
'Отписка от писем магазина.',
|
|
55
|
-
'рассылка, отписка',
|
|
56
|
-
],
|
|
57
|
-
tickets: [
|
|
58
|
-
'Поддержка',
|
|
59
|
-
'Обращения пользователя и переписка с поддержкой.',
|
|
60
|
-
'поддержка, обращения',
|
|
61
|
-
],
|
|
62
|
-
orders: ['Мои заказы', 'История и состав заказов.', 'заказы, покупки'],
|
|
63
|
-
cart: ['Корзина', 'Товары и оформление заказа.', 'корзина, заказ'],
|
|
64
|
-
addresses: ['Мои адреса', 'Адреса для доставки.', 'адреса, доставка'],
|
|
65
|
-
wallet: [
|
|
66
|
-
'Кошелёк и платежи',
|
|
67
|
-
'Баланс и история платежей.',
|
|
68
|
-
'кошелёк, платежи',
|
|
69
|
-
],
|
|
70
|
-
home: [
|
|
71
|
-
'Магазин',
|
|
72
|
-
'Категории и товары магазина.',
|
|
73
|
-
'магазин, каталог, товары',
|
|
74
|
-
],
|
|
75
|
-
browse: [
|
|
76
|
-
'Результаты поиска',
|
|
77
|
-
'Товары по поисковому запросу и выбранным фильтрам.',
|
|
78
|
-
'поиск товаров, фильтры, каталог',
|
|
79
|
-
],
|
|
80
|
-
featured: [
|
|
81
|
-
'Рекомендуем',
|
|
82
|
-
'Товары из категорий, которые покупатель искал в магазине.',
|
|
83
|
-
'рекомендации, товары, фильтры',
|
|
84
|
-
],
|
|
85
|
-
category: [
|
|
86
|
-
'Категория товаров',
|
|
87
|
-
'Товары и доступные фильтры выбранной категории.',
|
|
88
|
-
'категория, товары, фильтры',
|
|
89
|
-
],
|
|
90
|
-
journal: [
|
|
91
|
-
'Журнал',
|
|
92
|
-
'Публикации магазина: заголовки, анонсы и время чтения.',
|
|
93
|
-
'журнал, публикации, статьи',
|
|
94
|
-
],
|
|
95
|
-
publication: [
|
|
96
|
-
'Публикация журнала',
|
|
97
|
-
'Статья из журнала магазина.',
|
|
98
|
-
'журнал, публикация, статья',
|
|
99
|
-
],
|
|
100
|
-
product: [
|
|
101
|
-
'Карточка товара',
|
|
102
|
-
'Описание, цена, варианты и наличие товара.',
|
|
103
|
-
'товар, цена, наличие',
|
|
104
|
-
],
|
|
105
|
-
manufacturers: [
|
|
106
|
-
'Производители',
|
|
107
|
-
'Производители магазина с логотипами и алфавитным указателем.',
|
|
108
|
-
'производители, бренды, алфавитный указатель',
|
|
109
|
-
],
|
|
110
|
-
profile: [
|
|
111
|
-
'Личный профиль',
|
|
112
|
-
'Личные данные, почта, уведомления и пароль аккаунта.',
|
|
113
|
-
'профиль, аккаунт, настройки',
|
|
114
|
-
],
|
|
115
|
-
logout: [
|
|
116
|
-
'Выход из аккаунта',
|
|
117
|
-
'Завершение сеанса и возврат на главную страницу.',
|
|
118
|
-
'аккаунт, выход, сеанс',
|
|
119
|
-
],
|
|
120
|
-
notFound: [
|
|
121
|
-
'Страница не найдена',
|
|
122
|
-
'По этому адресу в магазине нет страницы.',
|
|
123
|
-
'страница не найдена, 404',
|
|
124
|
-
],
|
|
125
|
-
error: [
|
|
126
|
-
'Что-то пошло не так',
|
|
127
|
-
'Не удалось показать страницу магазина.',
|
|
128
|
-
'ошибка, магазин',
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
en: {
|
|
132
|
-
tariffs: [
|
|
133
|
-
'Subscription plans',
|
|
134
|
-
'Period prices, trials and options for each plan.',
|
|
135
|
-
'plans, subscriptions, trial',
|
|
136
|
-
],
|
|
137
|
-
tariff: [
|
|
138
|
-
'Subscription plan',
|
|
139
|
-
'Description, features, periods and options of a subscription plan.',
|
|
140
|
-
'plan, subscription, period',
|
|
141
|
-
],
|
|
142
|
-
subscriptions: [
|
|
143
|
-
'My subscriptions',
|
|
144
|
-
'Subscription dates and automatic renewal.',
|
|
145
|
-
'subscriptions, account',
|
|
146
|
-
],
|
|
147
|
-
sellers: ['Sellers', 'Sellers and their products.', 'sellers, products'],
|
|
148
|
-
stores: [
|
|
149
|
-
'Stores',
|
|
150
|
-
'Store addresses, contacts and opening hours.',
|
|
151
|
-
'stores, addresses',
|
|
152
|
-
],
|
|
153
|
-
catalog: ['Catalog', 'Store product categories.', 'catalog, categories'],
|
|
154
|
-
activity: [
|
|
155
|
-
'My activity',
|
|
156
|
-
'The customer’s promo codes, reviews and sign-in history.',
|
|
157
|
-
'account, promo codes, reviews, sign-ins',
|
|
158
|
-
],
|
|
159
|
-
promo: [
|
|
160
|
-
'Promo code products',
|
|
161
|
-
'Store products the promo code offer applies to.',
|
|
162
|
-
'promo code, offer, products',
|
|
163
|
-
],
|
|
164
|
-
wishlist: [
|
|
165
|
-
'Wishlist',
|
|
166
|
-
'Saved products and availability notifications.',
|
|
167
|
-
'wishlist, products',
|
|
168
|
-
],
|
|
169
|
-
contact: [
|
|
170
|
-
'Contact information',
|
|
171
|
-
'Company contact details and a message form for the store.',
|
|
172
|
-
'contact, message',
|
|
173
|
-
],
|
|
174
|
-
privacy: [
|
|
175
|
-
'Privacy policy',
|
|
176
|
-
'Which data the store receives, why, who receives it, and which cookies the site uses.',
|
|
177
|
-
'personal data, privacy, cookies',
|
|
178
|
-
],
|
|
179
|
-
unsubscribe: [
|
|
180
|
-
'Email preferences',
|
|
181
|
-
'Unsubscribe from store emails.',
|
|
182
|
-
'emails, unsubscribe',
|
|
183
|
-
],
|
|
184
|
-
tickets: [
|
|
185
|
-
'Support',
|
|
186
|
-
'User conversations with support.',
|
|
187
|
-
'support, conversations',
|
|
188
|
-
],
|
|
189
|
-
orders: [
|
|
190
|
-
'My orders',
|
|
191
|
-
'Order history and purchased items.',
|
|
192
|
-
'orders, purchases',
|
|
193
|
-
],
|
|
194
|
-
cart: ['Shopping cart', 'Items and checkout.', 'cart, checkout'],
|
|
195
|
-
addresses: [
|
|
196
|
-
'My addresses',
|
|
197
|
-
'Saved delivery addresses.',
|
|
198
|
-
'addresses, delivery',
|
|
199
|
-
],
|
|
200
|
-
wallet: [
|
|
201
|
-
'Wallet and payments',
|
|
202
|
-
'Balance and payment history.',
|
|
203
|
-
'wallet, payments',
|
|
204
|
-
],
|
|
205
|
-
home: [
|
|
206
|
-
'Store',
|
|
207
|
-
'Store categories and products.',
|
|
208
|
-
'store, catalog, products',
|
|
209
|
-
],
|
|
210
|
-
browse: [
|
|
211
|
-
'Search results',
|
|
212
|
-
'Products matching the search query and selected filters.',
|
|
213
|
-
'product search, filters, catalog',
|
|
214
|
-
],
|
|
215
|
-
featured: [
|
|
216
|
-
'Featured',
|
|
217
|
-
'Products from categories the customer has searched for in the store.',
|
|
218
|
-
'recommendations, products, filters',
|
|
219
|
-
],
|
|
220
|
-
category: [
|
|
221
|
-
'Product category',
|
|
222
|
-
'Products and available filters in the selected category.',
|
|
223
|
-
'category, products, filters',
|
|
224
|
-
],
|
|
225
|
-
journal: [
|
|
226
|
-
'Journal',
|
|
227
|
-
'Store publications with titles, summaries and reading time.',
|
|
228
|
-
'journal, publications, articles',
|
|
229
|
-
],
|
|
230
|
-
publication: [
|
|
231
|
-
'Journal publication',
|
|
232
|
-
'An article from the store journal.',
|
|
233
|
-
'journal, publication, article',
|
|
234
|
-
],
|
|
235
|
-
product: [
|
|
236
|
-
'Product details',
|
|
237
|
-
'Product description, price, variants and availability.',
|
|
238
|
-
'product, price, availability',
|
|
239
|
-
],
|
|
240
|
-
manufacturers: [
|
|
241
|
-
'Manufacturers',
|
|
242
|
-
'Store manufacturers with logos and an alphabetical index.',
|
|
243
|
-
'manufacturers, brands, alphabetical index',
|
|
244
|
-
],
|
|
245
|
-
profile: [
|
|
246
|
-
'Personal profile',
|
|
247
|
-
'Personal details, email, notifications and account password.',
|
|
248
|
-
'profile, account, settings',
|
|
249
|
-
],
|
|
250
|
-
logout: [
|
|
251
|
-
'Sign out',
|
|
252
|
-
'End the current session and return to the homepage.',
|
|
253
|
-
'account, sign out, session',
|
|
254
|
-
],
|
|
255
|
-
notFound: [
|
|
256
|
-
'Page not found',
|
|
257
|
-
'The store has no page at this address.',
|
|
258
|
-
'page not found, 404',
|
|
259
|
-
],
|
|
260
|
-
error: [
|
|
261
|
-
'Something went wrong',
|
|
262
|
-
'The store page could not be displayed.',
|
|
263
|
-
'error, store',
|
|
264
|
-
],
|
|
265
|
-
},
|
|
266
|
-
es: {
|
|
267
|
-
tariffs: [
|
|
268
|
-
'Planes de suscripción',
|
|
269
|
-
'Precios por periodo, periodos de prueba y opciones de cada plan.',
|
|
270
|
-
'planes, suscripciones, prueba',
|
|
271
|
-
],
|
|
272
|
-
tariff: [
|
|
273
|
-
'Plan de suscripción',
|
|
274
|
-
'Descripción, funciones, periodos y opciones de un plan de suscripción.',
|
|
275
|
-
'plan, suscripción, periodo',
|
|
276
|
-
],
|
|
277
|
-
subscriptions: [
|
|
278
|
-
'Mis suscripciones',
|
|
279
|
-
'Fechas de las suscripciones y renovación automática.',
|
|
280
|
-
'suscripciones, cuenta',
|
|
281
|
-
],
|
|
282
|
-
sellers: ['Vendedores', 'Vendedores y sus productos.', 'vendedores, productos'],
|
|
283
|
-
stores: [
|
|
284
|
-
'Tiendas',
|
|
285
|
-
'Direcciones, contactos y horarios de las tiendas.',
|
|
286
|
-
'tiendas, direcciones',
|
|
287
|
-
],
|
|
288
|
-
catalog: ['Catálogo', 'Categorías de productos de la tienda.', 'catálogo, categorías'],
|
|
289
|
-
activity: [
|
|
290
|
-
'Mi actividad',
|
|
291
|
-
'Códigos promocionales, reseñas e historial de accesos del cliente.',
|
|
292
|
-
'cuenta, códigos promocionales, reseñas, accesos',
|
|
293
|
-
],
|
|
294
|
-
promo: [
|
|
295
|
-
'Productos del código promocional',
|
|
296
|
-
'Productos de la tienda a los que se aplica la oferta del código promocional.',
|
|
297
|
-
'código promocional, oferta, productos',
|
|
298
|
-
],
|
|
299
|
-
wishlist: [
|
|
300
|
-
'Favoritos',
|
|
301
|
-
'Productos guardados y avisos de disponibilidad.',
|
|
302
|
-
'favoritos, productos',
|
|
303
|
-
],
|
|
304
|
-
contact: [
|
|
305
|
-
'Contacto',
|
|
306
|
-
'Datos de contacto de la empresa y formulario de mensajes de la tienda.',
|
|
307
|
-
'contacto, mensaje',
|
|
308
|
-
],
|
|
309
|
-
privacy: [
|
|
310
|
-
'Política de privacidad',
|
|
311
|
-
'Qué datos recibe la tienda, para qué, a quién los transmite y qué cookies usa el sitio.',
|
|
312
|
-
'datos personales, privacidad, cookies',
|
|
313
|
-
],
|
|
314
|
-
unsubscribe: [
|
|
315
|
-
'Preferencias de correo',
|
|
316
|
-
'Darse de baja de los correos de la tienda.',
|
|
317
|
-
'correos, baja',
|
|
318
|
-
],
|
|
319
|
-
tickets: [
|
|
320
|
-
'Soporte',
|
|
321
|
-
'Conversaciones del usuario con el soporte.',
|
|
322
|
-
'soporte, conversaciones',
|
|
323
|
-
],
|
|
324
|
-
orders: [
|
|
325
|
-
'Mis pedidos',
|
|
326
|
-
'Historial de pedidos y artículos comprados.',
|
|
327
|
-
'pedidos, compras',
|
|
328
|
-
],
|
|
329
|
-
cart: ['Carrito', 'Artículos y pago del pedido.', 'carrito, pago'],
|
|
330
|
-
addresses: [
|
|
331
|
-
'Mis direcciones',
|
|
332
|
-
'Direcciones de entrega guardadas.',
|
|
333
|
-
'direcciones, entrega',
|
|
334
|
-
],
|
|
335
|
-
wallet: [
|
|
336
|
-
'Monedero y pagos',
|
|
337
|
-
'Saldo e historial de pagos.',
|
|
338
|
-
'monedero, pagos',
|
|
339
|
-
],
|
|
340
|
-
home: [
|
|
341
|
-
'Tienda',
|
|
342
|
-
'Categorías y productos de la tienda.',
|
|
343
|
-
'tienda, catálogo, productos',
|
|
344
|
-
],
|
|
345
|
-
browse: [
|
|
346
|
-
'Resultados de búsqueda',
|
|
347
|
-
'Productos que coinciden con la búsqueda y los filtros elegidos.',
|
|
348
|
-
'búsqueda de productos, filtros, catálogo',
|
|
349
|
-
],
|
|
350
|
-
featured: [
|
|
351
|
-
'Destacados',
|
|
352
|
-
'Productos de las categorías que el cliente ha buscado en la tienda.',
|
|
353
|
-
'recomendaciones, productos, filtros',
|
|
354
|
-
],
|
|
355
|
-
category: [
|
|
356
|
-
'Categoría de productos',
|
|
357
|
-
'Productos y filtros disponibles de la categoría elegida.',
|
|
358
|
-
'categoría, productos, filtros',
|
|
359
|
-
],
|
|
360
|
-
journal: [
|
|
361
|
-
'Revista',
|
|
362
|
-
'Publicaciones de la tienda con títulos, resúmenes y tiempo de lectura.',
|
|
363
|
-
'revista, publicaciones, artículos',
|
|
364
|
-
],
|
|
365
|
-
publication: [
|
|
366
|
-
'Publicación de la revista',
|
|
367
|
-
'Un artículo de la revista de la tienda.',
|
|
368
|
-
'revista, publicación, artículo',
|
|
369
|
-
],
|
|
370
|
-
product: [
|
|
371
|
-
'Ficha de producto',
|
|
372
|
-
'Descripción, precio, variantes y disponibilidad del producto.',
|
|
373
|
-
'producto, precio, disponibilidad',
|
|
374
|
-
],
|
|
375
|
-
manufacturers: [
|
|
376
|
-
'Fabricantes',
|
|
377
|
-
'Fabricantes de la tienda con logotipos e índice alfabético.',
|
|
378
|
-
'fabricantes, marcas, índice alfabético',
|
|
379
|
-
],
|
|
380
|
-
profile: [
|
|
381
|
-
'Perfil personal',
|
|
382
|
-
'Datos personales, correo, notificaciones y contraseña de la cuenta.',
|
|
383
|
-
'perfil, cuenta, ajustes',
|
|
384
|
-
],
|
|
385
|
-
logout: [
|
|
386
|
-
'Cerrar sesión',
|
|
387
|
-
'Fin de la sesión y vuelta a la página principal.',
|
|
388
|
-
'cuenta, cerrar sesión, sesión',
|
|
389
|
-
],
|
|
390
|
-
notFound: [
|
|
391
|
-
'Página no encontrada',
|
|
392
|
-
'No hay ninguna página de la tienda en esta dirección.',
|
|
393
|
-
'página no encontrada, 404',
|
|
394
|
-
],
|
|
395
|
-
error: [
|
|
396
|
-
'Algo salió mal',
|
|
397
|
-
'No se pudo mostrar la página de la tienda.',
|
|
398
|
-
'error, tienda',
|
|
399
|
-
],
|
|
400
|
-
},
|
|
401
|
-
} as const;
|
|
402
|
-
|
|
403
|
-
export type StorefrontSeoPage = keyof typeof pageCopy.en;
|
|
404
|
-
|
|
405
|
-
/** The page copy for a storefront language; languages without one use English. */
|
|
406
|
-
function storefrontCopyLanguage(locale: string): keyof typeof pageCopy {
|
|
407
|
-
const language = locale.toLowerCase().split(/[-_]/)[0];
|
|
408
|
-
return language === 'ru' || language === 'es' ? language : 'en';
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
export function storefrontPageMetadata(
|
|
412
|
-
page: StorefrontSeoPage,
|
|
413
|
-
locale: string,
|
|
414
|
-
values: { title?: string; description?: string; keywords?: string } = {},
|
|
415
|
-
) {
|
|
416
|
-
const copy = pageCopy[storefrontCopyLanguage(locale)][page];
|
|
417
|
-
const title = plainText(values.title ?? '') || copy[0];
|
|
418
|
-
|
|
419
|
-
return {
|
|
420
|
-
title,
|
|
421
|
-
description: plainText(values.description ?? '') || `${title}. ${copy[1]}`,
|
|
422
|
-
keywords: plainText(values.keywords ?? '') || `${title}, ${copy[2]}`,
|
|
423
|
-
};
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/*
|
|
427
|
-
* Addresses for search engines and link previews. The public origin is the
|
|
428
|
-
* storefront host the visitor used (the proxy's Host or X-Forwarded-Host),
|
|
429
|
-
* over HTTPS; a local host keeps HTTP for development.
|
|
430
|
-
*/
|
|
431
|
-
export function storefrontPublicOrigin(host: string | null | undefined): string {
|
|
432
|
-
const name = (host ?? '').split(',')[0]!.trim().toLowerCase();
|
|
433
|
-
if (!/^(?:[a-z0-9-]+(?:\.[a-z0-9-]+)*|\[[0-9a-f:]+\])(?::\d{1,5})?$/.test(name)) {
|
|
434
|
-
return '';
|
|
435
|
-
}
|
|
436
|
-
const local = /^(?:localhost|127(?:\.\d{1,3}){3}|\[::1\])(?::\d+)?$/.test(name);
|
|
437
|
-
return `${local ? 'http' : 'https'}://${name}`;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
/**
|
|
441
|
-
* A complete address for a link preview image: a storefront path such as
|
|
442
|
-
* `/ps3/blog/posts/images/5` gets the public origin; without an origin it is
|
|
443
|
-
* left out, since a relative og:image is not loaded by link previews.
|
|
444
|
-
*/
|
|
445
|
-
export function storefrontAbsoluteUrl(
|
|
446
|
-
value: string | null | undefined,
|
|
447
|
-
origin: string,
|
|
448
|
-
): string | undefined {
|
|
449
|
-
if (!value) {
|
|
450
|
-
return undefined;
|
|
451
|
-
}
|
|
452
|
-
try {
|
|
453
|
-
const url = origin ? new URL(value, `${origin}/`) : new URL(value);
|
|
454
|
-
return /^https?:$/.test(url.protocol) ? url.toString() : undefined;
|
|
455
|
-
} catch {
|
|
456
|
-
return undefined;
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
// The pages the sitemap lists (runtime/marketplace.mjs), plus plan pages.
|
|
461
|
-
const indexedPage = /^\/(?:|catalog|journal|tariffs|manufacturers|sellers|stores|contact|privacy|(?:category|product|journal)\/\d+|tariffs\/[^/]+\/\d+)$/;
|
|
462
|
-
|
|
463
|
-
// Listed pages that are lists with page numbers (`?page=2`).
|
|
464
|
-
const pagedList = /^\/(?:journal|stores|category\/\d+)$/;
|
|
465
|
-
|
|
466
|
-
/**
|
|
467
|
-
* The canonical address of a page: the sitemap's address for it, the page in
|
|
468
|
-
* the language it shows (`?locale=`). A later page of a list is a page of its
|
|
469
|
-
* own (`?locale=en&page=2`, Google's pagination guide), linked from the
|
|
470
|
-
* list's page links. Pages that are not listed, pages with other query
|
|
471
|
-
* parameters (filters, private keys) and noindex pages get none.
|
|
472
|
-
*/
|
|
473
|
-
export function storefrontCanonicalUrl(
|
|
474
|
-
origin: string,
|
|
475
|
-
pathname: string,
|
|
476
|
-
search: string,
|
|
477
|
-
locale: string,
|
|
478
|
-
robots?: string,
|
|
479
|
-
): string | undefined {
|
|
480
|
-
const path = pathname.replace(/\/+$/, '') || '/';
|
|
481
|
-
const query = new URLSearchParams(search);
|
|
482
|
-
const pageNumber = query.get('page');
|
|
483
|
-
query.delete('locale');
|
|
484
|
-
if (pageNumber !== null && pagedList.test(path) && /^[1-9]\d{0,5}$/.test(pageNumber)) {
|
|
485
|
-
query.delete('page');
|
|
486
|
-
}
|
|
487
|
-
if (
|
|
488
|
-
!origin ||
|
|
489
|
-
/noindex/i.test(robots ?? '') ||
|
|
490
|
-
!indexedPage.test(path) ||
|
|
491
|
-
[...query.keys()].length
|
|
492
|
-
) {
|
|
493
|
-
return undefined;
|
|
494
|
-
}
|
|
495
|
-
const url = new URL(path, `${origin}/`);
|
|
496
|
-
if (locale) {
|
|
497
|
-
url.searchParams.set('locale', locale);
|
|
498
|
-
}
|
|
499
|
-
if (pageNumber && Number(pageNumber) > 1 && pagedList.test(path)) {
|
|
500
|
-
url.searchParams.set('page', pageNumber);
|
|
501
|
-
}
|
|
502
|
-
return url.toString();
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
/**
|
|
506
|
-
* A later page of a list repeats the list's title and description; the page
|
|
507
|
-
* number keeps them distinct (search engines report repeated titles as
|
|
508
|
-
* duplicates). The number comes from the canonical address, so only the
|
|
509
|
-
* indexed list pages get it.
|
|
510
|
-
*/
|
|
511
|
-
export function storefrontPagedText(
|
|
512
|
-
text: string | undefined,
|
|
513
|
-
canonical: string | undefined,
|
|
514
|
-
locale: string,
|
|
515
|
-
): string | undefined {
|
|
516
|
-
const page = canonical ? Number(new URL(canonical).searchParams.get('page')) : 0;
|
|
517
|
-
if (!text || !(page > 1)) {
|
|
518
|
-
return text;
|
|
519
|
-
}
|
|
520
|
-
const words: Record<string, string> = { ru: 'страница', es: 'página' };
|
|
521
|
-
const word = words[storefrontCopyLanguage(locale)] ?? 'page';
|
|
522
|
-
return `${text} · ${word} ${page}`;
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
/**
|
|
526
|
-
* The address of another page of the list on screen: the current address
|
|
527
|
-
* with `page=` set (left out for page 1), every other parameter kept. Page
|
|
528
|
-
* links are real links, so search engines reach every page of a list.
|
|
529
|
-
*/
|
|
530
|
-
export function storefrontPageHref(
|
|
531
|
-
pathname: string,
|
|
532
|
-
search: string,
|
|
533
|
-
page: number,
|
|
534
|
-
): string {
|
|
535
|
-
const query = new URLSearchParams(search);
|
|
536
|
-
if (page > 1) {
|
|
537
|
-
query.set('page', String(page));
|
|
538
|
-
} else {
|
|
539
|
-
query.delete('page');
|
|
540
|
-
}
|
|
541
|
-
const text = query.toString();
|
|
542
|
-
return `${pathname}${text ? `?${text}` : ''}`;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
/** og:type of a page: a product and a journal article have their own kinds. */
|
|
546
|
-
export function storefrontOpenGraphType(
|
|
547
|
-
page: StorefrontSeoPage,
|
|
548
|
-
): 'product' | 'article' | 'website' {
|
|
549
|
-
if (page === 'product') {
|
|
550
|
-
return 'product';
|
|
551
|
-
}
|
|
552
|
-
return page === 'publication' ? 'article' : 'website';
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
const openGraphRegions: Record<string, string> = {
|
|
556
|
-
de: 'de_DE',
|
|
557
|
-
en: 'en_US',
|
|
558
|
-
es: 'es_ES',
|
|
559
|
-
fr: 'fr_FR',
|
|
560
|
-
it: 'it_IT',
|
|
561
|
-
kk: 'kk_KZ',
|
|
562
|
-
pl: 'pl_PL',
|
|
563
|
-
pt: 'pt_PT',
|
|
564
|
-
ru: 'ru_RU',
|
|
565
|
-
tr: 'tr_TR',
|
|
566
|
-
uk: 'uk_UA',
|
|
567
|
-
zh: 'zh_CN',
|
|
568
|
-
};
|
|
569
|
-
|
|
570
|
-
/** og:locale (`language_TERRITORY`) of a storefront language, when it is known. */
|
|
571
|
-
export function storefrontOpenGraphLocale(locale: string): string | undefined {
|
|
572
|
-
return openGraphRegions[locale.toLowerCase().split(/[-_]/)[0]!];
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
/**
|
|
576
|
-
* The same page in every storefront language (hreflang), for a page with a
|
|
577
|
-
* canonical address: the canonical address with each language's `?locale=`,
|
|
578
|
-
* as the sitemap lists them. Search engines that ignore the sitemap's
|
|
579
|
-
* language links (Yandex) read these. A single language gives none.
|
|
580
|
-
*/
|
|
581
|
-
export function storefrontAlternateLinks(
|
|
582
|
-
canonical: string | undefined,
|
|
583
|
-
locales: string[],
|
|
584
|
-
): { hreflang: string; href: string }[] {
|
|
585
|
-
const codes = [
|
|
586
|
-
...new Set(
|
|
587
|
-
locales
|
|
588
|
-
.map((code) => code.trim())
|
|
589
|
-
.filter((code) => /^[a-z]{2,3}(?:-[a-z0-9]{2,8})*$/i.test(code)),
|
|
590
|
-
),
|
|
591
|
-
];
|
|
592
|
-
if (!canonical || codes.length < 2) {
|
|
593
|
-
return [];
|
|
594
|
-
}
|
|
595
|
-
return codes.map((code) => {
|
|
596
|
-
const url = new URL(canonical);
|
|
597
|
-
url.searchParams.set('locale', code);
|
|
598
|
-
return { hreflang: code, href: url.toString() };
|
|
599
|
-
});
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
/**
|
|
603
|
-
* A backend date (`d.m.Y`, e.g. `22.09.2026`) as an ISO 8601 date
|
|
604
|
-
* (`2026-09-22`); anything else gives `undefined`. A date without a time
|
|
605
|
-
* cannot disagree with the visible date in another time zone.
|
|
606
|
-
*/
|
|
607
|
-
export function storefrontIsoDate(
|
|
608
|
-
value: string | null | undefined,
|
|
609
|
-
): string | undefined {
|
|
610
|
-
const match = /^(\d{2})\.(\d{2})\.(\d{4})$/.exec((value ?? '').trim());
|
|
611
|
-
return match ? `${match[3]}-${match[2]}-${match[1]}` : undefined;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
/**
|
|
615
|
-
* schema.org BlogPosting of a journal article (Google "Article" structured
|
|
616
|
-
* data): headline, cover, dates, and the store as author and publisher.
|
|
617
|
-
*/
|
|
618
|
-
export function storefrontArticleData(input: {
|
|
619
|
-
canonical: string;
|
|
620
|
-
origin: string;
|
|
621
|
-
headline: string;
|
|
622
|
-
description?: string;
|
|
623
|
-
image?: string;
|
|
624
|
-
published?: string;
|
|
625
|
-
modified?: string;
|
|
626
|
-
locale: string;
|
|
627
|
-
storeName?: string;
|
|
628
|
-
}): Record<string, unknown> {
|
|
629
|
-
const store = {
|
|
630
|
-
'@type': 'Organization',
|
|
631
|
-
name: input.storeName || new URL(input.origin).hostname,
|
|
632
|
-
url: `${input.origin}/`,
|
|
633
|
-
};
|
|
634
|
-
const modified = input.modified || input.published;
|
|
635
|
-
return {
|
|
636
|
-
'@context': 'https://schema.org',
|
|
637
|
-
'@type': 'BlogPosting',
|
|
638
|
-
'@id': `${input.canonical}#article`,
|
|
639
|
-
mainEntityOfPage: input.canonical,
|
|
640
|
-
url: input.canonical,
|
|
641
|
-
headline: input.headline.slice(0, 110),
|
|
642
|
-
...(input.description ? { description: input.description } : {}),
|
|
643
|
-
...(input.image ? { image: [input.image] } : {}),
|
|
644
|
-
...(input.published ? { datePublished: input.published } : {}),
|
|
645
|
-
...(modified ? { dateModified: modified } : {}),
|
|
646
|
-
inLanguage: input.locale,
|
|
647
|
-
author: store,
|
|
648
|
-
publisher: store,
|
|
649
|
-
};
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
/**
|
|
653
|
-
* The store's icon (App Load `logos.ico`) as `<link rel="icon">` tags: search
|
|
654
|
-
* engines read the icon from the home page. Only a complete http(s) address
|
|
655
|
-
* is used; the type is left out, so it cannot disagree with the file.
|
|
656
|
-
*/
|
|
657
|
-
export function storefrontIconLinks(
|
|
658
|
-
icon: string | null | undefined,
|
|
659
|
-
): { key: string; rel: 'icon'; href: string }[] {
|
|
660
|
-
const href = storefrontAbsoluteUrl(icon, '');
|
|
661
|
-
return href ? [{ key: 'icon', rel: 'icon', href }] : [];
|
|
662
|
-
}
|