orionplace-svelte 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.
- package/README.md +134 -17
- package/bin/orionplace-svelte.mjs +4 -1
- package/package.json +19 -6
- package/runtime/app.d.mts +10 -0
- package/runtime/app.mjs +94 -0
- package/runtime/marketplace.d.mts +13 -8
- package/runtime/marketplace.mjs +287 -211
- package/src/project-readme.mjs +74 -18
- package/src/setup.mjs +17 -11
- package/templates/.vscode/settings.json +5 -0
- package/templates/orionplace/COMPONENT-DOWNLOAD.md +3 -0
- package/templates/orionplace/COMPONENTS.md +170 -0
- package/templates/src/app.d.ts +15 -7
- package/templates/src/app.html +15 -9
- package/templates/src/hooks.server.ts +27 -1
- package/templates/src/lib/assets/css/orionplace-tokens.css +21 -0
- package/templates/src/lib/assets/css/orionplace.css +28 -0
- package/templates/src/lib/components/orionplace/account/AccountActivity.README.md +10 -0
- package/templates/src/lib/components/orionplace/account/AccountActivity.svelte +75 -0
- package/templates/src/lib/components/orionplace/account/AccountPromocodes.README.md +14 -0
- package/templates/src/lib/components/orionplace/account/AccountPromocodes.svelte +296 -0
- package/templates/src/lib/components/orionplace/account/AccountSection.README.md +15 -0
- package/templates/src/lib/components/orionplace/account/AccountSection.svelte +163 -0
- package/templates/src/lib/components/orionplace/account/ProfileAvatar.README.md +24 -0
- package/templates/src/lib/components/orionplace/account/ProfileAvatar.svelte +168 -0
- package/templates/src/lib/components/orionplace/account/ProfileDeleteAccount.README.md +25 -0
- package/templates/src/lib/components/orionplace/account/ProfileDeleteAccount.svelte +201 -0
- package/templates/src/lib/components/orionplace/account/ProfileDetailsForm.README.md +23 -0
- package/templates/src/lib/components/orionplace/account/ProfileDetailsForm.svelte +213 -0
- package/templates/src/lib/components/orionplace/account/ProfileEmailSettings.README.md +24 -0
- package/templates/src/lib/components/orionplace/account/ProfileEmailSettings.svelte +297 -0
- package/templates/src/lib/components/orionplace/account/ProfilePasswordForm.README.md +24 -0
- package/templates/src/lib/components/orionplace/account/ProfilePasswordForm.svelte +238 -0
- package/templates/src/lib/components/orionplace/account/ProfileSignIn.README.md +29 -0
- package/templates/src/lib/components/orionplace/account/ProfileSignIn.svelte +511 -0
- package/templates/src/lib/components/orionplace/account/SignInHistory.README.md +10 -0
- package/templates/src/lib/components/orionplace/account/SignInHistory.svelte +238 -0
- package/templates/src/lib/components/orionplace/account/StorefrontLogout.README.md +26 -0
- package/templates/src/lib/components/orionplace/account/StorefrontLogout.svelte +157 -0
- package/templates/src/lib/components/orionplace/account/StorefrontProfile.README.md +25 -0
- package/templates/src/lib/components/orionplace/account/StorefrontProfile.svelte +219 -0
- package/templates/src/lib/components/orionplace/account/account.css +1047 -0
- package/templates/src/lib/components/orionplace/account/profile.css +697 -0
- package/templates/src/lib/components/orionplace/address/AddressForm.README.md +26 -0
- package/templates/src/lib/components/orionplace/address/AddressForm.svelte +620 -0
- package/templates/src/lib/components/orionplace/address/StorefrontAddresses.README.md +13 -0
- package/templates/src/lib/components/orionplace/address/StorefrontAddresses.svelte +488 -0
- package/templates/src/lib/components/orionplace/banners/MainBanner.README.md +22 -0
- package/templates/src/lib/components/orionplace/banners/MainBanner.svelte +196 -0
- package/templates/src/lib/components/orionplace/blog/BlogArticle.README.md +41 -0
- package/templates/src/lib/components/orionplace/blog/BlogArticle.svelte +934 -0
- package/templates/src/lib/components/orionplace/blog/BlogCommentForm.README.md +28 -0
- package/templates/src/lib/components/orionplace/blog/BlogCommentForm.svelte +181 -0
- package/templates/src/lib/components/orionplace/blog/BlogComments.README.md +14 -0
- package/templates/src/lib/components/orionplace/blog/BlogComments.svelte +416 -0
- package/templates/src/lib/components/orionplace/blog/BlogPostCard.README.md +20 -0
- package/templates/src/lib/components/orionplace/blog/BlogPostCard.svelte +347 -0
- package/templates/src/lib/components/orionplace/blog/BlogPostGroup.README.md +23 -0
- package/templates/src/lib/components/orionplace/blog/BlogPostGroup.svelte +138 -0
- package/templates/src/lib/components/orionplace/blog/StorefrontJournal.README.md +30 -0
- package/templates/src/lib/components/orionplace/blog/StorefrontJournal.svelte +719 -0
- package/templates/src/lib/components/orionplace/branding/BrandLogos.README.md +13 -0
- package/templates/src/lib/components/orionplace/branding/BrandLogos.svelte +38 -0
- package/templates/src/lib/components/orionplace/cart/CartCheckoutDetails.README.md +12 -0
- package/templates/src/lib/components/orionplace/cart/CartCheckoutDetails.svelte +404 -0
- package/templates/src/lib/components/orionplace/cart/CartDeliverySelector.README.md +70 -0
- package/templates/src/lib/components/orionplace/cart/CartDeliverySelector.svelte +772 -0
- package/templates/src/lib/components/orionplace/cart/CartItemOptions.README.md +74 -0
- package/templates/src/lib/components/orionplace/cart/CartItemOptions.svelte +725 -0
- package/templates/src/lib/components/orionplace/cart/CartLineItem.README.md +54 -0
- package/templates/src/lib/components/orionplace/cart/CartLineItem.svelte +304 -0
- package/templates/src/lib/components/orionplace/cart/CartPreview.README.md +36 -0
- package/templates/src/lib/components/orionplace/cart/CartPreview.svelte +318 -0
- package/templates/src/lib/components/orionplace/cart/DeliveryMap.README.md +26 -0
- package/templates/src/lib/components/orionplace/cart/DeliveryMap.svelte +184 -0
- package/templates/src/lib/components/orionplace/cart/StorefrontCart.README.md +37 -0
- package/templates/src/lib/components/orionplace/cart/StorefrontCart.svelte +759 -0
- package/templates/src/lib/components/orionplace/catalog/CatalogHeader.README.md +49 -0
- package/templates/src/lib/components/orionplace/catalog/CatalogHeader.svelte +853 -0
- package/templates/src/lib/components/orionplace/catalog/CatalogRepresentative.README.md +37 -0
- package/templates/src/lib/components/orionplace/catalog/CatalogRepresentative.svelte +135 -0
- package/templates/src/lib/components/orionplace/catalog/StorefrontCatalog.README.md +23 -0
- package/templates/src/lib/components/orionplace/catalog/StorefrontCatalog.svelte +198 -0
- package/templates/src/lib/components/orionplace/categories/CategoryGroup.README.md +25 -0
- package/templates/src/lib/components/orionplace/categories/CategoryGroup.svelte +149 -0
- package/templates/src/lib/components/orionplace/categories/StorefrontCategory.README.md +53 -0
- package/templates/src/lib/components/orionplace/categories/StorefrontCategory.svelte +448 -0
- package/templates/src/lib/components/orionplace/contact/AboutPage.README.md +11 -0
- package/templates/src/lib/components/orionplace/contact/AboutPage.svelte +422 -0
- package/templates/src/lib/components/orionplace/contact/ContactForm.README.md +14 -0
- package/templates/src/lib/components/orionplace/contact/ContactForm.svelte +326 -0
- package/templates/src/lib/components/orionplace/contact/EmailUnsubscribe.README.md +17 -0
- package/templates/src/lib/components/orionplace/contact/EmailUnsubscribe.svelte +117 -0
- package/templates/src/lib/components/orionplace/contact/StorefrontContact.README.md +10 -0
- package/templates/src/lib/components/orionplace/contact/StorefrontContact.svelte +92 -0
- package/templates/src/lib/components/orionplace/currencies/MainCurrencySwitcher.README.md +20 -0
- package/templates/src/lib/components/orionplace/currencies/MainCurrencySwitcher.svelte +87 -0
- package/templates/src/lib/components/orionplace/events/EventEnrollmentDialog.README.md +24 -0
- package/templates/src/lib/components/orionplace/events/EventEnrollmentDialog.svelte +340 -0
- package/templates/src/lib/components/orionplace/events/EventsBlock.README.md +21 -0
- package/templates/src/lib/components/orionplace/events/EventsBlock.svelte +171 -0
- package/templates/src/lib/components/orionplace/locale/MainLanguageSwitcher.README.md +20 -0
- package/templates/src/lib/components/orionplace/locale/MainLanguageSwitcher.svelte +543 -0
- package/templates/src/lib/components/orionplace/manufacturers/ManufacturerIndex.README.md +30 -0
- package/templates/src/lib/components/orionplace/manufacturers/ManufacturerIndex.svelte +546 -0
- package/templates/src/lib/components/orionplace/manufacturers/StorefrontManufacturers.README.md +21 -0
- package/templates/src/lib/components/orionplace/manufacturers/StorefrontManufacturers.svelte +296 -0
- package/templates/src/lib/components/orionplace/orders/OrderDetails.README.md +25 -0
- package/templates/src/lib/components/orionplace/orders/OrderDetails.svelte +1329 -0
- package/templates/src/lib/components/orionplace/orders/OrderPaymentForm.README.md +54 -0
- package/templates/src/lib/components/orionplace/orders/OrderPaymentForm.svelte +111 -0
- package/templates/src/lib/components/orionplace/orders/StorefrontOrders.README.md +16 -0
- package/templates/src/lib/components/orionplace/orders/StorefrontOrders.svelte +970 -0
- package/templates/src/lib/components/orionplace/orders/orders.css +612 -0
- package/templates/src/lib/components/orionplace/payments/PaymentPanel.README.md +70 -0
- package/templates/src/lib/components/orionplace/payments/PaymentPanel.svelte +140 -0
- package/templates/src/lib/components/orionplace/products/HoverImageViewer.README.md +21 -0
- package/templates/src/lib/components/orionplace/products/HoverImageViewer.svelte +232 -0
- package/templates/src/lib/components/orionplace/products/ProductCard.README.md +49 -0
- package/templates/src/lib/components/orionplace/products/ProductCard.svelte +1080 -0
- package/templates/src/lib/components/orionplace/products/ProductCardActions.README.md +29 -0
- package/templates/src/lib/components/orionplace/products/ProductCardActions.svelte +474 -0
- package/templates/src/lib/components/orionplace/products/ProductCardBadges.README.md +17 -0
- package/templates/src/lib/components/orionplace/products/ProductCardBadges.svelte +106 -0
- package/templates/src/lib/components/orionplace/products/ProductCardDescription.README.md +13 -0
- package/templates/src/lib/components/orionplace/products/ProductCardDescription.svelte +55 -0
- package/templates/src/lib/components/orionplace/products/ProductCardFavorite.README.md +23 -0
- package/templates/src/lib/components/orionplace/products/ProductCardFavorite.svelte +130 -0
- package/templates/src/lib/components/orionplace/products/ProductCardPrice.README.md +13 -0
- package/templates/src/lib/components/orionplace/products/ProductCardPrice.svelte +85 -0
- package/templates/src/lib/components/orionplace/products/ProductCardRating.README.md +14 -0
- package/templates/src/lib/components/orionplace/products/ProductCardRating.svelte +84 -0
- package/templates/src/lib/components/orionplace/products/ProductCardSeller.README.md +20 -0
- package/templates/src/lib/components/orionplace/products/ProductCardSeller.svelte +94 -0
- package/templates/src/lib/components/orionplace/products/ProductCardStockNotice.README.md +15 -0
- package/templates/src/lib/components/orionplace/products/ProductCardStockNotice.svelte +63 -0
- package/templates/src/lib/components/orionplace/products/ProductCardTitle.README.md +13 -0
- package/templates/src/lib/components/orionplace/products/ProductCardTitle.svelte +57 -0
- package/templates/src/lib/components/orionplace/products/ProductCardVariants.README.md +29 -0
- package/templates/src/lib/components/orionplace/products/ProductCardVariants.svelte +484 -0
- package/templates/src/lib/components/orionplace/products/ProductGroup.README.md +36 -0
- package/templates/src/lib/components/orionplace/products/ProductGroup.svelte +332 -0
- package/templates/src/lib/components/orionplace/products/ProductPreorderDialog.README.md +37 -0
- package/templates/src/lib/components/orionplace/products/ProductPreorderDialog.svelte +507 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewForm.README.md +40 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewForm.svelte +369 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewGallery.README.md +25 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewGallery.svelte +177 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewImageViewer.README.md +26 -0
- package/templates/src/lib/components/orionplace/products/ProductReviewImageViewer.svelte +396 -0
- package/templates/src/lib/components/orionplace/products/ProductReviews.README.md +16 -0
- package/templates/src/lib/components/orionplace/products/ProductReviews.svelte +1140 -0
- package/templates/src/lib/components/orionplace/products/ProductSecondaryVariantModal.README.md +40 -0
- package/templates/src/lib/components/orionplace/products/ProductSecondaryVariantModal.svelte +535 -0
- package/templates/src/lib/components/orionplace/products/ProductSpecificationsDialog.README.md +22 -0
- package/templates/src/lib/components/orionplace/products/ProductSpecificationsDialog.svelte +205 -0
- package/templates/src/lib/components/orionplace/products/StorefrontProduct.README.md +27 -0
- package/templates/src/lib/components/orionplace/products/StorefrontProduct.svelte +1802 -0
- package/templates/src/lib/components/orionplace/products/StorefrontWishlist.README.md +40 -0
- package/templates/src/lib/components/orionplace/products/StorefrontWishlist.svelte +379 -0
- package/templates/src/lib/components/orionplace/promo/PromoProducts.README.md +42 -0
- package/templates/src/lib/components/orionplace/promo/PromoProducts.svelte +378 -0
- package/templates/src/lib/components/orionplace/search/MainSearch.README.md +28 -0
- package/templates/src/lib/components/orionplace/search/MainSearch.svelte +307 -0
- package/templates/src/lib/components/orionplace/search/ProductSearchResults.README.md +52 -0
- package/templates/src/lib/components/orionplace/search/ProductSearchResults.svelte +628 -0
- package/templates/src/lib/components/orionplace/search/SearchFilters.README.md +23 -0
- package/templates/src/lib/components/orionplace/search/SearchFilters.svelte +649 -0
- package/templates/src/lib/components/orionplace/sellers/SellerFilters.README.md +19 -0
- package/templates/src/lib/components/orionplace/sellers/SellerFilters.svelte +360 -0
- package/templates/src/lib/components/orionplace/sellers/SellerPhotoGallery.README.md +21 -0
- package/templates/src/lib/components/orionplace/sellers/SellerPhotoGallery.svelte +442 -0
- package/templates/src/lib/components/orionplace/sellers/SellerSummary.README.md +20 -0
- package/templates/src/lib/components/orionplace/sellers/SellerSummary.svelte +203 -0
- package/templates/src/lib/components/orionplace/sellers/StorefrontSellers.README.md +26 -0
- package/templates/src/lib/components/orionplace/sellers/StorefrontSellers.svelte +343 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceAvatar.README.md +18 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceAvatar.svelte +99 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +19 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceBreadcrumbs.svelte +129 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceEmptyState.README.md +21 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceEmptyState.svelte +167 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceImage.README.md +18 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceImage.svelte +123 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceInfoHint.README.md +17 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceInfoHint.svelte +176 -0
- package/templates/src/lib/components/orionplace/shared/OrionplacePasswordInput.README.md +20 -0
- package/templates/src/lib/components/orionplace/shared/OrionplacePasswordInput.svelte +225 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceSearchSelect.README.md +37 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceSearchSelect.svelte +510 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceSelect.README.md +33 -0
- package/templates/src/lib/components/orionplace/shared/OrionplaceSelect.svelte +609 -0
- package/templates/src/lib/components/orionplace/shared/StorefrontErrorPage.README.md +49 -0
- package/templates/src/lib/components/orionplace/shared/StorefrontErrorPage.svelte +186 -0
- package/templates/src/lib/components/orionplace/shared/StorefrontPagination.README.md +26 -0
- package/templates/src/lib/components/orionplace/shared/StorefrontPagination.svelte +136 -0
- package/templates/src/lib/components/orionplace/shared/dialogs.css +36 -0
- package/templates/src/lib/components/orionplace/shared/features.css +364 -0
- package/templates/src/lib/components/orionplace/social/SocialLinks.README.md +9 -0
- package/templates/src/lib/components/orionplace/social/SocialLinks.svelte +79 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontAccount.README.md +21 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontAccount.svelte +354 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontCartButton.README.md +20 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontCartButton.svelte +98 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontFooter.README.md +29 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontFooter.svelte +258 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontHeader.README.md +52 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontHeader.svelte +699 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontHome.README.md +43 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontHome.svelte +423 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontWishlistButton.README.md +21 -0
- package/templates/src/lib/components/orionplace/storefront/StorefrontWishlistButton.svelte +131 -0
- package/templates/src/lib/components/orionplace/stores/StorefrontStores.README.md +27 -0
- package/templates/src/lib/components/orionplace/stores/StorefrontStores.svelte +402 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +65 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontSubscriptions.svelte +890 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontTariff.README.md +26 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontTariff.svelte +596 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontTariffs.README.md +15 -0
- package/templates/src/lib/components/orionplace/subscriptions/StorefrontTariffs.svelte +448 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +30 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionCancelDialog.svelte +341 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +36 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionChangeDialog.svelte +961 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +30 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionExtendDialog.svelte +620 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +73 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionPlanSummary.svelte +321 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +80 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionRemoteDetails.svelte +162 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +71 -0
- package/templates/src/lib/components/orionplace/subscriptions/SubscriptionRenewalDialog.svelte +431 -0
- package/templates/src/lib/components/orionplace/support/StorefrontSupport.README.md +27 -0
- package/templates/src/lib/components/orionplace/support/StorefrontSupport.svelte +544 -0
- package/templates/src/lib/components/orionplace/support/TicketConversation.README.md +33 -0
- package/templates/src/lib/components/orionplace/support/TicketConversation.svelte +644 -0
- package/templates/src/lib/components/orionplace/support/TicketImage.README.md +16 -0
- package/templates/src/lib/components/orionplace/support/TicketImage.svelte +203 -0
- package/templates/src/lib/components/orionplace/support/TicketItemCard.README.md +23 -0
- package/templates/src/lib/components/orionplace/support/TicketItemCard.svelte +218 -0
- package/templates/src/lib/components/orionplace/support/TicketMessageForm.README.md +38 -0
- package/templates/src/lib/components/orionplace/support/TicketMessageForm.svelte +311 -0
- package/templates/src/lib/components/orionplace/support/TicketSubscriptionCard.README.md +18 -0
- package/templates/src/lib/components/orionplace/support/TicketSubscriptionCard.svelte +183 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCard.README.md +28 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCard.svelte +321 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardDescription.README.md +12 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardDescription.svelte +106 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardFeatures.README.md +14 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardFeatures.svelte +203 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardImage.README.md +12 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardImage.svelte +44 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardPrices.README.md +23 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardPrices.svelte +329 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardTitle.README.md +12 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCardTitle.svelte +44 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCards.README.md +29 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffCards.svelte +132 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffSubscriptionModal.README.md +31 -0
- package/templates/src/lib/components/orionplace/tariffs/TariffSubscriptionModal.svelte +499 -0
- package/templates/src/lib/components/orionplace/theme/OrionplaceThemeProvider.README.md +15 -0
- package/templates/src/lib/components/orionplace/theme/OrionplaceThemeProvider.svelte +60 -0
- package/templates/src/lib/components/orionplace/units/UnitSwitcher.README.md +20 -0
- package/templates/src/lib/components/orionplace/units/UnitSwitcher.svelte +90 -0
- package/templates/src/lib/components/orionplace/wallet/StorefrontWallet.README.md +70 -0
- package/templates/src/lib/components/orionplace/wallet/StorefrontWallet.svelte +901 -0
- package/templates/src/lib/components/orionplace/wallet/WalletBalance.README.md +13 -0
- package/templates/src/lib/components/orionplace/wallet/WalletBalance.svelte +68 -0
- package/templates/src/lib/components/orionplace/wallet/WalletTopUpForm.README.md +26 -0
- package/templates/src/lib/components/orionplace/wallet/WalletTopUpForm.svelte +259 -0
- package/templates/src/lib/composables/useOrionplaceActionMenu.svelte.ts +131 -0
- package/templates/src/lib/composables/useOrionplaceAddressEditor.svelte.ts +348 -0
- package/templates/src/lib/composables/useOrionplaceAddresses.svelte.ts +75 -0
- package/templates/src/lib/composables/useOrionplaceApi.svelte.ts +111 -0
- package/templates/src/lib/composables/useOrionplaceAppLoad.svelte.ts +20 -0
- package/templates/src/lib/composables/useOrionplaceBlogComments.svelte.ts +331 -0
- package/templates/src/lib/composables/useOrionplaceBlogReading.svelte.ts +276 -0
- package/templates/src/lib/composables/useOrionplaceCart.svelte.ts +233 -0
- package/templates/src/lib/composables/useOrionplaceCartPreview.svelte.ts +146 -0
- package/templates/src/lib/composables/useOrionplaceCategoryLink.svelte.ts +24 -0
- package/templates/src/lib/composables/useOrionplaceCategoryProducts.svelte.ts +16 -0
- package/templates/src/lib/composables/useOrionplaceFeature.svelte.ts +105 -0
- package/templates/src/lib/composables/useOrionplaceFeaturedProducts.svelte.ts +14 -0
- package/templates/src/lib/composables/useOrionplaceGeolocation.svelte.ts +28 -0
- package/templates/src/lib/composables/useOrionplaceHomeProducts.svelte.ts +95 -0
- package/templates/src/lib/composables/useOrionplaceManufacturerIndex.svelte.ts +83 -0
- package/templates/src/lib/composables/useOrionplaceMap.svelte.ts +238 -0
- package/templates/src/lib/composables/useOrionplaceMediaFormat.svelte.ts +28 -0
- package/templates/src/lib/composables/useOrionplaceMissingPage.svelte.ts +67 -0
- package/templates/src/lib/composables/useOrionplaceOrders.svelte.ts +190 -0
- package/templates/src/lib/composables/useOrionplacePageSeo.svelte.ts +38 -0
- package/templates/src/lib/composables/useOrionplaceProductActions.svelte.ts +116 -0
- package/templates/src/lib/composables/useOrionplaceProductLink.svelte.ts +24 -0
- package/templates/src/lib/composables/useOrionplaceProductSearch.svelte.ts +266 -0
- package/templates/src/lib/composables/useOrionplaceProductVariants.svelte.ts +176 -0
- package/templates/src/lib/composables/useOrionplaceProfile.svelte.ts +313 -0
- package/templates/src/lib/composables/useOrionplaceProgress.svelte.ts +37 -0
- package/templates/src/lib/composables/useOrionplaceReviews.svelte.ts +242 -0
- package/templates/src/lib/composables/useOrionplaceSearchHistory.svelte.ts +27 -0
- package/templates/src/lib/composables/useOrionplaceSearchScopeNames.svelte.ts +103 -0
- package/templates/src/lib/composables/useOrionplaceServerData.svelte.ts +13 -0
- package/templates/src/lib/composables/useOrionplaceSignIn.svelte.ts +69 -0
- package/templates/src/lib/composables/useOrionplaceStableHeight.svelte.ts +74 -0
- package/templates/src/lib/composables/useOrionplaceStorefront.svelte.ts +29 -0
- package/templates/src/lib/composables/useOrionplaceSubscriptions.svelte.ts +222 -0
- package/templates/src/lib/composables/useOrionplaceTheme.svelte.ts +27 -0
- package/templates/src/lib/composables/useOrionplaceTicketSubject.svelte.ts +186 -0
- package/templates/src/lib/composables/useOrionplaceTickets.svelte.ts +340 -0
- package/templates/src/lib/composables/useOrionplaceWallet.svelte.ts +166 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IContact.ts +21 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +17 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IEmailVerification.ts +59 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IProfileActions.ts +38 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IProfileData.ts +123 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IProfileMedia.ts +17 -0
- package/templates/src/lib/interfaces/orionplace/accounts/IStorefrontProfile.ts +54 -0
- package/templates/src/lib/interfaces/orionplace/address/IAddressCitySuggestion.ts +19 -0
- package/templates/src/lib/interfaces/orionplace/address/IAddressEditor.ts +9 -0
- package/templates/src/lib/interfaces/orionplace/address/IAddressLocationSuggestion.ts +22 -0
- package/templates/src/lib/interfaces/orionplace/address/IAddressRegionSearch.ts +30 -0
- package/templates/src/lib/interfaces/orionplace/address/IAddressSuggestion.ts +20 -0
- package/templates/src/lib/interfaces/orionplace/address/IUserAddress.ts +90 -0
- package/templates/src/lib/interfaces/orionplace/apiBase/TMethod.ts +1 -1
- package/templates/src/lib/interfaces/orionplace/appBase/IAppLoad.ts +13 -12
- package/templates/src/lib/interfaces/orionplace/appBase/IAppLoadCommon.ts +42 -38
- package/templates/src/lib/interfaces/orionplace/appBase/IApploadUserProfile.ts +11 -11
- package/templates/src/lib/interfaces/orionplace/appBase/IForm.ts +1 -1
- package/templates/src/lib/interfaces/orionplace/appBase/ISEO.ts +10 -10
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +7 -7
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonContact.ts +6 -6
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonCurrency.ts +10 -10
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonEvents.ts +14 -14
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLocale.ts +9 -9
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLogos.ts +4 -4
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +13 -13
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +20 -7
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSocial.ts +10 -10
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +4 -4
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonUnit.ts +7 -7
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +6 -5
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVisualSettings.ts +9 -9
- package/templates/src/lib/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonWalletValue.ts +1 -1
- package/templates/src/lib/interfaces/orionplace/blog/IBlogApi.ts +247 -0
- package/templates/src/lib/interfaces/orionplace/blog/IBlogPostPreview.ts +30 -0
- package/templates/src/lib/interfaces/orionplace/cart/ICartActions.ts +67 -0
- package/templates/src/lib/interfaces/orionplace/cart/ICartData.ts +391 -0
- package/templates/src/lib/interfaces/orionplace/cart/ICartDeliveryActions.ts +68 -0
- package/templates/src/lib/interfaces/orionplace/cart/ICartModal.ts +22 -0
- package/templates/src/lib/interfaces/orionplace/cart/IDeliveryMap.ts +29 -0
- package/templates/src/lib/interfaces/orionplace/catalog/ICatalogDirectory.ts +78 -0
- package/templates/src/lib/interfaces/orionplace/category/ICategory.ts +38 -34
- package/templates/src/lib/interfaces/orionplace/domains/IDomain.ts +7 -7
- package/templates/src/lib/interfaces/orionplace/forms/ICustomerSubfilter.ts +19 -0
- package/templates/src/lib/interfaces/orionplace/index.ts +57 -30
- package/templates/src/lib/interfaces/orionplace/marketing/IPromoActions.ts +51 -0
- package/templates/src/lib/interfaces/orionplace/orders/IOrderActions.ts +99 -0
- package/templates/src/lib/interfaces/orionplace/orders/IOrderHistory.ts +260 -0
- package/templates/src/lib/interfaces/orionplace/orders/IProductPreorder.ts +31 -0
- package/templates/src/lib/interfaces/orionplace/payments/IInvoice.ts +147 -0
- package/templates/src/lib/interfaces/orionplace/products/IProduct.ts +178 -151
- package/templates/src/lib/interfaces/orionplace/products/IProductFeedbackApi.ts +218 -0
- package/templates/src/lib/interfaces/orionplace/products/IProductSearchApi.ts +149 -0
- package/templates/src/lib/interfaces/orionplace/products/IProductSearchFacets.ts +35 -0
- package/templates/src/lib/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +15 -0
- package/templates/src/lib/interfaces/orionplace/products/IProductSpecification.ts +14 -0
- package/templates/src/lib/interfaces/orionplace/products/IWishlist.ts +22 -0
- package/templates/src/lib/interfaces/orionplace/sellers/ISellerDirectory.ts +70 -0
- package/templates/src/lib/interfaces/orionplace/shared/IBreadcrumb.ts +10 -0
- package/templates/src/lib/interfaces/orionplace/shared/IGeoCoordinates.ts +2 -2
- package/templates/src/lib/interfaces/orionplace/shared/IStorefrontControls.ts +13 -0
- package/templates/src/lib/interfaces/orionplace/shared/ITransformValue.ts +1 -1
- package/templates/src/lib/interfaces/orionplace/state.ts +1 -1
- package/templates/src/lib/interfaces/orionplace/stores/IStoreDirectory.ts +66 -0
- package/templates/src/lib/interfaces/orionplace/subscribeOptions/ISubscribeOption.ts +4 -4
- package/templates/src/lib/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +41 -31
- package/templates/src/lib/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +11 -0
- package/templates/src/lib/interfaces/orionplace/subscribes/ISubscribe.ts +14 -14
- package/templates/src/lib/interfaces/orionplace/subscribes/ISubscriptionApi.ts +123 -0
- package/templates/src/lib/interfaces/orionplace/tickets/ICustomerTicketApi.ts +226 -0
- package/templates/src/lib/interfaces/orionplace/transport.ts +7 -3
- package/templates/src/lib/layouts/StorefrontLayout.svelte +379 -0
- package/templates/src/lib/layouts/StorefrontPageHead.svelte +25 -0
- package/templates/src/lib/layouts/StorefrontPageState.svelte +16 -0
- package/templates/src/lib/layouts/StorefrontUnavailable.svelte +28 -0
- package/templates/src/lib/orionplace/appLoadClient.ts +63 -21
- package/templates/src/lib/orionplace/appLoadData.ts +24 -9
- package/templates/src/lib/orionplace/appLoadResult.ts +73 -19
- package/templates/src/lib/orionplace/appLoadServer.ts +97 -39
- package/templates/src/lib/orionplace/appRoutes.ts +77 -0
- package/templates/src/lib/orionplace/appSession.ts +19 -0
- package/templates/src/lib/orionplace/domain.ts +1 -1
- package/templates/src/lib/orionplace/navigation.svelte.ts +188 -0
- package/templates/src/lib/orionplace/pageLoad.ts +161 -0
- package/templates/src/lib/orionplace/pageServer.ts +14 -0
- package/templates/src/lib/orionplace/pageState.ts +37 -0
- package/templates/src/lib/orionplace/productSeller.ts +28 -0
- package/templates/src/lib/orionplace/reactivity.svelte.ts +255 -0
- package/templates/src/lib/orionplace/scope.svelte.ts +53 -0
- package/templates/src/lib/orionplace/serverApi.ts +81 -0
- package/templates/src/lib/orionplace/store.svelte.ts +349 -95
- package/templates/src/lib/stores/orionplace.svelte.ts +434 -0
- package/templates/src/lib/stores/orionplaceBrowse.svelte.ts +81 -0
- package/templates/src/lib/stores/orionplaceCatalog.svelte.ts +124 -0
- package/templates/src/lib/stores/orionplaceDomainAccess.svelte.ts +56 -0
- package/templates/src/lib/stores/orionplaceProducts.svelte.ts +254 -0
- package/templates/src/lib/stores/orionplaceSelections.svelte.ts +139 -0
- package/templates/src/lib/themes/orionplace.ts +108 -0
- package/templates/src/lib/utils/orionplace/accountLabels.ts +22 -0
- package/templates/src/lib/utils/orionplace/activityLabels.ts +65 -0
- package/templates/src/lib/utils/orionplace/activityPresentation.ts +10 -0
- package/templates/src/lib/utils/orionplace/addressChanges.ts +26 -0
- package/templates/src/lib/utils/orionplace/addressRegions.ts +17 -0
- package/templates/src/lib/utils/orionplace/api.ts +333 -0
- package/templates/src/lib/utils/orionplace/blogArticleHtml.ts +398 -0
- package/templates/src/lib/utils/orionplace/blogComments.ts +132 -0
- package/templates/src/lib/utils/orionplace/blogLabels.ts +111 -0
- package/templates/src/lib/utils/orionplace/blogLayout.ts +95 -0
- package/templates/src/lib/utils/orionplace/breadcrumbLabels.ts +11 -0
- package/templates/src/lib/utils/orionplace/browseLabels.ts +98 -0
- package/templates/src/lib/utils/orionplace/cartAddress.ts +95 -0
- package/templates/src/lib/utils/orionplace/cartLabels.ts +261 -0
- package/templates/src/lib/utils/orionplace/cartOptions.ts +144 -0
- package/templates/src/lib/utils/orionplace/cartPreview.ts +108 -0
- package/templates/src/lib/utils/orionplace/cartPromo.ts +150 -0
- package/templates/src/lib/utils/orionplace/cartShipment.ts +72 -0
- package/templates/src/lib/utils/orionplace/cartSnapshot.ts +20 -0
- package/templates/src/lib/utils/orionplace/catalog.ts +106 -0
- package/templates/src/lib/utils/orionplace/category.ts +52 -0
- package/templates/src/lib/utils/orionplace/categoryLabels.ts +31 -0
- package/templates/src/lib/utils/orionplace/contactLabels.ts +102 -0
- package/templates/src/lib/utils/orionplace/currency.ts +128 -0
- package/templates/src/lib/utils/orionplace/deliveryMap.ts +89 -0
- package/templates/src/lib/utils/orionplace/directoryLabels.ts +131 -0
- package/templates/src/lib/utils/orionplace/emptyStateArt.ts +194 -0
- package/templates/src/lib/utils/orionplace/errorPageLabels.ts +83 -0
- package/templates/src/lib/utils/orionplace/featureData.ts +25 -0
- package/templates/src/lib/utils/orionplace/featureLabels.ts +271 -0
- package/templates/src/lib/utils/orionplace/featuredLabels.ts +28 -0
- package/templates/src/lib/utils/orionplace/files.ts +71 -0
- package/templates/src/lib/utils/orionplace/footerLabels.ts +35 -0
- package/templates/src/lib/utils/orionplace/guestSession.ts +55 -0
- package/templates/src/lib/utils/orionplace/headerLabels.ts +68 -0
- package/templates/src/lib/utils/orionplace/homeContent.ts +127 -0
- package/templates/src/lib/utils/orionplace/homeLabels.ts +52 -0
- package/templates/src/lib/utils/orionplace/htmlText.ts +59 -0
- package/templates/src/lib/utils/orionplace/links.ts +14 -0
- package/templates/src/lib/utils/orionplace/manufacturerIndex.ts +91 -0
- package/templates/src/lib/utils/orionplace/modalWindow.ts +109 -0
- package/templates/src/lib/utils/orionplace/nativeApp.ts +367 -0
- package/templates/src/lib/utils/orionplace/notice.ts +22 -0
- package/templates/src/lib/utils/orionplace/orderLabels.ts +311 -0
- package/templates/src/lib/utils/orionplace/orderPresentation.ts +574 -0
- package/templates/src/lib/utils/orionplace/pageSeo.ts +274 -0
- package/templates/src/lib/utils/orionplace/paginationScroll.ts +131 -0
- package/templates/src/lib/utils/orionplace/phone.ts +22 -0
- package/templates/src/lib/utils/orionplace/presentation.ts +72 -0
- package/templates/src/lib/utils/orionplace/productActionLabels.ts +60 -0
- package/templates/src/lib/utils/orionplace/productActions.svelte.ts +547 -0
- package/templates/src/lib/utils/orionplace/productAvailability.ts +36 -0
- package/templates/src/lib/utils/orionplace/productGallery.ts +72 -0
- package/templates/src/lib/utils/orionplace/productLabels.ts +82 -0
- package/templates/src/lib/utils/orionplace/productManufacturer.ts +30 -0
- package/templates/src/lib/utils/orionplace/productPage.ts +46 -0
- package/templates/src/lib/utils/orionplace/productPhotos.ts +67 -0
- package/templates/src/lib/utils/orionplace/productSearchScope.ts +233 -0
- package/templates/src/lib/utils/orionplace/productSeller.ts +51 -0
- package/templates/src/lib/utils/orionplace/profile.ts +140 -0
- package/templates/src/lib/utils/orionplace/profileLabels.ts +151 -0
- package/templates/src/lib/utils/orionplace/promoLabels.ts +75 -0
- package/templates/src/lib/utils/orionplace/promoPresentation.ts +381 -0
- package/templates/src/lib/utils/orionplace/reviewLabels.ts +172 -0
- package/templates/src/lib/utils/orionplace/reviewScope.ts +41 -0
- package/templates/src/lib/utils/orionplace/richText.ts +13 -0
- package/templates/src/lib/utils/orionplace/searchFilters.ts +99 -0
- package/templates/src/lib/utils/orionplace/searchHistory.ts +144 -0
- package/templates/src/lib/utils/orionplace/sellerDirectory.ts +136 -0
- package/templates/src/lib/utils/orionplace/seo.ts +52 -0
- package/templates/src/lib/utils/orionplace/serverCookies.ts +88 -0
- package/templates/src/lib/utils/orionplace/sessionLabels.ts +27 -0
- package/templates/src/lib/utils/orionplace/signInReturn.ts +89 -0
- package/templates/src/lib/utils/orionplace/storeDirectory.ts +50 -0
- package/templates/src/lib/utils/orionplace/subscriptionChanges.ts +170 -0
- package/templates/src/lib/utils/orionplace/subscriptionLabels.ts +67 -0
- package/templates/src/lib/utils/orionplace/subscriptionManageLabels.ts +306 -0
- package/templates/src/lib/utils/orionplace/subscriptionPlans.ts +159 -0
- package/templates/src/lib/utils/orionplace/subscriptionRemote.ts +111 -0
- package/templates/src/lib/utils/orionplace/subscriptionUsage.ts +82 -0
- package/templates/src/lib/utils/orionplace/tariffLabels.ts +126 -0
- package/templates/src/lib/utils/orionplace/tariffPage.ts +77 -0
- package/templates/src/lib/utils/orionplace/tariffVariables.ts +165 -0
- package/templates/src/lib/utils/orionplace/tariffs.ts +284 -0
- package/templates/src/lib/utils/orionplace/ticketItems.ts +90 -0
- package/templates/src/lib/utils/orionplace/ticketLabels.ts +335 -0
- package/templates/src/lib/utils/orionplace/ticketLocation.ts +79 -0
- package/templates/src/lib/utils/orionplace/walletTransaction.ts +135 -0
- package/templates/src/routes/+error.svelte +24 -0
- package/templates/src/routes/+layout.server.ts +32 -6
- package/templates/src/routes/+layout.svelte +154 -14
- package/templates/src/routes/+page.server.ts +7 -0
- package/templates/src/routes/+page.svelte +216 -104
- package/templates/src/routes/activity/+page.server.ts +7 -0
- package/templates/src/routes/activity/+page.svelte +25 -0
- package/templates/src/routes/addresses/+page.server.ts +7 -0
- package/templates/src/routes/addresses/+page.svelte +27 -0
- package/templates/src/routes/api/[...orionplace]/+server.ts +11 -9
- package/templates/src/routes/browse/+page.server.ts +7 -0
- package/templates/src/routes/browse/+page.svelte +270 -0
- package/templates/src/routes/cart/+page.server.ts +7 -0
- package/templates/src/routes/cart/+page.svelte +25 -0
- package/templates/src/routes/catalog/+page.server.ts +7 -0
- package/templates/src/routes/catalog/+page.svelte +23 -0
- package/templates/src/routes/category/[id]/+page.server.ts +7 -0
- package/templates/src/routes/category/[id]/+page.svelte +172 -0
- package/templates/src/routes/contact/+page.server.ts +7 -0
- package/templates/src/routes/contact/+page.svelte +23 -0
- package/templates/src/routes/featured/+page.server.ts +7 -0
- package/templates/src/routes/featured/+page.svelte +168 -0
- package/templates/src/routes/journal/+page.server.ts +7 -0
- package/templates/src/routes/journal/+page.svelte +71 -0
- package/templates/src/routes/journal/[id]/+page.server.ts +7 -0
- package/templates/src/routes/journal/[id]/+page.svelte +146 -0
- package/templates/src/routes/logout/+page.server.ts +7 -0
- package/templates/src/routes/logout/+page.svelte +81 -0
- package/templates/src/routes/manufacturers/+page.server.ts +7 -0
- package/templates/src/routes/manufacturers/+page.svelte +40 -0
- package/templates/src/routes/orders/+page.server.ts +7 -0
- package/templates/src/routes/orders/+page.svelte +45 -0
- package/templates/src/routes/product/[id]/+page.server.ts +7 -0
- package/templates/src/routes/product/[id]/+page.svelte +136 -0
- package/templates/src/routes/profile/+page.server.ts +7 -0
- package/templates/src/routes/profile/+page.svelte +125 -0
- package/templates/src/routes/promo/[id]/+page.server.ts +7 -0
- package/templates/src/routes/promo/[id]/+page.svelte +92 -0
- package/templates/src/routes/promocodes/+page.server.ts +7 -0
- package/templates/src/routes/promocodes/+page.svelte +17 -0
- package/templates/src/routes/ps3/blog/[...orionplace]/+server.ts +12 -0
- package/templates/src/routes/sellers/+page.server.ts +7 -0
- package/templates/src/routes/sellers/+page.svelte +245 -0
- package/templates/src/routes/stores/+page.server.ts +7 -0
- package/templates/src/routes/stores/+page.svelte +43 -0
- package/templates/src/routes/subscriptions/+page.server.ts +7 -0
- package/templates/src/routes/subscriptions/+page.svelte +27 -0
- package/templates/src/routes/tariffs/+page.server.ts +7 -0
- package/templates/src/routes/tariffs/+page.svelte +55 -0
- package/templates/src/routes/tariffs/[slug]/[id]/+page.server.ts +7 -0
- package/templates/src/routes/tariffs/[slug]/[id]/+page.svelte +141 -0
- package/templates/src/routes/tickets/+page.server.ts +7 -0
- package/templates/src/routes/tickets/+page.svelte +70 -0
- package/templates/src/routes/unsubscribe/+page.server.ts +7 -0
- package/templates/src/routes/unsubscribe/+page.svelte +39 -0
- package/templates/src/routes/wallet/+page.server.ts +7 -0
- package/templates/src/routes/wallet/+page.svelte +27 -0
- package/templates/src/routes/wishlist/+page.server.ts +7 -0
- package/templates/src/routes/wishlist/+page.svelte +61 -0
- package/templates/svelte.config.js +10 -4
- package/templates/vite.config.ts +13 -9
package/README.md
CHANGED
|
@@ -1,12 +1,53 @@
|
|
|
1
1
|
# orionplace-svelte
|
|
2
2
|
|
|
3
3
|
Set up a SvelteKit 2 storefront for your personal Orionplace marketplace API.
|
|
4
|
-
The package includes a setup CLI, the SvelteKit starter with typed
|
|
5
|
-
initialization,
|
|
4
|
+
The package includes a setup CLI, the SvelteKit starter with typed Application Load
|
|
5
|
+
initialization, native storefront components, route pages, account and checkout
|
|
6
|
+
controllers, and server source that is copied into your project
|
|
6
7
|
alongside an integration README.
|
|
7
8
|
|
|
8
9
|
Requires Node.js 20.19+, Svelte 5 and `@sveltejs/adapter-node`. Static and
|
|
9
|
-
edge-only adapters cannot read the domain files this integration uses
|
|
10
|
+
edge-only adapters cannot read the domain files this integration uses; only the
|
|
11
|
+
Android app build below uses `@sveltejs/adapter-static`.
|
|
12
|
+
|
|
13
|
+
## Android app
|
|
14
|
+
|
|
15
|
+
The same project builds as an Android app with Capacitor 8. Set
|
|
16
|
+
`ORIONPLACE_APP_ORIGIN` to your deployed public storefront (HTTPS) for that
|
|
17
|
+
build: `androidAppKit` in `svelte.config.js` (`orionplace/runtime/app.mjs`)
|
|
18
|
+
then builds a client-only app to `build/` with `@sveltejs/adapter-static`. The
|
|
19
|
+
route server loads run in the app as universal loads
|
|
20
|
+
(`src/lib/orionplace/appRoutes.ts`), and every API request goes to
|
|
21
|
+
`<origin>/api/...` through Capacitor's native HTTP with the storefront Origin
|
|
22
|
+
(`src/lib/utils/orionplace/nativeApp.ts`). A route with its own server load
|
|
23
|
+
stops the app build with its path. With the `@capacitor/app` plugin installed,
|
|
24
|
+
the Android back button closes an open dialog, opens the previous page, or
|
|
25
|
+
leaves the app on the first page. With `@capacitor/filesystem` and
|
|
26
|
+
`@capacitor/share`, a purchased file is saved in the app and opened from the
|
|
27
|
+
Android share sheet. Without the variable the website build is
|
|
28
|
+
unchanged. Setup, build and release steps:
|
|
29
|
+
[Android app guide](https://orionmarket.place/en/sandbox/android-app?framework=svelte).
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install -D @sveltejs/adapter-static
|
|
33
|
+
ORIONPLACE_APP_ORIGIN=https://shop.example.com npx vite build
|
|
34
|
+
npx cap sync android
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Error pages
|
|
38
|
+
|
|
39
|
+
`src/routes/+error.svelte` uses the native `StorefrontErrorPage` for missing
|
|
40
|
+
pages and unhandled errors. Its title, description, keywords and HTML language
|
|
41
|
+
follow the selected locale. Error pages use `noindex, nofollow`. Home and Catalog
|
|
42
|
+
keep the locale; Retry reloads the current address. Failure pages render without
|
|
43
|
+
the storefront header and footer.
|
|
44
|
+
|
|
45
|
+
## Asset loading
|
|
46
|
+
|
|
47
|
+
The starter loads route code and route data after pointer or keyboard
|
|
48
|
+
interaction instead of preloading every visible link. New storefront images
|
|
49
|
+
must provide intrinsic dimensions or a stable aspect ratio; the package audit
|
|
50
|
+
checks this rule for every maintained Svelte template.
|
|
10
51
|
|
|
11
52
|
## Quick start from zero
|
|
12
53
|
|
|
@@ -28,9 +69,9 @@ npm run dev
|
|
|
28
69
|
|
|
29
70
|
The first command creates the SvelteKit configuration, starter routes and
|
|
30
71
|
integration README. The first frontend becomes the local MIMIC domain. Open the
|
|
31
|
-
local URL printed by Vite (normally http://localhost:5173)
|
|
32
|
-
|
|
33
|
-
backend response. The backend command accepts either a hostname or its full HTTPS
|
|
72
|
+
local URL printed by Vite (normally http://localhost:5173). The storefront shows
|
|
73
|
+
the catalog, products and events returned by Application Load. If initialization
|
|
74
|
+
fails, it shows a retry action; check your domain mapping and backend response. The backend command accepts either a hostname or its full HTTPS
|
|
34
75
|
`/api` URL. The frontend command accepts a public hostname or its root HTTPS URL.
|
|
35
76
|
|
|
36
77
|
## Existing SvelteKit 2 project
|
|
@@ -55,6 +96,23 @@ No install or postinstall hook changes your application. Only explicitly running
|
|
|
55
96
|
the CLI writes files. Use `--cwd <directory>` to select a project and `--dry-run`
|
|
56
97
|
to inspect planned changes without writing them.
|
|
57
98
|
|
|
99
|
+
## Import aliases
|
|
100
|
+
|
|
101
|
+
Application imports use `@/`. Add these entries to `kit.alias` in your existing
|
|
102
|
+
`svelte.config.js` (or its `.ts`/`.mjs` equivalent), keeping the Node adapter and
|
|
103
|
+
other settings. New projects already contain them:
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
alias: {
|
|
107
|
+
'@': './src',
|
|
108
|
+
'@orionplace-runtime': './orionplace/runtime',
|
|
109
|
+
},
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
SvelteKit applies them to both Vite and the generated TypeScript configuration.
|
|
113
|
+
The gateway stays in the project-root `orionplace/runtime/` directory. Framework
|
|
114
|
+
imports such as `$app`, `$env` and generated `./$types` retain their own names.
|
|
115
|
+
|
|
58
116
|
## Commands
|
|
59
117
|
|
|
60
118
|
```bash
|
|
@@ -89,20 +147,28 @@ change your account, create DNS records, configure TLS, or deploy a VPS.
|
|
|
89
147
|
| Path | Purpose |
|
|
90
148
|
| --- | --- |
|
|
91
149
|
| `src/routes/api/[...orionplace]/+server.ts` | Route serving `/api/...` from your project. |
|
|
92
|
-
| `src/routes/+
|
|
150
|
+
| `src/routes/ps3/blog/[...orionplace]/+server.ts` | Route serving guarded blog images and videos under `/ps3/blog/...`. |
|
|
151
|
+
| `src/routes/+layout.server.ts` | Initializes Application Load before your pages render. |
|
|
93
152
|
| `src/routes/+layout.svelte` | Creates the store for this session and puts it in context. |
|
|
94
|
-
| `src/routes/+page.svelte` |
|
|
153
|
+
| `src/routes/+page.svelte` | Home page using the maintained storefront components. |
|
|
95
154
|
| `src/hooks.server.ts` | Marks personalized pages `private, no-store` and varies them by domain. |
|
|
96
155
|
| `src/lib/orionplace/` | Server transport with cookie relay, browser transport, envelope checks, domain resolution. |
|
|
97
156
|
| `src/lib/orionplace/store.svelte.ts` | Typed snapshot, status, merged discovery and derived data as Svelte 5 runes. |
|
|
98
|
-
| `src/lib/interfaces/orionplace/` | The
|
|
157
|
+
| `src/lib/interfaces/orionplace/` | The Application Load response envelope and every nested model. |
|
|
99
158
|
| `svelte.config.js`, `vite.config.ts` | Node adapter, and your storefront domains as allowed development hosts. |
|
|
100
159
|
| `orionplace/runtime/marketplace.mjs` | Commented domain lookup and HTTP transport. |
|
|
160
|
+
| `orionplace/runtime/app.mjs` | `androidAppKit` and `androidAppDefine`: the Android app build switch. |
|
|
101
161
|
| `orionplace/README.md` | Your settings, API examples, file explanations, verification and VPS deployment. |
|
|
102
162
|
| `orionplace/settings.json` | Domain values selected by the CLI. |
|
|
103
163
|
| `orionplace/.generated.json` | File hashes used to preserve your edits on subsequent setup. |
|
|
104
164
|
| `sitemaps/shop.example.com.cfg` | One line: `https://your-project.orionplace.app/api`. |
|
|
105
165
|
| `.env` | `MIMIC_FRONT_DOMAIN="shop.example.com"` for localhost. |
|
|
166
|
+
| `.vscode/settings.json` | Tells the editor's CSS checker to accept Tailwind's `@apply`, `@reference` and `@theme`. An existing file is kept. |
|
|
167
|
+
|
|
168
|
+
`npm run check` runs `svelte-check` with TypeScript and Svelte diagnostics
|
|
169
|
+
(`--diagnostic-sources "js,svelte"`): the CSS checker does not know Tailwind's
|
|
170
|
+
at-rules and would report every `@apply` as unknown. Setup upgrades the former
|
|
171
|
+
default script and keeps a script you changed.
|
|
106
172
|
|
|
107
173
|
All generated source is yours to read and customize. Later setup runs preserve
|
|
108
174
|
edited files and report which ones were preserved. Unchanged generated files can
|
|
@@ -159,9 +225,27 @@ Deploy `sitemaps` with the production server, or set an absolute `SITEMAPS_DIR`.
|
|
|
159
225
|
The production process reads `MIMIC_FRONT_DOMAIN` without rebuilding. Run the
|
|
160
226
|
server from the project root or explicitly point it at the configuration directory.
|
|
161
227
|
|
|
162
|
-
##
|
|
228
|
+
## Native storefront
|
|
229
|
+
|
|
230
|
+
The starter includes Svelte components and SvelteKit routes for catalog and
|
|
231
|
+
product search, product details and variants, journal articles and comments,
|
|
232
|
+
manufacturer, seller and store directories, contact, tariffs, account, addresses,
|
|
233
|
+
cart, orders, wallet, subscriptions and tickets. Public route loads reuse the
|
|
234
|
+
layout snapshot and request the detail data needed for their first render.
|
|
235
|
+
Protected routes take a guest to sign-in and preserve the return path.
|
|
236
|
+
|
|
237
|
+
Components in `src/lib/components/orionplace/` use scoped Svelte state and
|
|
238
|
+
controllers in `src/lib/composables/`. Their callback payloads correspond to
|
|
239
|
+
the maintained Nuxt events. The package's component READMEs describe inputs,
|
|
240
|
+
data and actions; `orionplace/COMPONENTS.md` lists their customer paths.
|
|
241
|
+
|
|
242
|
+
Page titles, descriptions and link-preview metadata follow the current page
|
|
243
|
+
and selected language, including client navigation. Public events and banner
|
|
244
|
+
images come from Application Load.
|
|
245
|
+
|
|
246
|
+
## Application Load starter
|
|
163
247
|
|
|
164
|
-
The root layout load awaits `POST /api/appload`
|
|
248
|
+
The root layout load awaits `POST /api/appload` before your pages
|
|
165
249
|
render and returns the snapshot to every route, so `await parent()` in a page load
|
|
166
250
|
reuses it instead of requesting again. The root layout component creates one store
|
|
167
251
|
per browser session and hydrates it from that snapshot; components read it with
|
|
@@ -176,7 +260,7 @@ Discovery describes availability; the backend still checks permissions on each c
|
|
|
176
260
|
|
|
177
261
|
### Session and CSRF cookies
|
|
178
262
|
|
|
179
|
-
|
|
263
|
+
Application Load establishes the guest/customer session and CSRF cookie through HTTP
|
|
180
264
|
`Set-Cookie` headers, not through `page_data.init`. The browser handles the signed
|
|
181
265
|
HttpOnly `sessionid` cookie; never parse, rewrite, log or store its value in the
|
|
182
266
|
store or localStorage. The readable `csrftoken` supplies `X-CSRFToken` for later
|
|
@@ -189,11 +273,20 @@ the exact signed value and its attributes. Cookies established this way are also
|
|
|
189
273
|
visible to later calls in the same render. Never share a cookie jar across visitors.
|
|
190
274
|
|
|
191
275
|
Use `POST /api/csrf_renew` with `{}` to renew CSRF, then re-read the cookie.
|
|
192
|
-
The backend signals CSRF rejection with HTTP `419
|
|
193
|
-
|
|
194
|
-
|
|
276
|
+
The backend signals CSRF rejection with HTTP `419`, or HTTP `403` with
|
|
277
|
+
`page_data.csrf: false`. A `403` without that flag may mean permissions or
|
|
278
|
+
origin rejection. The shared API client renews the token for the next action
|
|
279
|
+
and returns the failed request; the customer retries explicitly. After
|
|
280
|
+
confirmed login/logout, reset and refresh Application Load.
|
|
195
281
|
Those store actions update data; they do not authenticate or delete cookies.
|
|
196
282
|
|
|
283
|
+
|
|
284
|
+
When a request returns HTTP `401` while the store is signed in, the shared API
|
|
285
|
+
client clears profile, wallet, authenticated discovery, cart and wishlist counters
|
|
286
|
+
and account fields of cached products, then reloads Application Load as a guest.
|
|
287
|
+
Public data and the current selections remain available during that refresh.
|
|
288
|
+
The failed request is not repeated and no sign-in dialog opens automatically.
|
|
289
|
+
|
|
197
290
|
## Update an existing project
|
|
198
291
|
|
|
199
292
|
After the initial setup, use one command to get the latest package and components:
|
|
@@ -229,11 +322,18 @@ installation fails after source generation, run `npm install` and retry `update`
|
|
|
229
322
|
|
|
230
323
|
## Documentation
|
|
231
324
|
|
|
232
|
-
- [Create a SvelteKit frontend](https://orionmarket.place/sandbox/new-project/svelte)
|
|
233
|
-
- [Marketplace API documentation](https://orionmarket.place/sandbox/)
|
|
325
|
+
- [Create a SvelteKit frontend](https://orionmarket.place/en/sandbox/new-project/svelte)
|
|
326
|
+
- [Marketplace API documentation](https://orionmarket.place/en/sandbox/)
|
|
234
327
|
|
|
235
328
|
## Development
|
|
236
329
|
|
|
330
|
+
In this repository checkout, the package demo uses its own
|
|
331
|
+
`packages/orionplace-svelte/.env` and
|
|
332
|
+
`packages/orionplace-svelte/sitemaps/<storefront-domain>.cfg`.
|
|
333
|
+
Set the storefront's `MIMIC_FRONT_DOMAIN` and personal backend mapping there.
|
|
334
|
+
See [local demo configuration](DEVELOPMENT.md#local-demo-configuration).
|
|
335
|
+
|
|
336
|
+
|
|
237
337
|
```bash
|
|
238
338
|
npm install
|
|
239
339
|
npm test
|
|
@@ -242,3 +342,20 @@ npm pack --dry-run
|
|
|
242
342
|
|
|
243
343
|
The published tarball includes only the CLI, runtime source, README, license,
|
|
244
344
|
starter templates, and package metadata.
|
|
345
|
+
|
|
346
|
+
## Storefront flows
|
|
347
|
+
|
|
348
|
+
The generated storefront includes product and category pages, search, wishlist,
|
|
349
|
+
cart and checkout, orders, support tickets, profile and phone sign-in, addresses,
|
|
350
|
+
wallet, subscriptions, tariffs, journal, promotions, contacts and event enrollment.
|
|
351
|
+
Public product, category, search, featured, journal, article and tariff routes
|
|
352
|
+
await their first response during server loading and hydrate the same data.
|
|
353
|
+
Account routes send a confirmed guest to the profile sign-in flow and preserve
|
|
354
|
+
the return address. Form requests begin after visitor interaction.
|
|
355
|
+
|
|
356
|
+
Component source lives in `src/lib/components/orionplace/`; controllers live in
|
|
357
|
+
`src/lib/composables/`. `orionplace/COMPONENTS.md` describes the component catalog.
|
|
358
|
+
The store is scoped to one render on the server and the root layout in the
|
|
359
|
+
browser. It preserves valid selections when Application Load refreshes. HTTP
|
|
360
|
+
401 clears account data and refreshes the guest session without repeating the
|
|
361
|
+
failed mutation. API validation errors remain beside the affected form.
|
|
@@ -17,7 +17,7 @@ From zero (Node.js 20.19+ with npm; run from the parent folder):
|
|
|
17
17
|
|
|
18
18
|
Replace the backend with the domain from your orionmarket.place profile,
|
|
19
19
|
and the frontend with your storefront domain. Open the local URL printed by Vite;
|
|
20
|
-
the
|
|
20
|
+
the storefront opens after Application Load succeeds.
|
|
21
21
|
|
|
22
22
|
Commands for an existing project (run from its root):
|
|
23
23
|
npx orionplace-svelte help
|
|
@@ -90,6 +90,9 @@ try {
|
|
|
90
90
|
: `Next: ${result.settings.backend ? 'add frontend' : 'set backend'} to complete the domain mapping.`);
|
|
91
91
|
if (result.changed.some(path => path.endsWith('.cfg') || path === '.env')) console.log('Restart a running development server to reload MIMIC and domain mappings. Reload your production environment when changing MIMIC.');
|
|
92
92
|
if (result.isNewKit) console.log('Run npm install in the project, then npm run dev.');
|
|
93
|
+
if ([...result.preserved, ...result.skipped].some(path => /^svelte\.config\./.test(path))) {
|
|
94
|
+
console.log('Merge the import aliases into your retained configuration; see Import aliases in orionplace/README.md.');
|
|
95
|
+
}
|
|
93
96
|
console.log('Project documentation: orionplace/README.md');
|
|
94
97
|
if (command === 'update') console.log(dryRun
|
|
95
98
|
? 'Dependency installation would run after applying these changes. Project files were not changed.'
|
package/package.json
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orionplace-svelte",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "SvelteKit
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "SvelteKit 2 storefront for your Orionplace marketplace: setup CLI, server API gateway, typed store and ready-made catalog, cart, checkout and account components in English and Russian, plus an Android app build.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Orionplace",
|
|
8
|
-
"homepage": "https://orionmarket.place/sandbox/new-project/svelte",
|
|
8
|
+
"homepage": "https://orionmarket.place/en/sandbox/new-project/svelte",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"svelte",
|
|
11
|
+
"svelte5",
|
|
11
12
|
"sveltekit",
|
|
12
13
|
"orionplace",
|
|
13
|
-
"
|
|
14
|
+
"orionmarketplace",
|
|
15
|
+
"marketplace",
|
|
16
|
+
"storefront",
|
|
17
|
+
"ecommerce",
|
|
18
|
+
"e-commerce",
|
|
19
|
+
"shop",
|
|
20
|
+
"cart",
|
|
21
|
+
"checkout",
|
|
22
|
+
"ssr",
|
|
23
|
+
"cli",
|
|
24
|
+
"android",
|
|
25
|
+
"capacitor"
|
|
14
26
|
],
|
|
15
27
|
"engines": {
|
|
16
28
|
"node": ">=20.19.0"
|
|
@@ -39,7 +51,7 @@
|
|
|
39
51
|
"LICENSE"
|
|
40
52
|
],
|
|
41
53
|
"scripts": {
|
|
42
|
-
"test": "node --test test/*.test.mjs"
|
|
54
|
+
"test": "node --import ../../scripts/register-test-aliases.mjs --test test/*.test.mjs"
|
|
43
55
|
},
|
|
44
56
|
"peerDependencies": {
|
|
45
57
|
"@sveltejs/kit": "^2.4.0",
|
|
@@ -51,6 +63,7 @@
|
|
|
51
63
|
},
|
|
52
64
|
"devDependencies": {
|
|
53
65
|
"esbuild": "^0.27.7",
|
|
54
|
-
"svelte": "^5.57.0"
|
|
66
|
+
"svelte": "^5.57.0",
|
|
67
|
+
"happy-dom": "^20.14.5"
|
|
55
68
|
}
|
|
56
69
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { KitConfig } from '@sveltejs/kit';
|
|
2
|
+
|
|
3
|
+
/** The validated storefront origin of an Android app build; empty for the website. */
|
|
4
|
+
export function androidAppOrigin(value?: string): string;
|
|
5
|
+
/** Vite `define` with the storefront origin the app's requests go to. */
|
|
6
|
+
export function androidAppDefine(): Record<string, string>;
|
|
7
|
+
/** The SvelteKit options, made static with the app's routes for the Android app build. */
|
|
8
|
+
export function androidAppKit(kit: KitConfig, root?: string): Promise<KitConfig>;
|
|
9
|
+
/** Copies the routes for the app build, with app loads instead of server loads. */
|
|
10
|
+
export function writeAndroidAppRoutes(source: string, target: string): void;
|
package/runtime/app.mjs
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join, relative, resolve } from 'node:path';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Android app build: ORIONPLACE_APP_ORIGIN=https://shop.example.com vite build
|
|
6
|
+
*
|
|
7
|
+
* The app is a client-only build (adapter-static, written to build/) that
|
|
8
|
+
* Capacitor wraps. Its API requests go to the public storefront named by the
|
|
9
|
+
* variable, through its /api gateway (see src/lib/utils/orionplace/nativeApp.ts).
|
|
10
|
+
* Without the variable the project builds the website as before.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const hostname = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
|
|
14
|
+
|
|
15
|
+
/** The validated storefront origin of an app build; empty for the website. */
|
|
16
|
+
export function androidAppOrigin(value = process.env.ORIONPLACE_APP_ORIGIN) {
|
|
17
|
+
const text = value?.trim() ?? '';
|
|
18
|
+
if (!text) return '';
|
|
19
|
+
if (/^http:/i.test(text)) throw new Error('ORIONPLACE_APP_ORIGIN must use HTTPS.');
|
|
20
|
+
let url;
|
|
21
|
+
try { url = new URL(text.includes('://') ? text : `https://${text}`); }
|
|
22
|
+
catch { url = null; }
|
|
23
|
+
const host = url?.hostname.toLowerCase().replace(/\.$/, '') ?? '';
|
|
24
|
+
if (!url || url.protocol !== 'https:' || !hostname.test(host) || /^[\d.]+$/.test(host) ||
|
|
25
|
+
url.username || url.password || url.port || url.search || url.hash || url.pathname !== '/') {
|
|
26
|
+
throw new Error('ORIONPLACE_APP_ORIGIN must be your public storefront, for example https://shop.example.com.');
|
|
27
|
+
}
|
|
28
|
+
return `https://${host}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** Vite `define`: the storefront origin the app's requests go to. */
|
|
32
|
+
export function androidAppDefine() {
|
|
33
|
+
return { __ORIONPLACE_APP_ORIGIN__: JSON.stringify(androidAppOrigin()) };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const appLayout = `// Generated for the Android app build (orionplace/runtime/app.mjs).
|
|
37
|
+
export const ssr = false;
|
|
38
|
+
export const prerender = false;
|
|
39
|
+
export { loadAppLayout as load } from '@/lib/orionplace/appRoutes';
|
|
40
|
+
`;
|
|
41
|
+
const appPage = `// Generated for the Android app build (orionplace/runtime/app.mjs).
|
|
42
|
+
export { loadAppPage as load } from '@/lib/orionplace/appRoutes';
|
|
43
|
+
`;
|
|
44
|
+
const server = /^\+(page|layout)\.server\.[jt]s$/;
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* The app has no server, so its routes are a copy of src/routes with the
|
|
48
|
+
* server loads replaced by loads that run in the app. Endpoints (+server.ts)
|
|
49
|
+
* stay on the storefront, which answers the app's requests.
|
|
50
|
+
*/
|
|
51
|
+
export function writeAndroidAppRoutes(source, target) {
|
|
52
|
+
rmSync(target, { recursive: true, force: true });
|
|
53
|
+
mkdirSync(target, { recursive: true });
|
|
54
|
+
for (const entry of readdirSync(source, { withFileTypes: true })) {
|
|
55
|
+
const from = join(source, entry.name);
|
|
56
|
+
const to = join(target, entry.name);
|
|
57
|
+
if (entry.isDirectory()) {
|
|
58
|
+
writeAndroidAppRoutes(from, to);
|
|
59
|
+
} else if (/^\+server\.[jt]s$/.test(entry.name)) {
|
|
60
|
+
continue;
|
|
61
|
+
} else if (server.test(entry.name)) {
|
|
62
|
+
const kind = entry.name.startsWith('+page') ? 'page' : 'layout';
|
|
63
|
+
const code = readFileSync(from, 'utf8');
|
|
64
|
+
const ours = kind === 'page' ? /\bloadStorefrontPage\b/ : /\bloadOrionplaceAppLoad\b/;
|
|
65
|
+
if (!ours.test(code)) {
|
|
66
|
+
throw new Error(`${relative(process.cwd(), from)} runs only on a server. Add a +${kind}.ts load for the Android app, or remove the page.`);
|
|
67
|
+
}
|
|
68
|
+
if (!existsSync(join(source, `+${kind}.ts`)) && !existsSync(join(source, `+${kind}.js`))) {
|
|
69
|
+
writeFileSync(join(target, `+${kind}.ts`), kind === 'page' ? appPage : appLayout);
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
cpSync(from, to);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The SvelteKit options: unchanged for the website; for the app build a
|
|
79
|
+
* static build with an index.html fallback and the app's copy of the routes.
|
|
80
|
+
* @param {import('@sveltejs/kit').KitConfig} kit
|
|
81
|
+
*/
|
|
82
|
+
export async function androidAppKit(kit, root = process.cwd()) {
|
|
83
|
+
if (!androidAppOrigin()) return kit;
|
|
84
|
+
let adapter;
|
|
85
|
+
try { ({ default: adapter } = await import('@sveltejs/adapter-static')); }
|
|
86
|
+
catch { throw new Error('The Android app build needs @sveltejs/adapter-static: npm install -D @sveltejs/adapter-static'); }
|
|
87
|
+
const routes = resolve(root, '.svelte-kit/orionplace-app/routes');
|
|
88
|
+
writeAndroidAppRoutes(resolve(root, kit.files?.routes ?? 'src/routes'), routes);
|
|
89
|
+
return {
|
|
90
|
+
...kit,
|
|
91
|
+
adapter: adapter({ pages: 'build', assets: 'build', fallback: 'index.html' }),
|
|
92
|
+
files: { ...kit.files, routes },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
export interface MarketplaceConfiguration {
|
|
2
|
-
|
|
2
|
+
mimicFrontDomain?: string;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
export interface MarketplaceTenant {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
domain: string;
|
|
7
|
+
api: URL;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export declare function normalizeFrontDomain(value: unknown): string | null;
|
|
11
11
|
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function isMarketplaceMediaPath(pathname: string): boolean;
|
|
13
|
+
|
|
14
|
+
export declare function resolveFrontDomain(
|
|
15
|
+
request: Request,
|
|
16
|
+
mimic?: string,
|
|
17
|
+
): string | null;
|
|
13
18
|
|
|
14
19
|
export declare function readMarketplace(
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
request: Request,
|
|
21
|
+
configuration?: MarketplaceConfiguration,
|
|
17
22
|
): Promise<MarketplaceTenant>;
|
|
18
23
|
|
|
19
24
|
export declare function forwardMarketplace(
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
request: Request,
|
|
26
|
+
configuration?: MarketplaceConfiguration,
|
|
22
27
|
): Promise<Response>;
|