@wix/himalaya-cli 0.1024.0 → 0.1026.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 (84) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +12 -1
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +6 -0
  3. package/dist/cli.mjs +29 -18
  4. package/dist/preview-assets.generated.bin +0 -0
  5. package/guides/sdk-reference.json +1 -1
  6. package/package.json +2 -2
  7. package/templates/beauty-salon/dev/index.ts +1031 -240
  8. package/templates/beauty-salon/tier5-src/_shared/detail-presence.ts +51 -0
  9. package/templates/beauty-salon/tier5-src/himi-branded-lite-orders/index.ts +4 -1
  10. package/templates/beauty-salon/tier5-src/wix-spaces-collection-detail/index.ts +9 -9
  11. package/templates/beauty-salon/tier5-src/wix-spaces-create-post/index.ts +14 -4
  12. package/templates/beauty-salon/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  13. package/templates/beauty-salon/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  14. package/templates/beauty-salon/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  15. package/templates/branded-lite/config.ts +3 -1
  16. package/templates/branded-lite/dev/index.ts +3455 -813
  17. package/templates/branded-lite/tier5-src/_shared/detail-presence.ts +51 -0
  18. package/templates/branded-lite/tier5-src/himi-branded-lite-orders/index.ts +4 -1
  19. package/templates/branded-lite/tier5-src/himi-branded-lite-portfolio-project/index.ts +7 -2
  20. package/templates/branded-lite/tier5-src/himi-branded-lite-simple-detail/index.ts +4 -3
  21. package/templates/branded-lite/tier5-src/wix-spaces-chat-thread/index.ts +17 -4
  22. package/templates/branded-lite/tier5-src/wix-spaces-collection-detail/index.ts +9 -9
  23. package/templates/branded-lite/tier5-src/wix-spaces-coupon-detail/index.ts +7 -9
  24. package/templates/branded-lite/tier5-src/wix-spaces-create-post/index.ts +14 -4
  25. package/templates/branded-lite/tier5-src/wix-spaces-food-order-detail/index.ts +6 -3
  26. package/templates/branded-lite/tier5-src/wix-spaces-form-detail/index.ts +7 -9
  27. package/templates/branded-lite/tier5-src/wix-spaces-forum-post/index.ts +7 -9
  28. package/templates/branded-lite/tier5-src/wix-spaces-invoice-detail/index.ts +7 -9
  29. package/templates/branded-lite/tier5-src/wix-spaces-member-detail/index.ts +8 -8
  30. package/templates/branded-lite/tier5-src/wix-spaces-photo-albums/index.ts +8 -2
  31. package/templates/branded-lite/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  32. package/templates/branded-lite/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  33. package/templates/branded-lite/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  34. package/templates/community-club/dev/index.ts +345 -97
  35. package/templates/community-club/tier5-src/wix-spaces-create-post/index.ts +14 -4
  36. package/templates/community-club/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  37. package/templates/events-meetups/dev/index.ts +345 -97
  38. package/templates/events-meetups/tier5-src/wix-spaces-create-post/index.ts +14 -4
  39. package/templates/events-meetups/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  40. package/templates/gym-fitness/dev/index.ts +1031 -240
  41. package/templates/gym-fitness/tier5-src/_shared/detail-presence.ts +51 -0
  42. package/templates/gym-fitness/tier5-src/himi-branded-lite-orders/index.ts +4 -1
  43. package/templates/gym-fitness/tier5-src/wix-spaces-collection-detail/index.ts +9 -9
  44. package/templates/gym-fitness/tier5-src/wix-spaces-create-post/index.ts +14 -4
  45. package/templates/gym-fitness/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  46. package/templates/gym-fitness/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  47. package/templates/gym-fitness/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  48. package/templates/nonprofit-cause/dev/index.ts +732 -188
  49. package/templates/nonprofit-cause/tier5-src/_shared/detail-presence.ts +51 -0
  50. package/templates/nonprofit-cause/tier5-src/wix-spaces-create-post/index.ts +14 -4
  51. package/templates/nonprofit-cause/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  52. package/templates/nonprofit-cause/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  53. package/templates/nonprofit-cause/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  54. package/templates/podcast-creator/dev/index.ts +942 -321
  55. package/templates/podcast-creator/tier5-src/_shared/detail-presence.ts +51 -0
  56. package/templates/podcast-creator/tier5-src/himi-branded-lite-simple-detail/index.ts +4 -3
  57. package/templates/podcast-creator/tier5-src/wix-spaces-create-post/index.ts +14 -4
  58. package/templates/podcast-creator/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  59. package/templates/podcast-creator/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  60. package/templates/podcast-creator/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  61. package/templates/portfolio-creative/dev/index.ts +676 -169
  62. package/templates/portfolio-creative/tier5-src/_shared/detail-presence.ts +51 -0
  63. package/templates/portfolio-creative/tier5-src/himi-branded-lite-orders/index.ts +4 -1
  64. package/templates/portfolio-creative/tier5-src/himi-branded-lite-portfolio-project/index.ts +7 -2
  65. package/templates/portfolio-creative/tier5-src/wix-spaces-collection-detail/index.ts +9 -9
  66. package/templates/portfolio-creative/tier5-src/wix-spaces-create-post/index.ts +14 -4
  67. package/templates/portfolio-creative/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  68. package/templates/restaurant/dev/index.ts +529 -149
  69. package/templates/restaurant/tier5-src/_shared/detail-presence.ts +51 -0
  70. package/templates/restaurant/tier5-src/wix-spaces-create-post/index.ts +14 -4
  71. package/templates/restaurant/tier5-src/wix-spaces-food-order-detail/index.ts +6 -3
  72. package/templates/restaurant/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  73. package/templates/retail-store/dev/index.ts +643 -148
  74. package/templates/retail-store/tier5-src/_shared/detail-presence.ts +51 -0
  75. package/templates/retail-store/tier5-src/himi-branded-lite-orders/index.ts +4 -1
  76. package/templates/retail-store/tier5-src/wix-spaces-collection-detail/index.ts +9 -9
  77. package/templates/retail-store/tier5-src/wix-spaces-create-post/index.ts +14 -4
  78. package/templates/retail-store/tier5-src/wix-spaces-view-profile/index.ts +22 -12
  79. package/templates/yoga-studio/dev/index.ts +711 -183
  80. package/templates/yoga-studio/tier5-src/_shared/detail-presence.ts +51 -0
  81. package/templates/yoga-studio/tier5-src/wix-spaces-create-post/index.ts +14 -4
  82. package/templates/yoga-studio/tier5-src/wix-spaces-plan-detail/index.ts +7 -9
  83. package/templates/yoga-studio/tier5-src/wix-spaces-subscription-detail/index.ts +12 -11
  84. package/templates/yoga-studio/tier5-src/wix-spaces-view-profile/index.ts +22 -12
