@wix/himalaya-cli 0.816.0 → 0.818.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/wix-platform/src/index.d.ts +32 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/activity-counters-v1/src/index.d.ts +16 -6
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/analytics/src/index.d.ts +1 -1
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/automations-v1/src/index.d.ts +40 -30
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/badges-v2/src/index.d.ts +23 -13
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/billing-tax-v1/src/index.d.ts +22 -12
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/index.d.ts +13 -3
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/index.d.ts +18 -8
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-feed/src/index.d.ts +1 -1
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-tools-v1/src/index.d.ts +29 -19
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/index.d.ts +28 -18
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/contacts/src/index.d.ts +18 -8
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/coupons/src/index.d.ts +1 -1
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/crm-tasks/src/index.d.ts +1 -1
  15. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/dashboard-setup/src/index.d.ts +1 -1
  16. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/data-collections-v1/src/index.d.ts +29 -19
  17. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/donations/src/index.d.ts +20 -10
  18. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/index.d.ts +13 -3
  19. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/email-marketing-v1/src/index.d.ts +29 -19
  20. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +1 -1
  21. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/faq-v2/src/index.d.ts +27 -17
  22. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forms/src/index.d.ts +16 -6
  23. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forum/src/index.d.ts +16 -6
  24. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/genie-chat/src/index.d.ts +1 -1
  25. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/gift-cards/src/index.d.ts +21 -11
  26. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +14 -4
  27. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/index.d.ts +15 -5
  28. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/invoices/src/index.d.ts +1 -1
  29. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/loyalty/src/index.d.ts +1 -1
  30. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/marketing-v1/src/index.d.ts +16 -6
  31. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-v1/src/index.d.ts +1 -1
  32. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/new-releases/src/index.d.ts +1 -1
  33. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notifications-v3/src/index.d.ts +13 -3
  34. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/online-programs/src/index.d.ts +1 -1
  35. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/portfolio/src/index.d.ts +1 -1
  36. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/pricing-plans/src/index.d.ts +1 -1
  37. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/redirects-v1/src/index.d.ts +13 -3
  38. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/index.d.ts +18 -8
  39. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/reviews/src/index.d.ts +1 -1
  40. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/seo-v1/src/index.d.ts +15 -5
  41. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-list/src/index.d.ts +14 -4
  42. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-media/src/index.d.ts +1 -1
  43. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +1 -1
  44. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/index.d.ts +1 -1
  45. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/index.d.ts +13 -3
  46. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/table-reservations/src/index.d.ts +1 -1
  47. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/users/src/index.d.ts +1 -1
  48. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/wix-data/src/index.d.ts +1 -1
  49. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/workflows-v1/src/index.d.ts +17 -7
  50. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +14 -4
  51. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-activity-counters.mjs +24 -10
  52. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-automations.mjs +100 -58
  53. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-badges.mjs +54 -24
  54. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-billing-tax.mjs +43 -22
  55. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-blog.mjs +18 -4
  56. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-bookings.mjs +36 -14
  57. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-business-tools.mjs +63 -36
  58. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +62 -34
  59. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-contacts.mjs +35 -14
  60. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data-collections.mjs +62 -36
  61. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-donations.mjs +37 -18
  62. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ecom.mjs +14 -4
  63. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-email-marketing.mjs +66 -36
  64. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-faq.mjs +68 -32
  65. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forms.mjs +25 -10
  66. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forum.mjs +32 -10
  67. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-gift-cards.mjs +39 -20
  68. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +18 -6
  69. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-inbox.mjs +22 -8
  70. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-marketing.mjs +23 -10
  71. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notifications.mjs +18 -4
  72. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-platform.mjs +30 -0
  73. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-redirects.mjs +14 -4
  74. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-restaurants.mjs +32 -14
  75. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-seo.mjs +20 -8
  76. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-site-list.mjs +17 -6
  77. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores.mjs +15 -4
  78. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-workflows.mjs +28 -12
  79. package/dist/cli.mjs +58 -14
  80. package/guides/branded-lite-site-binding.md +14 -6
  81. package/guides/sdk-reference.json +398 -230
  82. package/package.json +2 -2
  83. package/templates/beauty-salon/dev/index.ts +1 -181
  84. package/templates/beauty-salon/tier5-src/himi-store-account/index.ts +9 -141
  85. package/templates/beauty-salon-owner/dev/index.ts +564 -0
  86. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  87. package/templates/branded-lite/dev/index.ts +1 -181
  88. package/templates/branded-lite/tier5-src/himi-store-account/index.ts +9 -141
  89. package/templates/community-club/dev/index.ts +1 -181
  90. package/templates/community-club/tier5-src/himi-store-account/index.ts +9 -141
  91. package/templates/community-club-owner/dev/index.ts +564 -0
  92. package/templates/community-club-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  93. package/templates/events-meetups/dev/index.ts +1 -181
  94. package/templates/events-meetups/tier5-src/himi-store-account/index.ts +9 -141
  95. package/templates/events-meetups-owner/dev/index.ts +564 -0
  96. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  97. package/templates/gym-fitness/dev/index.ts +1 -181
  98. package/templates/gym-fitness/tier5-src/himi-store-account/index.ts +9 -141
  99. package/templates/gym-fitness-owner/dev/index.ts +564 -0
  100. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  101. package/templates/nonprofit-cause/dev/index.ts +1 -181
  102. package/templates/nonprofit-cause/tier5-src/himi-store-account/index.ts +9 -141
  103. package/templates/nonprofit-cause-owner/dev/index.ts +564 -0
  104. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  105. package/templates/owner-lite/dev/index.ts +564 -0
  106. package/templates/owner-lite/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  107. package/templates/podcast-creator/dev/index.ts +1 -181
  108. package/templates/podcast-creator/tier5-src/himi-store-account/index.ts +9 -141
  109. package/templates/podcast-creator-owner/dev/index.ts +564 -0
  110. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  111. package/templates/portfolio-creative/dev/index.ts +1 -181
  112. package/templates/portfolio-creative/tier5-src/himi-store-account/index.ts +9 -141
  113. package/templates/portfolio-creative-owner/dev/index.ts +564 -0
  114. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  115. package/templates/restaurant/dev/index.ts +1 -181
  116. package/templates/restaurant/tier5-src/himi-store-account/index.ts +9 -141
  117. package/templates/restaurant-owner/dev/index.ts +564 -0
  118. package/templates/restaurant-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  119. package/templates/retail-store/dev/index.ts +1 -181
  120. package/templates/retail-store/tier5-src/himi-store-account/index.ts +9 -141
  121. package/templates/retail-store-owner/dev/index.ts +564 -0
  122. package/templates/retail-store-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
  123. package/templates/yoga-studio/dev/index.ts +1 -181
  124. package/templates/yoga-studio/tier5-src/himi-store-account/index.ts +9 -141
  125. package/templates/yoga-studio-owner/dev/index.ts +564 -0
  126. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-overview/index.ts +220 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.816.0",
