@wix/himalaya-cli 0.817.0 → 0.819.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/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/wix-platform/src/index.d.ts +32 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/activity-counters-v1/src/index.d.ts +16 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/analytics/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/automations-v1/src/index.d.ts +40 -30
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/badges-v2/src/index.d.ts +23 -13
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/billing-tax-v1/src/index.d.ts +22 -12
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/index.d.ts +13 -3
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/index.d.ts +18 -8
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-feed/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-tools-v1/src/index.d.ts +29 -19
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/index.d.ts +28 -18
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/contacts/src/index.d.ts +18 -8
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/coupons/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/crm-tasks/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/dashboard-setup/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/data-collections-v1/src/index.d.ts +29 -19
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/donations/src/index.d.ts +20 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/index.d.ts +13 -3
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/email-marketing-v1/src/index.d.ts +29 -19
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/faq-v2/src/index.d.ts +27 -17
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forms/src/index.d.ts +16 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forum/src/index.d.ts +16 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/genie-chat/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/gift-cards/src/index.d.ts +21 -11
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +14 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/index.d.ts +15 -5
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/invoices/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/loyalty/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/marketing-v1/src/index.d.ts +16 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-v1/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/new-releases/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notifications-v3/src/index.d.ts +13 -3
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/online-programs/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/portfolio/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/pricing-plans/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/redirects-v1/src/index.d.ts +13 -3
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/index.d.ts +18 -8
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/reviews/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/seo-v1/src/index.d.ts +15 -5
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-list/src/index.d.ts +14 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-media/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/index.d.ts +13 -3
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/table-reservations/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/users/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/wix-data/src/index.d.ts +1 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/workflows-v1/src/index.d.ts +17 -7
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +14 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-activity-counters.mjs +24 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-automations.mjs +100 -58
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-badges.mjs +54 -24
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-billing-tax.mjs +43 -22
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-blog.mjs +18 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-bookings.mjs +36 -14
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-business-tools.mjs +63 -36
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +62 -34
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-contacts.mjs +35 -14
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data-collections.mjs +62 -36
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-donations.mjs +37 -18
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ecom.mjs +14 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-email-marketing.mjs +66 -36
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-faq.mjs +68 -32
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forms.mjs +25 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forum.mjs +32 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-gift-cards.mjs +39 -20
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +18 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-inbox.mjs +22 -8
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-marketing.mjs +23 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notifications.mjs +18 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-platform.mjs +30 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-redirects.mjs +14 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-restaurants.mjs +32 -14
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-seo.mjs +20 -8
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-site-list.mjs +17 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores.mjs +15 -4
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-workflows.mjs +28 -12
- package/dist/cli.mjs +23 -6
- package/guides/branded-lite-site-binding.md +14 -6
- package/guides/sdk-reference.json +398 -230
- package/package.json +2 -2
- package/templates/beauty-salon/dev/index.ts +1 -181
- package/templates/beauty-salon/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/beauty-salon-owner/dev/index.ts +564 -0
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/branded-lite/dev/index.ts +1 -181
- package/templates/branded-lite/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/community-club/dev/index.ts +1 -181
- package/templates/community-club/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/community-club-owner/dev/index.ts +564 -0
- package/templates/community-club-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/events-meetups/dev/index.ts +1 -181
- package/templates/events-meetups/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/events-meetups-owner/dev/index.ts +564 -0
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/gym-fitness/dev/index.ts +1 -181
- package/templates/gym-fitness/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/gym-fitness-owner/dev/index.ts +564 -0
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/nonprofit-cause/dev/index.ts +1 -181
- package/templates/nonprofit-cause/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/nonprofit-cause-owner/dev/index.ts +564 -0
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/owner-lite/dev/index.ts +564 -0
- package/templates/owner-lite/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/podcast-creator/dev/index.ts +1 -181
- package/templates/podcast-creator/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/podcast-creator-owner/dev/index.ts +564 -0
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/portfolio-creative/dev/index.ts +1 -181
- package/templates/portfolio-creative/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/portfolio-creative-owner/dev/index.ts +564 -0
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/restaurant/dev/index.ts +1 -181
- package/templates/restaurant/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/restaurant-owner/dev/index.ts +564 -0
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/retail-store/dev/index.ts +1 -181
- package/templates/retail-store/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/retail-store-owner/dev/index.ts +564 -0
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
- package/templates/yoga-studio/dev/index.ts +1 -181
- package/templates/yoga-studio/tier5-src/himi-store-account/index.ts +9 -141
- package/templates/yoga-studio-owner/dev/index.ts +564 -0
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
|
@@ -2569,183 +2569,6 @@ const SCREENS = runtimeSetting({
|
|
|
2569
2569
|
"accessibilityLabel": "himi_account.saved"
|
|
2570
2570
|
}
|
|
2571
2571
|
},
|
|
2572
|
-
{
|
|
2573
|
-
"id": "",
|
|
2574
|
-
"body": {
|
|
2575
|
-
"package": "himalaya",
|
|
2576
|
-
"type": "VStack",
|
|
2577
|
-
"props": {
|
|
2578
|
-
"spacing": 8,
|
|
2579
|
-
"alignment": "leading",
|
|
2580
|
-
"children": [
|
|
2581
|
-
{
|
|
2582
|
-
"id": "himi_account.sites_title",
|
|
2583
|
-
"body": {
|
|
2584
|
-
"package": "himalaya",
|
|
2585
|
-
"type": "Text",
|
|
2586
|
-
"props": {
|
|
2587
|
-
"text": "$service:himiStoreAccount.sitesTitle",
|
|
2588
|
-
"style": "title3"
|
|
2589
|
-
}
|
|
2590
|
-
}
|
|
2591
|
-
},
|
|
2592
|
-
{
|
|
2593
|
-
"id": "",
|
|
2594
|
-
"body": {
|
|
2595
|
-
"package": "himalaya",
|
|
2596
|
-
"type": "Text",
|
|
2597
|
-
"props": {
|
|
2598
|
-
"text": "Switch the active site. Home and verticals reload under that site.",
|
|
2599
|
-
"style": "footnote",
|
|
2600
|
-
"color": "textSecondary"
|
|
2601
|
-
}
|
|
2602
|
-
}
|
|
2603
|
-
},
|
|
2604
|
-
{
|
|
2605
|
-
"id": "himi_account.sites",
|
|
2606
|
-
"body": {
|
|
2607
|
-
"package": "himalaya",
|
|
2608
|
-
"type": "LazyList",
|
|
2609
|
-
"props": {
|
|
2610
|
-
"itemsPath": "$service:himiStoreAccount.sites",
|
|
2611
|
-
"spacing": 8,
|
|
2612
|
-
"items": [
|
|
2613
|
-
{
|
|
2614
|
-
"id": "",
|
|
2615
|
-
"body": {
|
|
2616
|
-
"package": "himalaya",
|
|
2617
|
-
"type": "HStack",
|
|
2618
|
-
"props": {
|
|
2619
|
-
"spacing": 12,
|
|
2620
|
-
"children": [
|
|
2621
|
-
{
|
|
2622
|
-
"id": "",
|
|
2623
|
-
"body": {
|
|
2624
|
-
"package": "himalaya",
|
|
2625
|
-
"type": "Image",
|
|
2626
|
-
"props": {
|
|
2627
|
-
"url": "$item.image",
|
|
2628
|
-
"width": 48,
|
|
2629
|
-
"height": 48,
|
|
2630
|
-
"contentMode": "fill",
|
|
2631
|
-
"shape": "rounded",
|
|
2632
|
-
"contentDescription": ""
|
|
2633
|
-
}
|
|
2634
|
-
}
|
|
2635
|
-
},
|
|
2636
|
-
{
|
|
2637
|
-
"id": "",
|
|
2638
|
-
"body": {
|
|
2639
|
-
"package": "himalaya",
|
|
2640
|
-
"type": "VStack",
|
|
2641
|
-
"props": {
|
|
2642
|
-
"spacing": 2,
|
|
2643
|
-
"alignment": "leading",
|
|
2644
|
-
"children": [
|
|
2645
|
-
{
|
|
2646
|
-
"id": "",
|
|
2647
|
-
"body": {
|
|
2648
|
-
"package": "himalaya",
|
|
2649
|
-
"type": "Text",
|
|
2650
|
-
"props": {
|
|
2651
|
-
"text": "$item.name",
|
|
2652
|
-
"style": "bodyEmphasis",
|
|
2653
|
-
"collapseWhenEmpty": true
|
|
2654
|
-
}
|
|
2655
|
-
}
|
|
2656
|
-
},
|
|
2657
|
-
{
|
|
2658
|
-
"id": "",
|
|
2659
|
-
"body": {
|
|
2660
|
-
"package": "himalaya",
|
|
2661
|
-
"type": "Text",
|
|
2662
|
-
"props": {
|
|
2663
|
-
"text": "$item.role",
|
|
2664
|
-
"style": "caption",
|
|
2665
|
-
"color": "textSecondary",
|
|
2666
|
-
"collapseWhenEmpty": true
|
|
2667
|
-
}
|
|
2668
|
-
}
|
|
2669
|
-
}
|
|
2670
|
-
]
|
|
2671
|
-
}
|
|
2672
|
-
}
|
|
2673
|
-
},
|
|
2674
|
-
{
|
|
2675
|
-
"id": "",
|
|
2676
|
-
"body": {
|
|
2677
|
-
"package": "himalaya",
|
|
2678
|
-
"type": "Spacer",
|
|
2679
|
-
"props": {}
|
|
2680
|
-
}
|
|
2681
|
-
},
|
|
2682
|
-
{
|
|
2683
|
-
"id": "",
|
|
2684
|
-
"body": {
|
|
2685
|
-
"package": "himalaya",
|
|
2686
|
-
"type": "Text",
|
|
2687
|
-
"props": {
|
|
2688
|
-
"text": "$item.activeLabel",
|
|
2689
|
-
"style": "caption",
|
|
2690
|
-
"color": "accentPrimary",
|
|
2691
|
-
"collapseWhenEmpty": true
|
|
2692
|
-
}
|
|
2693
|
-
}
|
|
2694
|
-
},
|
|
2695
|
-
{
|
|
2696
|
-
"id": "",
|
|
2697
|
-
"body": {
|
|
2698
|
-
"package": "himalaya",
|
|
2699
|
-
"type": "Icon",
|
|
2700
|
-
"props": {
|
|
2701
|
-
"name": "chevron_right",
|
|
2702
|
-
"size": 16,
|
|
2703
|
-
"tint": "textTertiary"
|
|
2704
|
-
}
|
|
2705
|
-
}
|
|
2706
|
-
}
|
|
2707
|
-
]
|
|
2708
|
-
}
|
|
2709
|
-
},
|
|
2710
|
-
"modifiers": {
|
|
2711
|
-
"background": {
|
|
2712
|
-
"token": "surfaceElevated"
|
|
2713
|
-
},
|
|
2714
|
-
"border": {
|
|
2715
|
-
"width": 1,
|
|
2716
|
-
"color": {
|
|
2717
|
-
"token": "border"
|
|
2718
|
-
}
|
|
2719
|
-
},
|
|
2720
|
-
"cornerRadius": 8,
|
|
2721
|
-
"padding": {
|
|
2722
|
-
"leading": 12,
|
|
2723
|
-
"trailing": 12,
|
|
2724
|
-
"top": 10,
|
|
2725
|
-
"bottom": 10
|
|
2726
|
-
},
|
|
2727
|
-
"onTap": {
|
|
2728
|
-
"actionId": "tier5.himiStoreAccount.selectSite",
|
|
2729
|
-
"params": {
|
|
2730
|
-
"siteId": "$item.id"
|
|
2731
|
-
}
|
|
2732
|
-
},
|
|
2733
|
-
"pressFeedback": "scale",
|
|
2734
|
-
"haptic": "light",
|
|
2735
|
-
"accessibilityLabel": "himi_account.site_row"
|
|
2736
|
-
}
|
|
2737
|
-
}
|
|
2738
|
-
]
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
}
|
|
2742
|
-
]
|
|
2743
|
-
}
|
|
2744
|
-
},
|
|
2745
|
-
"modifiers": {
|
|
2746
|
-
"hiddenPath": "$service:himiStoreAccount.noSites"
|
|
2747
|
-
}
|
|
2748
|
-
},
|
|
2749
2572
|
{
|
|
2750
2573
|
"id": "",
|
|
2751
2574
|
"body": {
|
|
@@ -3243,10 +3066,7 @@ const SCREENS = runtimeSetting({
|
|
|
3243
3066
|
"bottom": 28
|
|
3244
3067
|
},
|
|
3245
3068
|
"onAppear": {
|
|
3246
|
-
"actionId": "tier5.himiStoreAccount.refresh"
|
|
3247
|
-
"params": {
|
|
3248
|
-
"defaultSiteId": "development-site"
|
|
3249
|
-
}
|
|
3069
|
+
"actionId": "tier5.himiStoreAccount.refresh"
|
|
3250
3070
|
}
|
|
3251
3071
|
}
|
|
3252
3072
|
},
|
|
@@ -1,30 +1,24 @@
|
|
|
1
1
|
// Tier-5 bundle: himi-store — visitor/member account state.
|
|
2
|
+
//
|
|
3
|
+
// SINGLE-SITE BY DESIGN. A Branded Lite build talks to exactly one Wix site, and the
|
|
4
|
+
// binding is the baked Headless `clientId` itself:
|
|
5
|
+
// there is no metaSiteId to move and Wix will not route a consumer token minted for one
|
|
6
|
+
// client at another site. This worker therefore has no site picker — Profile used to carry
|
|
7
|
+
// a "Your sites" list that dispatched `branded_lite.select_site`, which changed the
|
|
8
|
+
// `wix-site-id` header and nothing else, so every read stayed on the baked site while the
|
|
9
|
+
// UI claimed otherwise. Managing several businesses is Owner Lite's job (account auth, a
|
|
10
|
+
// real Sites List, and per-call site scope via `site.forSite`).
|
|
2
11
|
import { defineService } from "@himalaya/state";
|
|
3
12
|
import { dispatch } from "@himalaya/dispatch";
|
|
4
13
|
import { searchOrders, type WixOrder } from "@himalaya/wix-ecom";
|
|
5
|
-
import { querySites } from "@himalaya/wix-site-list";
|
|
6
|
-
import { forgetCatalogVersion } from "@himalaya/wix-stores";
|
|
7
14
|
import { guestProfile, loadMemberProfile, strOf, fmtDate, titleCase, type AccountActivityRow } from "../_shared/himi-account";
|
|
8
15
|
import { stashCopy, copyParam, copyTemplate } from "../_shared/himi-copy.js";
|
|
9
16
|
|
|
10
|
-
const ACTIVE_SITE_KEY = "himi.brandedLite.activeSiteId";
|
|
11
|
-
|
|
12
|
-
interface StorageLike {
|
|
13
|
-
getItem(key: string): string | null;
|
|
14
|
-
setItem(key: string, value: string): void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
17
|
interface AuthRouteInput {
|
|
18
18
|
intent?: string;
|
|
19
19
|
contextName?: string;
|
|
20
20
|
returnScreenId?: string;
|
|
21
21
|
returnId?: string;
|
|
22
|
-
defaultSiteId?: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function storage(): StorageLike | undefined {
|
|
26
|
-
const host = globalThis as { himalaya?: { storage?: StorageLike }; localStorage?: StorageLike };
|
|
27
|
-
return host.himalaya?.storage ?? host.localStorage;
|
|
28
22
|
}
|
|
29
23
|
|
|
30
24
|
/** Mid-flow open params land on `himalaya.input` (paramKeys on himi_account). */
|
|
@@ -33,40 +27,6 @@ function routeInput(): AuthRouteInput {
|
|
|
33
27
|
return input && typeof input === "object" ? input : {};
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
interface SiteRow {
|
|
37
|
-
id: string;
|
|
38
|
-
name: string;
|
|
39
|
-
role: string;
|
|
40
|
-
image: string;
|
|
41
|
-
isActive: boolean;
|
|
42
|
-
notActive: boolean;
|
|
43
|
-
activeLabel: string;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function siteThumb(id: string): string {
|
|
47
|
-
return id ? `https://www.wix.com/site-thumbnail/${id}` : "";
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function readActiveSiteId(fallback = ""): string {
|
|
51
|
-
try {
|
|
52
|
-
return (storage()?.getItem(ACTIVE_SITE_KEY) || "").trim() || fallback;
|
|
53
|
-
} catch {
|
|
54
|
-
return fallback;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function writeActiveSiteId(id: string): void {
|
|
59
|
-
try {
|
|
60
|
-
storage()?.setItem(ACTIVE_SITE_KEY, id);
|
|
61
|
-
} catch { /* ignore */ }
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function defaultSiteIdFromArg(arg: unknown): string {
|
|
65
|
-
if (!arg || typeof arg !== "object") return "";
|
|
66
|
-
const raw = (arg as { defaultSiteId?: unknown }).defaultSiteId;
|
|
67
|
-
return typeof raw === "string" ? raw.trim() : "";
|
|
68
|
-
}
|
|
69
|
-
|
|
70
30
|
function strField(arg: unknown, key: string): string {
|
|
71
31
|
if (!arg || typeof arg !== "object") return "";
|
|
72
32
|
const raw = (arg as Record<string, unknown>)[key];
|
|
@@ -144,37 +104,6 @@ function authHeadline(s: S, isRegistering: boolean, isRecovering: boolean): { au
|
|
|
144
104
|
}
|
|
145
105
|
}
|
|
146
106
|
|
|
147
|
-
async function loadSites(activeId: string, fallbackId: string): Promise<SiteRow[]> {
|
|
148
|
-
const active = activeId || fallbackId;
|
|
149
|
-
try {
|
|
150
|
-
const sitesRes = await querySites({ query: { cursorPaging: { limit: 50 } } });
|
|
151
|
-
const rows = (sitesRes.sites ?? []).map((site): SiteRow => {
|
|
152
|
-
const id = site.id || "";
|
|
153
|
-
const isActive = !!active && id === active;
|
|
154
|
-
return {
|
|
155
|
-
id,
|
|
156
|
-
name: site.displayName || site.name || id,
|
|
157
|
-
role: isActive ? copyParam("storeAccount.siteRoleActive", "Current") : copyParam("storeAccount.siteRoleMember", "Site"),
|
|
158
|
-
image: siteThumb(id),
|
|
159
|
-
isActive,
|
|
160
|
-
notActive: !isActive,
|
|
161
|
-
activeLabel: isActive ? copyParam("storeAccount.siteActiveBadge", "Active") : "",
|
|
162
|
-
};
|
|
163
|
-
}).filter((r) => !!r.id);
|
|
164
|
-
if (rows.length) return rows;
|
|
165
|
-
} catch { /* fall through to seed */ }
|
|
166
|
-
if (!fallbackId) return [];
|
|
167
|
-
return [{
|
|
168
|
-
id: fallbackId,
|
|
169
|
-
name: copyParam("storeAccount.siteFallbackName", "This site"),
|
|
170
|
-
role: copyParam("storeAccount.siteRoleActive", "Current"),
|
|
171
|
-
image: siteThumb(fallbackId),
|
|
172
|
-
isActive: true,
|
|
173
|
-
notActive: false,
|
|
174
|
-
activeLabel: copyParam("storeAccount.siteActiveBadge", "Active"),
|
|
175
|
-
}];
|
|
176
|
-
}
|
|
177
|
-
|
|
178
107
|
interface S {
|
|
179
108
|
status: "loading" | "ready";
|
|
180
109
|
isMember: boolean;
|
|
@@ -224,20 +153,12 @@ interface S {
|
|
|
224
153
|
activityEmptyText: string;
|
|
225
154
|
hasActivity: boolean;
|
|
226
155
|
noActivity: boolean;
|
|
227
|
-
sitesTitle: string;
|
|
228
|
-
sites: SiteRow[];
|
|
229
|
-
hasSites: boolean;
|
|
230
|
-
noSites: boolean;
|
|
231
|
-
activeSiteId: string;
|
|
232
|
-
defaultSiteId: string;
|
|
233
156
|
}
|
|
234
157
|
|
|
235
158
|
function derive(s: S): S {
|
|
236
159
|
const isRegistering = !!s.isRegistering;
|
|
237
160
|
const isRecovering = !!s.isRecovering;
|
|
238
161
|
const hasActivity = s.activityRows.length > 0;
|
|
239
|
-
const sites = s.sites ?? [];
|
|
240
|
-
const hasSites = s.isMember && sites.length > 0;
|
|
241
162
|
const headline = authHeadline(s, isRegistering, isRecovering);
|
|
242
163
|
const hasReturnPath = !!s.isMember && !!s.returnScreenId;
|
|
243
164
|
return {
|
|
@@ -252,10 +173,6 @@ function derive(s: S): S {
|
|
|
252
173
|
hideSignInChoices: isRegistering || isRecovering,
|
|
253
174
|
hasActivity,
|
|
254
175
|
noActivity: !hasActivity,
|
|
255
|
-
sites,
|
|
256
|
-
hasSites,
|
|
257
|
-
noSites: !hasSites,
|
|
258
|
-
sitesTitle: copyParam("storeAccount.sitesTitle", "Your sites"),
|
|
259
176
|
authTitle: headline.authTitle,
|
|
260
177
|
authBody: headline.authBody,
|
|
261
178
|
hasReturnPath,
|
|
@@ -307,19 +224,15 @@ async function orderRows(memberEmail: string): Promise<AccountActivityRow[]> {
|
|
|
307
224
|
}
|
|
308
225
|
|
|
309
226
|
async function probe(s: S, arg?: unknown): Promise<S> {
|
|
310
|
-
const defaultSiteId = defaultSiteIdFromArg(arg) || s.defaultSiteId || "";
|
|
311
227
|
const intent = authIntentFromArg(arg, s);
|
|
312
228
|
const profile = await loadMemberProfile(copyParam("storeAccount.guestDetail", "Sign in to keep your cart and orders connected."));
|
|
313
229
|
let activityRows: AccountActivityRow[] = [];
|
|
314
|
-
let sites: SiteRow[] = [];
|
|
315
|
-
const activeSiteId = readActiveSiteId(defaultSiteId);
|
|
316
230
|
if (profile.isMember) {
|
|
317
231
|
try {
|
|
318
232
|
activityRows = await orderRows(profile.memberEmail);
|
|
319
233
|
} catch {
|
|
320
234
|
activityRows = [];
|
|
321
235
|
}
|
|
322
|
-
sites = await loadSites(activeSiteId, defaultSiteId);
|
|
323
236
|
}
|
|
324
237
|
return derive({
|
|
325
238
|
...s,
|
|
@@ -344,9 +257,6 @@ async function probe(s: S, arg?: unknown): Promise<S> {
|
|
|
344
257
|
activityEmptyText: profile.isMember
|
|
345
258
|
? copyParam("storeAccount.activityEmptyMember", "No previous orders for this member yet.")
|
|
346
259
|
: copyParam("storeAccount.activityEmptyGuest", "Sign in to see orders."),
|
|
347
|
-
sites,
|
|
348
|
-
activeSiteId,
|
|
349
|
-
defaultSiteId,
|
|
350
260
|
});
|
|
351
261
|
}
|
|
352
262
|
|
|
@@ -389,7 +299,6 @@ const svc = defineService<S, {
|
|
|
389
299
|
signIn: (s: S) => Promise<S>;
|
|
390
300
|
register: (s: S) => Promise<S>;
|
|
391
301
|
signOut: (s: S) => Promise<S>;
|
|
392
|
-
selectSite: (s: S, arg?: unknown) => Promise<S>;
|
|
393
302
|
}>("himiStoreAccount", {
|
|
394
303
|
state: derive({
|
|
395
304
|
status: "loading",
|
|
@@ -432,12 +341,6 @@ const svc = defineService<S, {
|
|
|
432
341
|
activityEmptyText: "No previous orders for this member yet.",
|
|
433
342
|
hasActivity: false,
|
|
434
343
|
noActivity: true,
|
|
435
|
-
sitesTitle: "Your sites",
|
|
436
|
-
sites: [],
|
|
437
|
-
hasSites: false,
|
|
438
|
-
noSites: true,
|
|
439
|
-
activeSiteId: "",
|
|
440
|
-
defaultSiteId: "",
|
|
441
344
|
}),
|
|
442
345
|
actions: {
|
|
443
346
|
load: (s, arg) => { stashCopy(arg); return probe(s, arg); },
|
|
@@ -521,7 +424,6 @@ const svc = defineService<S, {
|
|
|
521
424
|
// user logs out. This is the one transition that unmounts Email too, so unlike
|
|
522
425
|
// the mode switches it clears BOTH tokens.
|
|
523
426
|
...NO_FOCUS_ALL,
|
|
524
|
-
sites: [] as SiteRow[],
|
|
525
427
|
activityRows: [] as AccountActivityRow[],
|
|
526
428
|
activityEmptyText: copyParam("storeAccount.activityEmptyGuest", "Sign in to see orders."),
|
|
527
429
|
authIntent: "",
|
|
@@ -531,40 +433,6 @@ const svc = defineService<S, {
|
|
|
531
433
|
};
|
|
532
434
|
return derive(cleared);
|
|
533
435
|
},
|
|
534
|
-
selectSite: async (s, arg) => {
|
|
535
|
-
const siteId = typeof arg === "string"
|
|
536
|
-
? arg.trim()
|
|
537
|
-
: strOf((arg as { siteId?: unknown; id?: unknown })?.siteId
|
|
538
|
-
?? (arg as { siteId?: unknown; id?: unknown })?.id).trim();
|
|
539
|
-
if (!siteId || siteId === s.activeSiteId) return derive(s);
|
|
540
|
-
writeActiveSiteId(siteId);
|
|
541
|
-
// The Stores SDK persists the resolved catalog version app-wide, and the new
|
|
542
|
-
// site may run the other one. This is the only place that knows the site
|
|
543
|
-
// changed, so it is the only place that can say so.
|
|
544
|
-
//
|
|
545
|
-
// Cleared BEFORE the dispatch because native may remount us before it settles,
|
|
546
|
-
// and again AFTER it, because a read interleaving that await would re-resolve
|
|
547
|
-
// against the bridge that has not been re-scoped yet and re-persist the value
|
|
548
|
-
// we just dropped. Both are cheap; missing either leaves a wrong answer behind.
|
|
549
|
-
forgetCatalogVersion();
|
|
550
|
-
const sites = (s.sites ?? []).map((row) => {
|
|
551
|
-
const isActive = row.id === siteId;
|
|
552
|
-
return {
|
|
553
|
-
...row,
|
|
554
|
-
isActive,
|
|
555
|
-
notActive: !isActive,
|
|
556
|
-
role: isActive
|
|
557
|
-
? copyParam("storeAccount.siteRoleActive", "Current")
|
|
558
|
-
: copyParam("storeAccount.siteRoleMember", "Site"),
|
|
559
|
-
activeLabel: isActive ? copyParam("storeAccount.siteActiveBadge", "Active") : "",
|
|
560
|
-
};
|
|
561
|
-
});
|
|
562
|
-
try {
|
|
563
|
-
await dispatch("branded_lite.select_site", { siteId });
|
|
564
|
-
} catch { /* native may remount before the promise settles */ }
|
|
565
|
-
forgetCatalogVersion();
|
|
566
|
-
return derive({ ...s, activeSiteId: siteId, sites });
|
|
567
|
-
},
|
|
568
436
|
},
|
|
569
437
|
});
|
|
570
438
|
|