@@ -3,10 +3,15 @@
3
3
  // paint the seeded "apptestercoowner" demo identity when the session is a real
4
4
  // member (or a guest — show honesty instead).
5
5
  import { defineService } from "@himalaya/state";
6
- import { dispatch } from "@himalaya/dispatch";
6
+ import { memberAccess } from "../_shared/member-access.js";
7
7
  import { getMyData, displayName } from "@himalaya/wix-users";
8
8
 
9
- interface S { status: "loading" | "ready"; name: string; handle: string; about: string; initial: string; photo: string }
9
+ // `needsSignIn` / `noSignIn` drive the shared member gate: a guest gets the
10
+ // gate with a Sign in button and no placeholder profile. `profileHidden` stays true until
11
+ // `load` has resolved a member, so a guest never glimpses the placeholder avatar while
12
+ // the membership check is still running; `hideLoading` is false for exactly that moment,
13
+ // so the screen shows a loading line instead of going blank.
14
+ interface S { status: "loading" | "ready"; name: string; handle: string; about: string; initial: string; photo: string; needsSignIn: boolean; noSignIn: boolean; profileHidden: boolean; hideLoading: boolean }
10
15
 
11
16
  const EMPTY: S = {
12
17
  status: "loading",
@@ -15,18 +20,17 @@ const EMPTY: S = {
15
20
  about: "No info to display.",
16
21
  initial: "?",
17
22
  photo: "",
23
+ needsSignIn: false,
24
+ noSignIn: true,
25
+ profileHidden: true,
26
+ hideLoading: false,
18
27
  };
19
28
 
29
+ // The SAME member check create-post and orders use (`memberAccess`: the host's
30
+ // memberIdentity, falling back to wix-users only on hosts that predate that action), so
31
+ // one shared gate never gives two answers in one app.
20
32
  async function sessionEmail(): Promise<string> {
21
- try {
22
- const identity = await dispatch("himi.wix.memberIdentity") as unknown;
23
- const direct = identity as { email?: unknown } | null;
24
- const wrapped = identity as { payload?: { email?: unknown } } | null;
25
- const email = direct?.email ?? wrapped?.payload?.email;
26
- return typeof email === "string" ? email.trim() : "";
27
- } catch {
28
- return "";
29
- }
33
+ return (await memberAccess()).email;
30
34
  }
31
35
 
32
36
  function wixApi() {
@@ -37,7 +41,7 @@ function fromParts(name: string, handleRaw: string, about: string, photo = ""):
37
41
  const clean = name.trim();
38
42
  const handle = "@" + (handleRaw || clean || "member").replace(/\s+/g, "").replace(/^@+/, "").toLowerCase();
39
43
  const initial = (clean.split(/\s+/).filter(Boolean).map((w) => w[0]).join("").slice(0, 2) || "?").toUpperCase();
40
- return { status: "ready", name: clean || "Member", handle, about: about || "No info to display.", initial, photo };
44
+ return { status: "ready", name: clean || "Member", handle, about: about || "No info to display.", initial, photo, needsSignIn: false, noSignIn: true, profileHidden: false, hideLoading: true };
41
45
  }
42
46
 
43
47
  const svc = defineService<S, { load: (s: S) => Promise<S> }>("spacesViewProfile", {
@@ -48,11 +52,17 @@ const svc = defineService<S, { load: (s: S) => Promise<S> }>("spacesViewProfile"
48
52
  if (!email) {
49
53
  return {
50
54
  status: "ready",
55
+ // Kept for hosts without the shared member gate (the Spaces clone renders these
56
+ // fields directly); branded-lite hides the profile block behind `profileHidden`.
51
57
  name: "Sign in to view your profile",
52
58
  handle: "",
53
59
  about: "Your public profile is available after you sign in from Account.",
54
60
  initial: "?",
55
61
  photo: "",
62
+ needsSignIn: true,
63
+ noSignIn: false,
64
+ profileHidden: true,
65
+ hideLoading: true,
56
66
  };
57
67
  }
58
68
  try {