3
+ "version": "0.818.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -63,5 +63,5 @@
63
63
  "artifactId": "himalaya-cli"
64
64
  }
65
65
  },
66
- "falconPackageHash": "34aa32350d84ef30c9554bc14e8a83ed1ad3564dd645010a87e1aada"
66
+ "falconPackageHash": "c590970ca4b0cbe9969f9b25451810ae02c2b44e1a335a4a44267a84"
67
67
  }
@@ -3178,183 +3178,6 @@ const SCREENS = runtimeSetting({
3178
3178
  "accessibilityLabel": "himi_account.subscriptions"
3179
3179
  }
3180
3180
  },
3181
- {
3182
- "id": "",
3183
- "body": {
3184
- "package": "himalaya",
3185
- "type": "VStack",
3186
- "props": {
3187
- "spacing": 8,
3188
- "alignment": "leading",
3189
- "children": [
3190
- {
3191
- "id": "himi_account.sites_title",
3192
- "body": {
3193
- "package": "himalaya",
3194
- "type": "Text",
3195
- "props": {
3196
- "text": "$service:himiStoreAccount.sitesTitle",
3197
- "style": "title3"
3198
- }
3199
- }
3200
- },
3201
- {
3202
- "id": "",
3203
- "body": {
3204
- "package": "himalaya",
3205
- "type": "Text",
3206
- "props": {
3207
- "text": "Switch the active site. Home and verticals reload under that site.",
3208
- "style": "footnote",
3209
- "color": "textSecondary"
3210
- }
3211
- }
3212
- },
3213
- {
3214
- "id": "himi_account.sites",
3215
- "body": {
3216
- "package": "himalaya",
3217
- "type": "LazyList",
3218
- "props": {
3219
- "itemsPath": "$service:himiStoreAccount.sites",
3220
- "spacing": 8,
3221
- "items": [
3222
- {
3223
- "id": "",
3224
- "body": {
3225
- "package": "himalaya",
3226
- "type": "HStack",
3227
- "props": {
3228
- "spacing": 12,
3229
- "children": [
3230
- {
3231
- "id": "",
3232
- "body": {
3233
- "package": "himalaya",
3234
- "type": "Image",
3235
- "props": {
3236
- "url": "$item.image",
3237
- "width": 48,
3238
- "height": 48,
3239
- "contentMode": "fill",
3240
- "shape": "rounded",
3241
- "contentDescription": ""
3242
- }
3243
- }
3244
- },
3245
- {
3246
- "id": "",
3247
- "body": {
3248
- "package": "himalaya",
3249
- "type": "VStack",
3250
- "props": {
3251
- "spacing": 2,
3252
- "alignment": "leading",
3253
- "children": [
3254
- {
3255
- "id": "",
3256
- "body": {
3257
- "package": "himalaya",
3258
- "type": "Text",
3259
- "props": {
3260
- "text": "$item.name",
3261
- "style": "bodyEmphasis",
3262
- "collapseWhenEmpty": true
3263
- }
3264
- }
3265
- },
3266
- {
3267
- "id": "",
3268
- "body": {
3269
- "package": "himalaya",
3270
- "type": "Text",
3271
- "props": {
3272
- "text": "$item.role",
3273
- "style": "caption",
3274
- "color": "textSecondary",
3275
- "collapseWhenEmpty": true
3276
- }
3277
- }
3278
- }
3279
- ]
3280
- }
3281
- }
3282
- },
3283
- {
3284
- "id": "",
3285
- "body": {
3286
- "package": "himalaya",
3287
- "type": "Spacer",
3288
- "props": {}
3289
- }
3290
- },
3291
- {
3292
- "id": "",
3293
- "body": {
3294
- "package": "himalaya",
3295
- "type": "Text",
3296
- "props": {
3297
- "text": "$item.activeLabel",
3298
- "style": "caption",
3299
- "color": "accentPrimary",
3300
- "collapseWhenEmpty": true
3301
- }
3302
- }
3303
- },
3304
- {
3305
- "id": "",
3306
- "body": {
3307
- "package": "himalaya",
3308
- "type": "Icon",
3309
- "props": {
3310
- "name": "chevron_right",
3311
- "size": 16,
3312
- "tint": "textTertiary"
3313
- }
3314
- }
3315
- }
3316
- ]
3317
- }
3318
- },
3319
- "modifiers": {
3320
- "background": {
3321
- "token": "surfaceElevated"
3322
- },
3323
- "border": {
3324
- "width": 1,
3325
- "color": {
3326
- "token": "border"
3327
- }
3328
- },
3329
- "cornerRadius": 8,
3330
- "padding": {
3331
- "leading": 12,
3332
- "trailing": 12,
3333
- "top": 10,
3334
- "bottom": 10
3335
- },
3336
- "onTap": {
3337
- "actionId": "tier5.himiStoreAccount.selectSite",
3338
- "params": {
3339
- "siteId": "$item.id"
3340
- }
3341
- },
3342
- "pressFeedback": "scale",
3343
- "haptic": "light",
3344
- "accessibilityLabel": "himi_account.site_row"
3345
- }
3346
- }
3347
- ]
3348
- }
3349
- }
3350
- }
3351
- ]
3352
- }
3353
- },
3354
- "modifiers": {
3355
- "hiddenPath": "$service:himiStoreAccount.noSites"
3356
- }
3357
- },
3358
3181
  {
3359
3182
  "id": "",
3360
3183
  "body": {
@@ -3935,10 +3758,7 @@ const SCREENS = runtimeSetting({
3935
3758
  "bottom": 28
3936
3759
  },
3937
3760
  "onAppear": {
3938
- "actionId": "tier5.himiStoreAccount.refresh",
3939
- "params": {
3940
- "defaultSiteId": "development-site"
3941
- }
3761
+ "actionId": "tier5.himiStoreAccount.refresh"
3942
3762
  }
3943
3763
  }
3944
3764
  },
@@ -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