@burdenoff/microfe-hookmovies 2026.1030.1 → 2026.1031.2

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 (105) hide show
  1. package/dist/hookmovies/HookMoviesRoutes.d.ts.map +1 -1
  2. package/dist/hookmovies/HookMoviesRoutes.js +42 -38
  3. package/dist/hookmovies/HookMoviesRoutes.js.map +1 -1
  4. package/dist/hookmovies/components/AddToListButton.js +12 -12
  5. package/dist/hookmovies/components/GettingStartedChecklist.d.ts +4 -0
  6. package/dist/hookmovies/components/GettingStartedChecklist.d.ts.map +1 -0
  7. package/dist/hookmovies/components/GettingStartedChecklist.js +212 -0
  8. package/dist/hookmovies/components/GettingStartedChecklist.js.map +1 -0
  9. package/dist/hookmovies/components/PageLayout.d.ts +6 -0
  10. package/dist/hookmovies/components/PageLayout.d.ts.map +1 -1
  11. package/dist/hookmovies/components/PageLayout.js +2 -1
  12. package/dist/hookmovies/components/PageLayout.js.map +1 -1
  13. package/dist/hookmovies/events/activation.d.ts +7 -1
  14. package/dist/hookmovies/events/activation.d.ts.map +1 -1
  15. package/dist/hookmovies/events/activation.js.map +1 -1
  16. package/dist/hookmovies/hooks/useHookMoviesApi.d.ts +26 -0
  17. package/dist/hookmovies/hooks/useHookMoviesApi.d.ts.map +1 -1
  18. package/dist/hookmovies/hooks/useHookMoviesApi.js +36 -10
  19. package/dist/hookmovies/hooks/useHookMoviesApi.js.map +1 -1
  20. package/dist/hookmovies/hooks/useLogisticsApi.d.ts +345 -0
  21. package/dist/hookmovies/hooks/useLogisticsApi.d.ts.map +1 -0
  22. package/dist/hookmovies/hooks/useLogisticsApi.js +208 -0
  23. package/dist/hookmovies/hooks/useLogisticsApi.js.map +1 -0
  24. package/dist/hookmovies/index.js +1 -1
  25. package/dist/hookmovies/pages/HomePage.d.ts.map +1 -1
  26. package/dist/hookmovies/pages/HomePage.js +149 -142
  27. package/dist/hookmovies/pages/HomePage.js.map +1 -1
  28. package/dist/hookmovies/pages/ai/ConciergePage.js +23 -23
  29. package/dist/hookmovies/pages/analytics/ActivationFunnelSection.js +9 -9
  30. package/dist/hookmovies/pages/analytics/AnalyticsPage.js +151 -151
  31. package/dist/hookmovies/pages/analytics/AnalyticsPage.js.map +1 -1
  32. package/dist/hookmovies/pages/analytics/PayoutsPage.js +176 -176
  33. package/dist/hookmovies/pages/analytics/PayoutsPage.js.map +1 -1
  34. package/dist/hookmovies/pages/auditions/AuditionCreatePage.js +4 -4
  35. package/dist/hookmovies/pages/auditions/AuditionDetailPage.js +45 -45
  36. package/dist/hookmovies/pages/auditions/AuditionDetailPage.js.map +1 -1
  37. package/dist/hookmovies/pages/auditions/AuditionsPage.d.ts.map +1 -1
  38. package/dist/hookmovies/pages/auditions/AuditionsPage.js +9 -6
  39. package/dist/hookmovies/pages/auditions/AuditionsPage.js.map +1 -1
  40. package/dist/hookmovies/pages/casting/GuardianInvitePage.js +1 -1
  41. package/dist/hookmovies/pages/casting/GuardiansPanel.js +1 -1
  42. package/dist/hookmovies/pages/catalog/PeoplePage.js +5 -5
  43. package/dist/hookmovies/pages/catalog/StudiosPage.js +5 -5
  44. package/dist/hookmovies/pages/catalog/TitleCreatePage.js +4 -4
  45. package/dist/hookmovies/pages/catalog/TitleDetailPage.js +564 -564
  46. package/dist/hookmovies/pages/catalog/TitleDetailPage.js.map +1 -1
  47. package/dist/hookmovies/pages/catalog/TitlesPage.d.ts.map +1 -1
  48. package/dist/hookmovies/pages/catalog/TitlesPage.js +35 -31
  49. package/dist/hookmovies/pages/catalog/TitlesPage.js.map +1 -1
  50. package/dist/hookmovies/pages/commerce/CheckoutPage.js +43 -43
  51. package/dist/hookmovies/pages/consumer/DiscoveryPage.js +41 -41
  52. package/dist/hookmovies/pages/consumer/HooksPage.js +18 -18
  53. package/dist/hookmovies/pages/consumer/TitleViewPage.js +7 -7
  54. package/dist/hookmovies/pages/developer/DevPortalPage.js +40 -40
  55. package/dist/hookmovies/pages/distribution/RightsWindowsPage.js +132 -132
  56. package/dist/hookmovies/pages/distribution/RightsWindowsPage.js.map +1 -1
  57. package/dist/hookmovies/pages/engagement/ReviewsPage.js +39 -39
  58. package/dist/hookmovies/pages/engagement/ReviewsPage.js.map +1 -1
  59. package/dist/hookmovies/pages/library/EntitlementsPage.js +134 -134
  60. package/dist/hookmovies/pages/library/EntitlementsPage.js.map +1 -1
  61. package/dist/hookmovies/pages/library/ListsPage.js +38 -38
  62. package/dist/hookmovies/pages/library/ListsPage.js.map +1 -1
  63. package/dist/hookmovies/pages/live/LivePage.js +39 -39
  64. package/dist/hookmovies/pages/localization/LocalizationPage.js +258 -258
  65. package/dist/hookmovies/pages/localization/LocalizationPage.js.map +1 -1
  66. package/dist/hookmovies/pages/onboarding/OnboardingPage.js +30 -30
  67. package/dist/hookmovies/pages/productions/ProductionCreatePage.js +4 -4
  68. package/dist/hookmovies/pages/productions/ProductionDetailPage.d.ts.map +1 -1
  69. package/dist/hookmovies/pages/productions/ProductionDetailPage.js +144 -135
  70. package/dist/hookmovies/pages/productions/ProductionDetailPage.js.map +1 -1
  71. package/dist/hookmovies/pages/productions/ProductionLogisticsPage.d.ts +4 -0
  72. package/dist/hookmovies/pages/productions/ProductionLogisticsPage.d.ts.map +1 -0
  73. package/dist/hookmovies/pages/productions/ProductionLogisticsPage.js +106 -0
  74. package/dist/hookmovies/pages/productions/ProductionLogisticsPage.js.map +1 -0
  75. package/dist/hookmovies/pages/productions/ProductionsPage.d.ts.map +1 -1
  76. package/dist/hookmovies/pages/productions/ProductionsPage.js +23 -20
  77. package/dist/hookmovies/pages/productions/ProductionsPage.js.map +1 -1
  78. package/dist/hookmovies/pages/productions/logistics/BreakdownPanel.d.ts +6 -0
  79. package/dist/hookmovies/pages/productions/logistics/BreakdownPanel.d.ts.map +1 -0
  80. package/dist/hookmovies/pages/productions/logistics/BreakdownPanel.js +573 -0
  81. package/dist/hookmovies/pages/productions/logistics/BreakdownPanel.js.map +1 -0
  82. package/dist/hookmovies/pages/productions/logistics/CallSheetPanel.d.ts +10 -0
  83. package/dist/hookmovies/pages/productions/logistics/CallSheetPanel.d.ts.map +1 -0
  84. package/dist/hookmovies/pages/productions/logistics/CallSheetPanel.js +579 -0
  85. package/dist/hookmovies/pages/productions/logistics/CallSheetPanel.js.map +1 -0
  86. package/dist/hookmovies/pages/productions/logistics/CastCrewPanel.d.ts +10 -0
  87. package/dist/hookmovies/pages/productions/logistics/CastCrewPanel.d.ts.map +1 -0
  88. package/dist/hookmovies/pages/productions/logistics/CastCrewPanel.js +457 -0
  89. package/dist/hookmovies/pages/productions/logistics/CastCrewPanel.js.map +1 -0
  90. package/dist/hookmovies/pages/productions/logistics/SchedulePanel.d.ts +6 -0
  91. package/dist/hookmovies/pages/productions/logistics/SchedulePanel.d.ts.map +1 -0
  92. package/dist/hookmovies/pages/productions/logistics/SchedulePanel.js +324 -0
  93. package/dist/hookmovies/pages/productions/logistics/SchedulePanel.js.map +1 -0
  94. package/dist/hookmovies/pages/productions/logistics/ui.d.ts +35 -0
  95. package/dist/hookmovies/pages/productions/logistics/ui.d.ts.map +1 -0
  96. package/dist/hookmovies/pages/productions/logistics/ui.js +39 -0
  97. package/dist/hookmovies/pages/productions/logistics/ui.js.map +1 -0
  98. package/dist/hookmovies/pages/social/ProfilesPage.js +45 -45
  99. package/dist/hookmovies/pages/social/WatchPartyListPage.js +5 -5
  100. package/dist/hookmovies/pages/social/WatchPartyRoomPage.js +281 -281
  101. package/dist/hookmovies/pages/social/WatchPartyRoomPage.js.map +1 -1
  102. package/dist/hookmovies/pages/trust/ModerationPage.js +5 -5
  103. package/dist/hookmovies/pages/trust/ModerationPage.js.map +1 -1
  104. package/dist/index.js +3 -3
  105. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HookMoviesRoutes.d.ts","sourceRoot":"","sources":["../../src/hookmovies/HookMoviesRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqD,MAAM,OAAO,CAAC;AAoLnF,eAAO,MAAM,gBAAgB,EAAE,EAkG9B,CAAC"}
1
+ {"version":3,"file":"HookMoviesRoutes.d.ts","sourceRoot":"","sources":["../../src/hookmovies/HookMoviesRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqD,MAAM,OAAO,CAAC;AAyLnF,eAAO,MAAM,gBAAgB,EAAE,EAmG9B,CAAC"}
@@ -5,10 +5,10 @@ import { Navigate as i, Route as a, Routes as o, useLocation as s } from "react-
5
5
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
6
  import { FeatureGate as u } from "@burdenoff/fe-libs/shared/feature-flags";
7
7
  //#region src/hookmovies/HookMoviesRoutes.tsx
8
- var d = r(() => import("./pages/catalog/TitlesPage.js").then((e) => ({ default: e.TitlesPage }))), f = r(() => import("./pages/catalog/TitleCreatePage.js").then((e) => ({ default: e.TitleCreatePage }))), p = r(() => import("./pages/catalog/TitleDetailPage.js").then((e) => ({ default: e.TitleDetailPage }))), m = r(() => import("./pages/catalog/StudiosPage.js").then((e) => ({ default: e.StudiosPage }))), h = r(() => import("./pages/catalog/PeoplePage.js").then((e) => ({ default: e.PeoplePage }))), g = r(() => import("./pages/productions/ProductionsPage.js").then((e) => ({ default: e.ProductionsPage }))), _ = r(() => import("./pages/productions/ProductionCreatePage.js").then((e) => ({ default: e.ProductionCreatePage }))), v = r(() => import("./pages/productions/ProductionDetailPage.js").then((e) => ({ default: e.ProductionDetailPage }))), y = r(() => import("./pages/auditions/AuditionsPage.js").then((e) => ({ default: e.AuditionsPage }))), b = r(() => import("./pages/auditions/AuditionCreatePage.js").then((e) => ({ default: e.AuditionCreatePage }))), x = r(() => import("./pages/auditions/AuditionDetailPage.js").then((e) => ({ default: e.AuditionDetailPage }))), S = r(() => import("./pages/casting/MyCastingPage.js").then((e) => ({ default: e.MyCastingPage }))), C = r(() => import("./pages/casting/SavedSearchesPage.js").then((e) => ({ default: e.SavedSearchesPage }))), w = r(() => import("./pages/trust/DisputesPage.js").then((e) => ({ default: e.DisputesPage }))), T = r(() => import("./pages/trust/VerificationsPage.js").then((e) => ({ default: e.VerificationsPage }))), E = r(() => import("./pages/casting/GuardianInvitePage.js").then((e) => ({ default: e.GuardianInvitePage }))), D = r(() => import("./pages/engagement/ReviewsPage.js").then((e) => ({ default: e.ReviewsPage }))), O = r(() => import("./pages/distribution/RightsWindowsPage.js").then((e) => ({ default: e.RightsWindowsPage }))), k = r(() => import("./pages/library/ListsPage.js").then((e) => ({ default: e.ListsPage }))), A = r(() => import("./pages/library/EntitlementsPage.js").then((e) => ({ default: e.EntitlementsPage }))), j = r(() => import("./pages/consumer/DiscoveryPage.js").then((e) => ({ default: e.DiscoveryPage }))), M = r(() => import("./pages/consumer/TitleViewPage.js").then((e) => ({ default: e.TitleViewPage }))), N = r(() => import("./pages/consumer/PlayerPage.js").then((e) => ({ default: e.PlayerPage }))), P = r(() => import("./pages/consumer/HooksPage.js").then((e) => ({ default: e.HooksPage }))), F = r(() => import("./pages/social/ProfilesPage.js").then((e) => ({ default: e.ProfilesPage }))), I = r(() => import("./pages/social/WatchPartyListPage.js").then((e) => ({ default: e.WatchPartyListPage }))), L = r(() => import("./pages/social/WatchPartyRoomPage.js").then((e) => ({ default: e.WatchPartyRoomPage }))), R = r(() => import("./pages/commerce/CheckoutPage.js").then((e) => ({ default: e.CheckoutPage }))), z = r(() => import("./pages/analytics/PayoutsPage.js").then((e) => ({ default: e.PayoutsPage }))), B = r(() => import("./pages/analytics/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), V = r(() => import("./pages/trust/ModerationPage.js").then((e) => ({ default: e.ModerationPage }))), H = r(() => import("./pages/onboarding/OnboardingPage.js").then((e) => ({ default: e.OnboardingPage }))), U = r(() => import("./pages/developer/DevPortalPage.js").then((e) => ({ default: e.DevPortalPage }))), W = r(() => import("./pages/live/LivePage.js").then((e) => ({ default: e.LivePage }))), G = r(() => import("./pages/localization/LocalizationPage.js").then((e) => ({ default: e.LocalizationPage }))), K = r(() => import("./pages/ai/ConciergePage.js").then((e) => ({ default: e.ConciergePage }))), q = () => /* @__PURE__ */ c("div", {
8
+ var d = r(() => import("./pages/catalog/TitlesPage.js").then((e) => ({ default: e.TitlesPage }))), f = r(() => import("./pages/catalog/TitleCreatePage.js").then((e) => ({ default: e.TitleCreatePage }))), p = r(() => import("./pages/catalog/TitleDetailPage.js").then((e) => ({ default: e.TitleDetailPage }))), m = r(() => import("./pages/catalog/StudiosPage.js").then((e) => ({ default: e.StudiosPage }))), h = r(() => import("./pages/catalog/PeoplePage.js").then((e) => ({ default: e.PeoplePage }))), g = r(() => import("./pages/productions/ProductionsPage.js").then((e) => ({ default: e.ProductionsPage }))), _ = r(() => import("./pages/productions/ProductionCreatePage.js").then((e) => ({ default: e.ProductionCreatePage }))), v = r(() => import("./pages/productions/ProductionLogisticsPage.js").then((e) => ({ default: e.ProductionLogisticsPage }))), y = r(() => import("./pages/productions/ProductionDetailPage.js").then((e) => ({ default: e.ProductionDetailPage }))), b = r(() => import("./pages/auditions/AuditionsPage.js").then((e) => ({ default: e.AuditionsPage }))), x = r(() => import("./pages/auditions/AuditionCreatePage.js").then((e) => ({ default: e.AuditionCreatePage }))), S = r(() => import("./pages/auditions/AuditionDetailPage.js").then((e) => ({ default: e.AuditionDetailPage }))), C = r(() => import("./pages/casting/MyCastingPage.js").then((e) => ({ default: e.MyCastingPage }))), w = r(() => import("./pages/casting/SavedSearchesPage.js").then((e) => ({ default: e.SavedSearchesPage }))), T = r(() => import("./pages/trust/DisputesPage.js").then((e) => ({ default: e.DisputesPage }))), E = r(() => import("./pages/trust/VerificationsPage.js").then((e) => ({ default: e.VerificationsPage }))), D = r(() => import("./pages/casting/GuardianInvitePage.js").then((e) => ({ default: e.GuardianInvitePage }))), O = r(() => import("./pages/engagement/ReviewsPage.js").then((e) => ({ default: e.ReviewsPage }))), k = r(() => import("./pages/distribution/RightsWindowsPage.js").then((e) => ({ default: e.RightsWindowsPage }))), A = r(() => import("./pages/library/ListsPage.js").then((e) => ({ default: e.ListsPage }))), j = r(() => import("./pages/library/EntitlementsPage.js").then((e) => ({ default: e.EntitlementsPage }))), M = r(() => import("./pages/consumer/DiscoveryPage.js").then((e) => ({ default: e.DiscoveryPage }))), N = r(() => import("./pages/consumer/TitleViewPage.js").then((e) => ({ default: e.TitleViewPage }))), P = r(() => import("./pages/consumer/PlayerPage.js").then((e) => ({ default: e.PlayerPage }))), F = r(() => import("./pages/consumer/HooksPage.js").then((e) => ({ default: e.HooksPage }))), I = r(() => import("./pages/social/ProfilesPage.js").then((e) => ({ default: e.ProfilesPage }))), L = r(() => import("./pages/social/WatchPartyListPage.js").then((e) => ({ default: e.WatchPartyListPage }))), R = r(() => import("./pages/social/WatchPartyRoomPage.js").then((e) => ({ default: e.WatchPartyRoomPage }))), z = r(() => import("./pages/commerce/CheckoutPage.js").then((e) => ({ default: e.CheckoutPage }))), B = r(() => import("./pages/analytics/PayoutsPage.js").then((e) => ({ default: e.PayoutsPage }))), V = r(() => import("./pages/analytics/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), H = r(() => import("./pages/trust/ModerationPage.js").then((e) => ({ default: e.ModerationPage }))), U = r(() => import("./pages/onboarding/OnboardingPage.js").then((e) => ({ default: e.OnboardingPage }))), W = r(() => import("./pages/developer/DevPortalPage.js").then((e) => ({ default: e.DevPortalPage }))), G = r(() => import("./pages/live/LivePage.js").then((e) => ({ default: e.LivePage }))), K = r(() => import("./pages/localization/LocalizationPage.js").then((e) => ({ default: e.LocalizationPage }))), q = r(() => import("./pages/ai/ConciergePage.js").then((e) => ({ default: e.ConciergePage }))), J = () => /* @__PURE__ */ c("div", {
9
9
  className: "flex min-h-[400px] items-center justify-center",
10
10
  children: /* @__PURE__ */ c("div", { className: "h-8 w-8 animate-spin rounded-full border-b-2 border-action-primary-bg" })
11
- }), J = () => /* @__PURE__ */ l("div", {
11
+ }), Y = () => /* @__PURE__ */ l("div", {
12
12
  className: "flex min-h-[400px] flex-col items-center justify-center gap-2 px-6 text-center",
13
13
  children: [/* @__PURE__ */ c("h2", {
14
14
  className: "text-lg font-semibold text-text-primary",
@@ -18,20 +18,20 @@ var d = r(() => import("./pages/catalog/TitlesPage.js").then((e) => ({ default:
18
18
  children: "This feature is currently disabled for this workspace."
19
19
  })]
20
20
  });
21
- function Y(e, t) {
21
+ function X(e, t) {
22
22
  return /* @__PURE__ */ c(u, {
23
23
  flag: e,
24
24
  defaultValue: !0,
25
- fallback: /* @__PURE__ */ c(J, {}),
25
+ fallback: /* @__PURE__ */ c(Y, {}),
26
26
  children: t
27
27
  });
28
28
  }
29
- var X = () => {
30
- let { basePath: r, isStandalone: u } = e(), J = s(), X = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
31
- return X && !u && !(J.pathname === X || J.pathname.startsWith(X + "/")) ? null : /* @__PURE__ */ c("div", {
29
+ var Z = () => {
30
+ let { basePath: r, isStandalone: u } = e(), Y = s(), Z = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
31
+ return Z && !u && !(Y.pathname === Z || Y.pathname.startsWith(Z + "/")) ? null : /* @__PURE__ */ c("div", {
32
32
  className: "flex min-h-full flex-col",
33
33
  children: /* @__PURE__ */ c(n, {
34
- fallback: /* @__PURE__ */ c(q, {}),
34
+ fallback: /* @__PURE__ */ c(J, {}),
35
35
  children: /* @__PURE__ */ l(o, { children: [
36
36
  /* @__PURE__ */ c(a, {
37
37
  index: !0,
@@ -67,123 +67,127 @@ var X = () => {
67
67
  }),
68
68
  /* @__PURE__ */ c(a, {
69
69
  path: "productions/:id",
70
+ element: /* @__PURE__ */ c(y, {})
71
+ }),
72
+ /* @__PURE__ */ c(a, {
73
+ path: "productions/:id/logistics",
70
74
  element: /* @__PURE__ */ c(v, {})
71
75
  }),
72
76
  /* @__PURE__ */ c(a, {
73
77
  path: "auditions",
74
- element: /* @__PURE__ */ c(y, {})
78
+ element: /* @__PURE__ */ c(b, {})
75
79
  }),
76
80
  /* @__PURE__ */ c(a, {
77
81
  path: "auditions/new",
78
- element: /* @__PURE__ */ c(b, {})
82
+ element: /* @__PURE__ */ c(x, {})
79
83
  }),
80
84
  /* @__PURE__ */ c(a, {
81
85
  path: "auditions/:id",
82
- element: /* @__PURE__ */ c(x, {})
86
+ element: /* @__PURE__ */ c(S, {})
83
87
  }),
84
88
  /* @__PURE__ */ c(a, {
85
89
  path: "casting/mine",
86
- element: /* @__PURE__ */ c(S, {})
90
+ element: /* @__PURE__ */ c(C, {})
87
91
  }),
88
92
  /* @__PURE__ */ c(a, {
89
93
  path: "casting/saved-searches",
90
- element: /* @__PURE__ */ c(C, {})
94
+ element: /* @__PURE__ */ c(w, {})
91
95
  }),
92
96
  /* @__PURE__ */ c(a, {
93
97
  path: "casting/guardian-invite",
94
- element: /* @__PURE__ */ c(E, {})
98
+ element: /* @__PURE__ */ c(D, {})
95
99
  }),
96
100
  /* @__PURE__ */ c(a, {
97
101
  path: "engagement/reviews",
98
- element: /* @__PURE__ */ c(D, {})
102
+ element: /* @__PURE__ */ c(O, {})
99
103
  }),
100
104
  /* @__PURE__ */ c(a, {
101
105
  path: "distribution/rights",
102
- element: /* @__PURE__ */ c(O, {})
106
+ element: /* @__PURE__ */ c(k, {})
103
107
  }),
104
108
  /* @__PURE__ */ c(a, {
105
109
  path: "library/lists",
106
- element: /* @__PURE__ */ c(k, {})
110
+ element: /* @__PURE__ */ c(A, {})
107
111
  }),
108
112
  /* @__PURE__ */ c(a, {
109
113
  path: "library/entitlements",
110
- element: /* @__PURE__ */ c(A, {})
114
+ element: /* @__PURE__ */ c(j, {})
111
115
  }),
112
116
  /* @__PURE__ */ c(a, {
113
117
  path: "browse",
114
- element: /* @__PURE__ */ c(j, {})
118
+ element: /* @__PURE__ */ c(M, {})
115
119
  }),
116
120
  /* @__PURE__ */ c(a, {
117
121
  path: "title/:id",
118
- element: /* @__PURE__ */ c(M, {})
122
+ element: /* @__PURE__ */ c(N, {})
119
123
  }),
120
124
  /* @__PURE__ */ c(a, {
121
125
  path: "watch/:titleId",
122
- element: /* @__PURE__ */ c(N, {})
126
+ element: /* @__PURE__ */ c(P, {})
123
127
  }),
124
128
  /* @__PURE__ */ c(a, {
125
129
  path: "watch/:titleId/episode/:episodeId",
126
- element: /* @__PURE__ */ c(N, {})
130
+ element: /* @__PURE__ */ c(P, {})
127
131
  }),
128
132
  /* @__PURE__ */ c(a, {
129
133
  path: "hooks",
130
- element: Y("hookmovies.hooks.enabled", /* @__PURE__ */ c(P, {}))
134
+ element: X("hookmovies.hooks.enabled", /* @__PURE__ */ c(F, {}))
131
135
  }),
132
136
  /* @__PURE__ */ c(a, {
133
137
  path: "profiles",
134
- element: /* @__PURE__ */ c(F, {})
138
+ element: /* @__PURE__ */ c(I, {})
135
139
  }),
136
140
  /* @__PURE__ */ c(a, {
137
141
  path: "watch-party",
138
- element: /* @__PURE__ */ c(I, {})
142
+ element: /* @__PURE__ */ c(L, {})
139
143
  }),
140
144
  /* @__PURE__ */ c(a, {
141
145
  path: "watch-party/:id",
142
- element: /* @__PURE__ */ c(L, {})
146
+ element: /* @__PURE__ */ c(R, {})
143
147
  }),
144
148
  /* @__PURE__ */ c(a, {
145
149
  path: "checkout/:titleId",
146
- element: /* @__PURE__ */ c(R, {})
150
+ element: /* @__PURE__ */ c(z, {})
147
151
  }),
148
152
  /* @__PURE__ */ c(a, {
149
153
  path: "payouts",
150
- element: /* @__PURE__ */ c(z, {})
154
+ element: /* @__PURE__ */ c(B, {})
151
155
  }),
152
156
  /* @__PURE__ */ c(a, {
153
157
  path: "analytics",
154
- element: /* @__PURE__ */ c(B, {})
158
+ element: /* @__PURE__ */ c(V, {})
155
159
  }),
156
160
  /* @__PURE__ */ c(a, {
157
161
  path: "trust/moderation",
158
- element: /* @__PURE__ */ c(V, {})
162
+ element: /* @__PURE__ */ c(H, {})
159
163
  }),
160
164
  /* @__PURE__ */ c(a, {
161
165
  path: "trust/disputes",
162
- element: /* @__PURE__ */ c(w, {})
166
+ element: /* @__PURE__ */ c(T, {})
163
167
  }),
164
168
  /* @__PURE__ */ c(a, {
165
169
  path: "trust/verifications",
166
- element: /* @__PURE__ */ c(T, {})
170
+ element: /* @__PURE__ */ c(E, {})
167
171
  }),
168
172
  /* @__PURE__ */ c(a, {
169
173
  path: "onboarding/languages",
170
- element: /* @__PURE__ */ c(H, {})
174
+ element: /* @__PURE__ */ c(U, {})
171
175
  }),
172
176
  /* @__PURE__ */ c(a, {
173
177
  path: "developer",
174
- element: /* @__PURE__ */ c(U, {})
178
+ element: /* @__PURE__ */ c(W, {})
175
179
  }),
176
180
  /* @__PURE__ */ c(a, {
177
181
  path: "live",
178
- element: Y("hookmovies.fast.enabled", /* @__PURE__ */ c(W, {}))
182
+ element: X("hookmovies.fast.enabled", /* @__PURE__ */ c(G, {}))
179
183
  }),
180
184
  /* @__PURE__ */ c(a, {
181
185
  path: "title/:id/localization",
182
- element: /* @__PURE__ */ c(G, {})
186
+ element: /* @__PURE__ */ c(K, {})
183
187
  }),
184
188
  /* @__PURE__ */ c(a, {
185
189
  path: "concierge",
186
- element: Y("hookmovies.ai.concierge", /* @__PURE__ */ c(K, {}))
190
+ element: X("hookmovies.ai.concierge", /* @__PURE__ */ c(q, {}))
187
191
  }),
188
192
  /* @__PURE__ */ c(a, {
189
193
  path: "*",
@@ -197,6 +201,6 @@ var X = () => {
197
201
  });
198
202
  };
199
203
  //#endregion
200
- export { X as HookMoviesRoutes };
204
+ export { Z as HookMoviesRoutes };
201
205
 
202
206
  //# sourceMappingURL=HookMoviesRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HookMoviesRoutes.js","names":[],"sources":["../../src/hookmovies/HookMoviesRoutes.tsx"],"sourcesContent":["/**\n * HookMovies Routes\n * @module hookmovies\n *\n * Real domain routes for the HookMovies workspace product: catalog (titles,\n * studios, people), production lifecycle, casting auditions, audience\n * engagement (reviews), rights & distribution, and the user library (lists +\n * entitlements). All data comes from the live `hookmovies` subgraph.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode, type ReactElement } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useHookMovies } from './context/HookMoviesContext';\n\n// Eager — primary landing\nimport { HomePage } from './pages/HomePage';\n\n// Catalog\nconst TitlesPage = lazy(() =>\n import('./pages/catalog/TitlesPage').then((m) => ({ default: m.TitlesPage }))\n);\nconst TitleCreatePage = lazy(() =>\n import('./pages/catalog/TitleCreatePage').then((m) => ({ default: m.TitleCreatePage }))\n);\nconst TitleDetailPage = lazy(() =>\n import('./pages/catalog/TitleDetailPage').then((m) => ({ default: m.TitleDetailPage }))\n);\nconst StudiosPage = lazy(() =>\n import('./pages/catalog/StudiosPage').then((m) => ({ default: m.StudiosPage }))\n);\nconst PeoplePage = lazy(() =>\n import('./pages/catalog/PeoplePage').then((m) => ({ default: m.PeoplePage }))\n);\n\n// Productions\nconst ProductionsPage = lazy(() =>\n import('./pages/productions/ProductionsPage').then((m) => ({ default: m.ProductionsPage }))\n);\nconst ProductionCreatePage = lazy(() =>\n import('./pages/productions/ProductionCreatePage').then((m) => ({\n default: m.ProductionCreatePage,\n }))\n);\nconst ProductionDetailPage = lazy(() =>\n import('./pages/productions/ProductionDetailPage').then((m) => ({\n default: m.ProductionDetailPage,\n }))\n);\n\n// Auditions\nconst AuditionsPage = lazy(() =>\n import('./pages/auditions/AuditionsPage').then((m) => ({ default: m.AuditionsPage }))\n);\nconst AuditionCreatePage = lazy(() =>\n import('./pages/auditions/AuditionCreatePage').then((m) => ({ default: m.AuditionCreatePage }))\n);\nconst AuditionDetailPage = lazy(() =>\n import('./pages/auditions/AuditionDetailPage').then((m) => ({ default: m.AuditionDetailPage }))\n);\n\n// Casting trust layer (BOFF-4245)\nconst MyCastingPage = lazy(() =>\n import('./pages/casting/MyCastingPage').then((m) => ({ default: m.MyCastingPage }))\n);\nconst SavedSearchesPage = lazy(() =>\n import('./pages/casting/SavedSearchesPage').then((m) => ({ default: m.SavedSearchesPage }))\n);\nconst DisputesPage = lazy(() =>\n import('./pages/trust/DisputesPage').then((m) => ({ default: m.DisputesPage }))\n);\nconst VerificationsPage = lazy(() =>\n import('./pages/trust/VerificationsPage').then((m) => ({ default: m.VerificationsPage }))\n);\nconst GuardianInvitePage = lazy(() =>\n import('./pages/casting/GuardianInvitePage').then((m) => ({ default: m.GuardianInvitePage }))\n);\n\n// Engagement\nconst ReviewsPage = lazy(() =>\n import('./pages/engagement/ReviewsPage').then((m) => ({ default: m.ReviewsPage }))\n);\n\n// Distribution\nconst RightsWindowsPage = lazy(() =>\n import('./pages/distribution/RightsWindowsPage').then((m) => ({ default: m.RightsWindowsPage }))\n);\n\n// Library\nconst ListsPage = lazy(() =>\n import('./pages/library/ListsPage').then((m) => ({ default: m.ListsPage }))\n);\nconst EntitlementsPage = lazy(() =>\n import('./pages/library/EntitlementsPage').then((m) => ({ default: m.EntitlementsPage }))\n);\n\n// Consumer (audience-facing) — discovery, title view, playback, hooks feed\nconst DiscoveryPage = lazy(() =>\n import('./pages/consumer/DiscoveryPage').then((m) => ({ default: m.DiscoveryPage }))\n);\nconst TitleViewPage = lazy(() =>\n import('./pages/consumer/TitleViewPage').then((m) => ({ default: m.TitleViewPage }))\n);\nconst PlayerPage = lazy(() =>\n import('./pages/consumer/PlayerPage').then((m) => ({ default: m.PlayerPage }))\n);\nconst HooksPage = lazy(() =>\n import('./pages/consumer/HooksPage').then((m) => ({ default: m.HooksPage }))\n);\n\n// Social — viewing profiles & synchronized watch parties\nconst ProfilesPage = lazy(() =>\n import('./pages/social/ProfilesPage').then((m) => ({ default: m.ProfilesPage }))\n);\nconst WatchPartyListPage = lazy(() =>\n import('./pages/social/WatchPartyListPage').then((m) => ({ default: m.WatchPartyListPage }))\n);\nconst WatchPartyRoomPage = lazy(() =>\n import('./pages/social/WatchPartyRoomPage').then((m) => ({ default: m.WatchPartyRoomPage }))\n);\n\n// Commerce — checkout (TVOD purchase / rental) & creator payouts\nconst CheckoutPage = lazy(() =>\n import('./pages/commerce/CheckoutPage').then((m) => ({ default: m.CheckoutPage }))\n);\nconst PayoutsPage = lazy(() =>\n import('./pages/analytics/PayoutsPage').then((m) => ({ default: m.PayoutsPage }))\n);\n\n// Analytics — creator / operator performance dashboards\nconst AnalyticsPage = lazy(() =>\n import('./pages/analytics/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\n\n// Trust & safety — moderation queue\nconst ModerationPage = lazy(() =>\n import('./pages/trust/ModerationPage').then((m) => ({ default: m.ModerationPage }))\n);\n\n// Onboarding — language / content preferences\nconst OnboardingPage = lazy(() =>\n import('./pages/onboarding/OnboardingPage').then((m) => ({ default: m.OnboardingPage }))\n);\n\n// Developer portal — API keys\nconst DevPortalPage = lazy(() =>\n import('./pages/developer/DevPortalPage').then((m) => ({ default: m.DevPortalPage }))\n);\n\n// Live — FAST linear channels & schedules\nconst LivePage = lazy(() => import('./pages/live/LivePage').then((m) => ({ default: m.LivePage })));\n\n// Localization — per-title subtitle / caption / dub track management\nconst LocalizationPage = lazy(() =>\n import('./pages/localization/LocalizationPage').then((m) => ({ default: m.LocalizationPage }))\n);\n\n// AI — concierge / recommendations assistant\nconst ConciergePage = lazy(() =>\n import('./pages/ai/ConciergePage').then((m) => ({ default: m.ConciergePage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-b-2 border-action-primary-bg\" />\n </div>\n);\n\nconst FeatureDisabledFallback: FC = () => (\n <div className=\"flex min-h-[400px] flex-col items-center justify-center gap-2 px-6 text-center\">\n <h2 className=\"text-lg font-semibold text-text-primary\">Coming soon</h2>\n <p className=\"max-w-sm text-sm text-text-secondary\">\n This feature is currently disabled for this workspace.\n </p>\n </div>\n);\n\n/**\n * Wrap a route element in a `FeatureGate` with the shared \"coming soon\"\n * fallback. `defaultValue={true}` keeps already-shipped screens visible\n * before their flag is seeded — seeding must never hide a working feature.\n */\nfunction gated(flag: string, element: ReactNode): ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const HookMoviesRoutes: FC = () => {\n const { basePath, isStandalone } = useHookMovies();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Overview / dashboard */}\n <Route index element={<HomePage />} />\n\n {/* Catalog */}\n <Route path=\"catalog/titles\" element={<TitlesPage />} />\n <Route path=\"catalog/titles/new\" element={<TitleCreatePage />} />\n <Route path=\"catalog/titles/:id\" element={<TitleDetailPage />} />\n <Route path=\"catalog/studios\" element={<StudiosPage />} />\n <Route path=\"catalog/people\" element={<PeoplePage />} />\n\n {/* Productions */}\n <Route path=\"productions\" element={<ProductionsPage />} />\n <Route path=\"productions/new\" element={<ProductionCreatePage />} />\n <Route path=\"productions/:id\" element={<ProductionDetailPage />} />\n\n {/* Auditions */}\n <Route path=\"auditions\" element={<AuditionsPage />} />\n <Route path=\"auditions/new\" element={<AuditionCreatePage />} />\n <Route path=\"auditions/:id\" element={<AuditionDetailPage />} />\n <Route path=\"casting/mine\" element={<MyCastingPage />} />\n <Route path=\"casting/saved-searches\" element={<SavedSearchesPage />} />\n <Route path=\"casting/guardian-invite\" element={<GuardianInvitePage />} />\n\n {/* Engagement */}\n <Route path=\"engagement/reviews\" element={<ReviewsPage />} />\n\n {/* Distribution */}\n <Route path=\"distribution/rights\" element={<RightsWindowsPage />} />\n\n {/* Library */}\n <Route path=\"library/lists\" element={<ListsPage />} />\n <Route path=\"library/entitlements\" element={<EntitlementsPage />} />\n\n {/* Consumer (audience-facing) */}\n <Route path=\"browse\" element={<DiscoveryPage />} />\n <Route path=\"title/:id\" element={<TitleViewPage />} />\n <Route path=\"watch/:titleId\" element={<PlayerPage />} />\n <Route path=\"watch/:titleId/episode/:episodeId\" element={<PlayerPage />} />\n <Route path=\"hooks\" element={gated('hookmovies.hooks.enabled', <HooksPage />)} />\n\n {/* Social — profiles & watch parties */}\n <Route path=\"profiles\" element={<ProfilesPage />} />\n <Route path=\"watch-party\" element={<WatchPartyListPage />} />\n <Route path=\"watch-party/:id\" element={<WatchPartyRoomPage />} />\n\n {/* Commerce — checkout & payouts */}\n <Route path=\"checkout/:titleId\" element={<CheckoutPage />} />\n <Route path=\"payouts\" element={<PayoutsPage />} />\n\n {/* Analytics */}\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n\n {/* Trust & safety */}\n <Route path=\"trust/moderation\" element={<ModerationPage />} />\n <Route path=\"trust/disputes\" element={<DisputesPage />} />\n <Route path=\"trust/verifications\" element={<VerificationsPage />} />\n\n {/* Onboarding */}\n <Route path=\"onboarding/languages\" element={<OnboardingPage />} />\n\n {/* Developer portal */}\n <Route path=\"developer\" element={<DevPortalPage />} />\n\n {/* Live — FAST channels */}\n <Route path=\"live\" element={gated('hookmovies.fast.enabled', <LivePage />)} />\n\n {/* Localization */}\n <Route path=\"title/:id/localization\" element={<LocalizationPage />} />\n\n {/* AI concierge */}\n <Route path=\"concierge\" element={gated('hookmovies.ai.concierge', <ConciergePage />)} />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"HookMoviesRoutes.js","names":[],"sources":["../../src/hookmovies/HookMoviesRoutes.tsx"],"sourcesContent":["/**\n * HookMovies Routes\n * @module hookmovies\n *\n * Real domain routes for the HookMovies workspace product: catalog (titles,\n * studios, people), production lifecycle, casting auditions, audience\n * engagement (reviews), rights & distribution, and the user library (lists +\n * entitlements). All data comes from the live `hookmovies` subgraph.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode, type ReactElement } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useHookMovies } from './context/HookMoviesContext';\n\n// Eager — primary landing\nimport { HomePage } from './pages/HomePage';\n\n// Catalog\nconst TitlesPage = lazy(() =>\n import('./pages/catalog/TitlesPage').then((m) => ({ default: m.TitlesPage }))\n);\nconst TitleCreatePage = lazy(() =>\n import('./pages/catalog/TitleCreatePage').then((m) => ({ default: m.TitleCreatePage }))\n);\nconst TitleDetailPage = lazy(() =>\n import('./pages/catalog/TitleDetailPage').then((m) => ({ default: m.TitleDetailPage }))\n);\nconst StudiosPage = lazy(() =>\n import('./pages/catalog/StudiosPage').then((m) => ({ default: m.StudiosPage }))\n);\nconst PeoplePage = lazy(() =>\n import('./pages/catalog/PeoplePage').then((m) => ({ default: m.PeoplePage }))\n);\n\n// Productions\nconst ProductionsPage = lazy(() =>\n import('./pages/productions/ProductionsPage').then((m) => ({ default: m.ProductionsPage }))\n);\nconst ProductionCreatePage = lazy(() =>\n import('./pages/productions/ProductionCreatePage').then((m) => ({\n default: m.ProductionCreatePage,\n }))\n);\nconst ProductionLogisticsPage = lazy(() =>\n import('./pages/productions/ProductionLogisticsPage').then((m) => ({\n default: m.ProductionLogisticsPage,\n }))\n);\nconst ProductionDetailPage = lazy(() =>\n import('./pages/productions/ProductionDetailPage').then((m) => ({\n default: m.ProductionDetailPage,\n }))\n);\n\n// Auditions\nconst AuditionsPage = lazy(() =>\n import('./pages/auditions/AuditionsPage').then((m) => ({ default: m.AuditionsPage }))\n);\nconst AuditionCreatePage = lazy(() =>\n import('./pages/auditions/AuditionCreatePage').then((m) => ({ default: m.AuditionCreatePage }))\n);\nconst AuditionDetailPage = lazy(() =>\n import('./pages/auditions/AuditionDetailPage').then((m) => ({ default: m.AuditionDetailPage }))\n);\n\n// Casting trust layer (BOFF-4245)\nconst MyCastingPage = lazy(() =>\n import('./pages/casting/MyCastingPage').then((m) => ({ default: m.MyCastingPage }))\n);\nconst SavedSearchesPage = lazy(() =>\n import('./pages/casting/SavedSearchesPage').then((m) => ({ default: m.SavedSearchesPage }))\n);\nconst DisputesPage = lazy(() =>\n import('./pages/trust/DisputesPage').then((m) => ({ default: m.DisputesPage }))\n);\nconst VerificationsPage = lazy(() =>\n import('./pages/trust/VerificationsPage').then((m) => ({ default: m.VerificationsPage }))\n);\nconst GuardianInvitePage = lazy(() =>\n import('./pages/casting/GuardianInvitePage').then((m) => ({ default: m.GuardianInvitePage }))\n);\n\n// Engagement\nconst ReviewsPage = lazy(() =>\n import('./pages/engagement/ReviewsPage').then((m) => ({ default: m.ReviewsPage }))\n);\n\n// Distribution\nconst RightsWindowsPage = lazy(() =>\n import('./pages/distribution/RightsWindowsPage').then((m) => ({ default: m.RightsWindowsPage }))\n);\n\n// Library\nconst ListsPage = lazy(() =>\n import('./pages/library/ListsPage').then((m) => ({ default: m.ListsPage }))\n);\nconst EntitlementsPage = lazy(() =>\n import('./pages/library/EntitlementsPage').then((m) => ({ default: m.EntitlementsPage }))\n);\n\n// Consumer (audience-facing) — discovery, title view, playback, hooks feed\nconst DiscoveryPage = lazy(() =>\n import('./pages/consumer/DiscoveryPage').then((m) => ({ default: m.DiscoveryPage }))\n);\nconst TitleViewPage = lazy(() =>\n import('./pages/consumer/TitleViewPage').then((m) => ({ default: m.TitleViewPage }))\n);\nconst PlayerPage = lazy(() =>\n import('./pages/consumer/PlayerPage').then((m) => ({ default: m.PlayerPage }))\n);\nconst HooksPage = lazy(() =>\n import('./pages/consumer/HooksPage').then((m) => ({ default: m.HooksPage }))\n);\n\n// Social — viewing profiles & synchronized watch parties\nconst ProfilesPage = lazy(() =>\n import('./pages/social/ProfilesPage').then((m) => ({ default: m.ProfilesPage }))\n);\nconst WatchPartyListPage = lazy(() =>\n import('./pages/social/WatchPartyListPage').then((m) => ({ default: m.WatchPartyListPage }))\n);\nconst WatchPartyRoomPage = lazy(() =>\n import('./pages/social/WatchPartyRoomPage').then((m) => ({ default: m.WatchPartyRoomPage }))\n);\n\n// Commerce — checkout (TVOD purchase / rental) & creator payouts\nconst CheckoutPage = lazy(() =>\n import('./pages/commerce/CheckoutPage').then((m) => ({ default: m.CheckoutPage }))\n);\nconst PayoutsPage = lazy(() =>\n import('./pages/analytics/PayoutsPage').then((m) => ({ default: m.PayoutsPage }))\n);\n\n// Analytics — creator / operator performance dashboards\nconst AnalyticsPage = lazy(() =>\n import('./pages/analytics/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\n\n// Trust & safety — moderation queue\nconst ModerationPage = lazy(() =>\n import('./pages/trust/ModerationPage').then((m) => ({ default: m.ModerationPage }))\n);\n\n// Onboarding — language / content preferences\nconst OnboardingPage = lazy(() =>\n import('./pages/onboarding/OnboardingPage').then((m) => ({ default: m.OnboardingPage }))\n);\n\n// Developer portal — API keys\nconst DevPortalPage = lazy(() =>\n import('./pages/developer/DevPortalPage').then((m) => ({ default: m.DevPortalPage }))\n);\n\n// Live — FAST linear channels & schedules\nconst LivePage = lazy(() => import('./pages/live/LivePage').then((m) => ({ default: m.LivePage })));\n\n// Localization — per-title subtitle / caption / dub track management\nconst LocalizationPage = lazy(() =>\n import('./pages/localization/LocalizationPage').then((m) => ({ default: m.LocalizationPage }))\n);\n\n// AI — concierge / recommendations assistant\nconst ConciergePage = lazy(() =>\n import('./pages/ai/ConciergePage').then((m) => ({ default: m.ConciergePage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-b-2 border-action-primary-bg\" />\n </div>\n);\n\nconst FeatureDisabledFallback: FC = () => (\n <div className=\"flex min-h-[400px] flex-col items-center justify-center gap-2 px-6 text-center\">\n <h2 className=\"text-lg font-semibold text-text-primary\">Coming soon</h2>\n <p className=\"max-w-sm text-sm text-text-secondary\">\n This feature is currently disabled for this workspace.\n </p>\n </div>\n);\n\n/**\n * Wrap a route element in a `FeatureGate` with the shared \"coming soon\"\n * fallback. `defaultValue={true}` keeps already-shipped screens visible\n * before their flag is seeded — seeding must never hide a working feature.\n */\nfunction gated(flag: string, element: ReactNode): ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const HookMoviesRoutes: FC = () => {\n const { basePath, isStandalone } = useHookMovies();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Overview / dashboard */}\n <Route index element={<HomePage />} />\n\n {/* Catalog */}\n <Route path=\"catalog/titles\" element={<TitlesPage />} />\n <Route path=\"catalog/titles/new\" element={<TitleCreatePage />} />\n <Route path=\"catalog/titles/:id\" element={<TitleDetailPage />} />\n <Route path=\"catalog/studios\" element={<StudiosPage />} />\n <Route path=\"catalog/people\" element={<PeoplePage />} />\n\n {/* Productions */}\n <Route path=\"productions\" element={<ProductionsPage />} />\n <Route path=\"productions/new\" element={<ProductionCreatePage />} />\n <Route path=\"productions/:id\" element={<ProductionDetailPage />} />\n <Route path=\"productions/:id/logistics\" element={<ProductionLogisticsPage />} />\n\n {/* Auditions */}\n <Route path=\"auditions\" element={<AuditionsPage />} />\n <Route path=\"auditions/new\" element={<AuditionCreatePage />} />\n <Route path=\"auditions/:id\" element={<AuditionDetailPage />} />\n <Route path=\"casting/mine\" element={<MyCastingPage />} />\n <Route path=\"casting/saved-searches\" element={<SavedSearchesPage />} />\n <Route path=\"casting/guardian-invite\" element={<GuardianInvitePage />} />\n\n {/* Engagement */}\n <Route path=\"engagement/reviews\" element={<ReviewsPage />} />\n\n {/* Distribution */}\n <Route path=\"distribution/rights\" element={<RightsWindowsPage />} />\n\n {/* Library */}\n <Route path=\"library/lists\" element={<ListsPage />} />\n <Route path=\"library/entitlements\" element={<EntitlementsPage />} />\n\n {/* Consumer (audience-facing) */}\n <Route path=\"browse\" element={<DiscoveryPage />} />\n <Route path=\"title/:id\" element={<TitleViewPage />} />\n <Route path=\"watch/:titleId\" element={<PlayerPage />} />\n <Route path=\"watch/:titleId/episode/:episodeId\" element={<PlayerPage />} />\n <Route path=\"hooks\" element={gated('hookmovies.hooks.enabled', <HooksPage />)} />\n\n {/* Social — profiles & watch parties */}\n <Route path=\"profiles\" element={<ProfilesPage />} />\n <Route path=\"watch-party\" element={<WatchPartyListPage />} />\n <Route path=\"watch-party/:id\" element={<WatchPartyRoomPage />} />\n\n {/* Commerce — checkout & payouts */}\n <Route path=\"checkout/:titleId\" element={<CheckoutPage />} />\n <Route path=\"payouts\" element={<PayoutsPage />} />\n\n {/* Analytics */}\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n\n {/* Trust & safety */}\n <Route path=\"trust/moderation\" element={<ModerationPage />} />\n <Route path=\"trust/disputes\" element={<DisputesPage />} />\n <Route path=\"trust/verifications\" element={<VerificationsPage />} />\n\n {/* Onboarding */}\n <Route path=\"onboarding/languages\" element={<OnboardingPage />} />\n\n {/* Developer portal */}\n <Route path=\"developer\" element={<DevPortalPage />} />\n\n {/* Live — FAST channels */}\n <Route path=\"live\" element={gated('hookmovies.fast.enabled', <LivePage />)} />\n\n {/* Localization */}\n <Route path=\"title/:id/localization\" element={<LocalizationPage />} />\n\n {/* AI concierge */}\n <Route path=\"concierge\" element={gated('hookmovies.ai.concierge', <ConciergePage />)} />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { cn as t } from "../utils/cn.js";
3
- import { parseListItems as n, useCreateList as r, useMyLists as i, useUpdateList as a } from "../hooks/useHookMoviesApi.js";
2
+ import { parseListItems as t, useCreateList as n, useMyLists as r, useUpdateList as i } from "../hooks/useHookMoviesApi.js";
3
+ import { cn as a } from "../utils/cn.js";
4
4
  import { ErrorState as o, LoadingState as s } from "./StateViews.js";
5
5
  import { useEffect as c, useState as l } from "react";
6
6
  import { Bookmark as u, Check as d, ListPlus as f, ListVideo as p, Loader2 as m, Plus as h, X as g } from "lucide-react";
@@ -13,7 +13,7 @@ var b = {
13
13
  WATCHLIST: u,
14
14
  PLAYLIST: p
15
15
  }, C = (e) => e.charAt(0) + e.slice(1).toLowerCase().replace(/_/g, " "), w = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]", T = "mb-1.5 block text-xs font-medium text-text-secondary", E = ({ titleId: u, titleName: p, variant: E = "cta", className: D }) => {
16
- let O = e(), [k, A] = l(!1), [j, M] = l(!1), [N, P] = l(null), [F, I] = l(null), [L, R] = l(""), [z, B] = l("WATCHLIST"), V = i(void 0, b), H = a(), U = r(), W = V.data?.items ?? [], G = W.filter((e) => n(e.items).some((e) => e.titleId === u)).length > 0;
16
+ let O = e(), [k, A] = l(!1), [j, M] = l(!1), [N, P] = l(null), [F, I] = l(null), [L, R] = l(""), [z, B] = l("WATCHLIST"), V = r(void 0, b), H = i(), U = n(), W = V.data?.items ?? [], G = W.filter((e) => t(e.items).some((e) => e.titleId === u)).length > 0;
17
17
  c(() => {
18
18
  if (!k) return;
19
19
  let e = (e) => {
@@ -25,7 +25,7 @@ var b = {
25
25
  A(!1), M(!1), I(null);
26
26
  }, q = async (e) => {
27
27
  I(null), P(e.id);
28
- let t = n(e.items), r = t.some((e) => e.titleId === u) ? t.filter((e) => e.titleId !== u) : [...t, {
28
+ let n = t(e.items), r = n.some((e) => e.titleId === u) ? n.filter((e) => e.titleId !== u) : [...n, {
29
29
  titleId: u,
30
30
  note: null
31
31
  }];
@@ -63,13 +63,13 @@ var b = {
63
63
  onClick: () => A(!0),
64
64
  "aria-label": `${X}${Y ? ` —${Y}` : ""}`,
65
65
  title: X,
66
- className: t("inline-flex size-8 items-center justify-center rounded-lg border border-border-seam", "bg-bg-overlay/80 text-text-secondary backdrop-blur-sm transition-colors", "hover:border-border-strong hover:text-text-primary", "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", G && "text-status-success-text", D),
66
+ className: a("inline-flex size-8 items-center justify-center rounded-lg border border-border-seam", "bg-bg-overlay/80 text-text-secondary backdrop-blur-sm transition-colors", "hover:border-border-strong hover:text-text-primary", "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", G && "text-status-success-text", D),
67
67
  children: v(G ? d : f, { className: "h-4 w-4" })
68
68
  }) : /* @__PURE__ */ y("button", {
69
69
  type: "button",
70
70
  onClick: () => A(!0),
71
71
  "aria-label": `${X}${Y ? ` —${Y}` : ""}`,
72
- className: t("inline-flex items-center gap-2 rounded-xl border border-border-seam bg-bg-surface/60", "px-5 py-2.5 text-sm font-semibold text-text-primary backdrop-blur transition-colors", "hover:bg-bg-surface focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", D),
72
+ className: a("inline-flex items-center gap-2 rounded-xl border border-border-seam bg-bg-surface/60", "px-5 py-2.5 text-sm font-semibold text-text-primary backdrop-blur transition-colors", "hover:bg-bg-surface focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", D),
73
73
  children: [G ? /* @__PURE__ */ v(d, { className: "h-5 w-5 text-status-success-text" }) : /* @__PURE__ */ v(h, { className: "h-5 w-5" }), X]
74
74
  }), k && /* @__PURE__ */ v("div", {
75
75
  className: "fixed inset-0 z-50 flex items-center justify-center bg-bg-canvas/90 p-4 backdrop-blur-sm",
@@ -119,15 +119,15 @@ var b = {
119
119
  }) : /* @__PURE__ */ v("ul", {
120
120
  className: "-mx-1 max-h-[45vh] space-y-1 overflow-y-auto px-1",
121
121
  children: W.map((e) => {
122
- let r = S[e.kind], i = n(e.items).some((e) => e.titleId === u), a = N === e.id;
122
+ let n = S[e.kind], r = t(e.items).some((e) => e.titleId === u), i = N === e.id;
123
123
  return /* @__PURE__ */ v("li", { children: /* @__PURE__ */ y("button", {
124
124
  type: "button",
125
125
  onClick: () => void q(e),
126
- disabled: a,
127
- "aria-pressed": i,
128
- className: t("flex w-full items-center gap-3 rounded-lg border px-3 py-2 text-left transition-colors", "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", "disabled:opacity-60", i ? "border-status-success-border bg-status-success-bg-subtle" : "border-border-subtle hover:border-border-strong hover:bg-bg-sunken"),
126
+ disabled: i,
127
+ "aria-pressed": r,
128
+ className: a("flex w-full items-center gap-3 rounded-lg border px-3 py-2 text-left transition-colors", "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", "disabled:opacity-60", r ? "border-status-success-border bg-status-success-bg-subtle" : "border-border-subtle hover:border-border-strong hover:bg-bg-sunken"),
129
129
  children: [
130
- /* @__PURE__ */ v(r, { className: "h-4 w-4 shrink-0 text-text-secondary" }),
130
+ /* @__PURE__ */ v(n, { className: "h-4 w-4 shrink-0 text-text-secondary" }),
131
131
  /* @__PURE__ */ y("span", {
132
132
  className: "min-w-0 flex-1",
133
133
  children: [/* @__PURE__ */ v("span", {
@@ -144,7 +144,7 @@ var b = {
144
144
  ]
145
145
  })]
146
146
  }),
147
- a ? /* @__PURE__ */ v(m, { className: "h-4 w-4 shrink-0 animate-spin text-text-secondary" }) : i ? /* @__PURE__ */ v(d, { className: "h-4 w-4 shrink-0 text-status-success-text" }) : /* @__PURE__ */ v(h, { className: "h-4 w-4 shrink-0 text-text-secondary" })
147
+ i ? /* @__PURE__ */ v(m, { className: "h-4 w-4 shrink-0 animate-spin text-text-secondary" }) : r ? /* @__PURE__ */ v(d, { className: "h-4 w-4 shrink-0 text-status-success-text" }) : /* @__PURE__ */ v(h, { className: "h-4 w-4 shrink-0 text-text-secondary" })
148
148
  ]
149
149
  }) }, e.id);
150
150
  })
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const GettingStartedChecklist: FC;
4
+ //# sourceMappingURL=GettingStartedChecklist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GettingStartedChecklist.d.ts","sourceRoot":"","sources":["../../../src/hookmovies/components/GettingStartedChecklist.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA+B,MAAM,OAAO,CAAC;AA2F7D,eAAO,MAAM,uBAAuB,EAAE,EA0MrC,CAAC"}
@@ -0,0 +1,212 @@
1
+ import { useHookMovies as e } from "../context/HookMoviesContext.js";
2
+ import { useTr as t } from "../../shared/hooks/useTr.js";
3
+ import { useHookMoviesActivation as n } from "../events/activation.js";
4
+ import { useLoadDemoData as r, useOnboardingStatus as i, useRemoveDemoData as a } from "../hooks/useHookMoviesApi.js";
5
+ import { cn as o } from "../utils/cn.js";
6
+ import { useEffect as s, useRef as c, useState as l } from "react";
7
+ import { ArrowRight as u, CheckCircle2 as d, Circle as f, Loader2 as p, Sparkles as m, Trash2 as h, X as g } from "lucide-react";
8
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
9
+ import { GlassCard as y } from "@burdenoff/fe-libs/ui";
10
+ //#region src/hookmovies/components/GettingStartedChecklist.tsx
11
+ var b = {
12
+ SET_PREFERENCES: {
13
+ label: ["hookmovies.onboarding.steps.preferences.label", "Set your viewing preferences"],
14
+ description: ["hookmovies.onboarding.steps.preferences.description", "Pick your languages and content types so discovery shows what you want to watch."],
15
+ action: ["hookmovies.onboarding.steps.preferences.action", "Set preferences"],
16
+ path: "onboarding/languages"
17
+ },
18
+ CREATE_TITLE: {
19
+ label: ["hookmovies.onboarding.steps.createTitle.label", "Add your first title"],
20
+ description: ["hookmovies.onboarding.steps.createTitle.description", "Create a movie, series or short in the catalog with its synopsis, genres and artwork."],
21
+ action: ["hookmovies.onboarding.steps.createTitle.action", "New title"],
22
+ path: "catalog/titles/new"
23
+ },
24
+ PUBLISH_TITLE: {
25
+ label: ["hookmovies.onboarding.steps.publishTitle.label", "Publish a title"],
26
+ description: ["hookmovies.onboarding.steps.publishTitle.description", "Move a title through review to Published so viewers can find it in Browse."],
27
+ action: ["hookmovies.onboarding.steps.publishTitle.action", "Open catalog"],
28
+ path: "catalog/titles"
29
+ },
30
+ START_PRODUCTION: {
31
+ label: ["hookmovies.onboarding.steps.startProduction.label", "Start a production"],
32
+ description: ["hookmovies.onboarding.steps.startProduction.description", "Track a project from development to release with its budget and schedule."],
33
+ action: ["hookmovies.onboarding.steps.startProduction.action", "New production"],
34
+ path: "productions/new"
35
+ },
36
+ OPEN_AUDITION: {
37
+ label: ["hookmovies.onboarding.steps.openAudition.label", "Open an audition"],
38
+ description: ["hookmovies.onboarding.steps.openAudition.description", "Post a role for one of your productions so talent can apply with a self-tape."],
39
+ action: ["hookmovies.onboarding.steps.openAudition.action", "Post a role"],
40
+ path: "auditions/new"
41
+ }
42
+ }, x = (e, t) => `hookmovies:gettingStarted:hidden:${e ?? "default"}:${t ?? "anonymous"}`, S = (e) => `hookmovies:gettingStarted:completedTracked:${e ?? "default"}`;
43
+ function C(e) {
44
+ try {
45
+ return window.localStorage.getItem(e) === "1";
46
+ } catch {
47
+ return !1;
48
+ }
49
+ }
50
+ function w(e) {
51
+ try {
52
+ window.localStorage.setItem(e, "1");
53
+ } catch {}
54
+ }
55
+ var T = () => {
56
+ let T = t(), { navigateTo: E, workspaceId: D, currentUser: O } = e(), k = n(), A = i(), j = r(), M = a(), N = x(D, O?.id), [P, F] = l(() => C(N));
57
+ s(() => F(C(N)), [N]);
58
+ let I = A.data, L = !!(I && I.totalSteps > 0 && I.completedSteps === I.totalSteps), R = c(!1);
59
+ if (s(() => {
60
+ if (!L || R.current) return;
61
+ R.current = !0;
62
+ let e = S(D);
63
+ C(e) || (w(e), k("hookmovies.onboarding.checklist_completed"));
64
+ }, [
65
+ L,
66
+ D,
67
+ k
68
+ ]), P || A.isError || !I) return null;
69
+ let z = () => {
70
+ w(N), F(!0);
71
+ }, B = I.totalSteps > 0 ? Math.round(I.completedSteps / I.totalSteps * 100) : 0, V = j.isPending || M.isPending, H = j.error ?? M.error;
72
+ return /* @__PURE__ */ _(y, {
73
+ treatment: "glass",
74
+ className: "mb-6 border-border-seam p-5",
75
+ children: /* @__PURE__ */ v("section", {
76
+ "data-tour": "hookmovies-onboarding-checklist",
77
+ "aria-labelledby": "hookmovies-getting-started-title",
78
+ children: [
79
+ /* @__PURE__ */ v("div", {
80
+ className: "flex items-start justify-between gap-3",
81
+ children: [/* @__PURE__ */ v("div", {
82
+ className: "min-w-0",
83
+ children: [/* @__PURE__ */ _("h2", {
84
+ id: "hookmovies-getting-started-title",
85
+ className: "text-lg font-semibold text-text-primary",
86
+ children: L ? T("hookmovies.onboarding.doneTitle", "You're all set up") : T("hookmovies.onboarding.title", "Get started with HookMovies")
87
+ }), /* @__PURE__ */ _("p", {
88
+ className: "mt-1 text-sm text-text-secondary",
89
+ children: L ? T("hookmovies.onboarding.doneDescription", "Every getting-started step is done. You can hide this checklist now.") : T("hookmovies.onboarding.description", "{{done}} of {{total}} steps done. Each step opens the page where you do it.", {
90
+ done: I.completedSteps,
91
+ total: I.totalSteps
92
+ })
93
+ })]
94
+ }), /* @__PURE__ */ _("button", {
95
+ type: "button",
96
+ onClick: z,
97
+ "aria-label": T("hookmovies.onboarding.hide", "Hide getting-started checklist"),
98
+ className: "shrink-0 rounded-lg p-1.5 text-text-muted transition-colors hover:bg-bg-sunken hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
99
+ children: /* @__PURE__ */ _(g, { className: "h-4 w-4" })
100
+ })]
101
+ }),
102
+ /* @__PURE__ */ _("div", {
103
+ className: "mt-4 h-1.5 w-full overflow-hidden rounded-full bg-bg-sunken",
104
+ role: "progressbar",
105
+ "aria-valuemin": 0,
106
+ "aria-valuemax": 100,
107
+ "aria-valuenow": B,
108
+ "aria-label": T("hookmovies.onboarding.progress", "Getting-started progress"),
109
+ children: /* @__PURE__ */ _("div", {
110
+ className: "h-full rounded-full bg-action-primary-bg transition-[width] duration-300",
111
+ style: { width: `${B}%` }
112
+ })
113
+ }),
114
+ /* @__PURE__ */ _("ol", {
115
+ className: "mt-4 divide-y divide-border-seam",
116
+ children: I.steps.map((e) => {
117
+ let t = b[e.key];
118
+ return /* @__PURE__ */ v("li", {
119
+ "data-step": e.key,
120
+ "data-completed": e.completed ? "true" : "false",
121
+ className: "flex items-center gap-3 py-3",
122
+ children: [
123
+ e.completed ? /* @__PURE__ */ _(d, {
124
+ className: "h-5 w-5 shrink-0 text-status-success",
125
+ "aria-hidden": "true"
126
+ }) : /* @__PURE__ */ _(f, {
127
+ className: "h-5 w-5 shrink-0 text-text-muted",
128
+ "aria-hidden": "true"
129
+ }),
130
+ /* @__PURE__ */ v("div", {
131
+ className: "min-w-0 flex-1",
132
+ children: [/* @__PURE__ */ v("p", {
133
+ className: o("text-sm font-medium", e.completed ? "text-text-secondary line-through" : "text-text-primary"),
134
+ children: [T(...t.label), /* @__PURE__ */ _("span", {
135
+ className: "sr-only",
136
+ children: e.completed ? T("hookmovies.onboarding.stepDone", " (done)") : T("hookmovies.onboarding.stepTodo", " (to do)")
137
+ })]
138
+ }), /* @__PURE__ */ _("p", {
139
+ className: "mt-0.5 text-xs text-text-secondary",
140
+ children: T(...t.description)
141
+ })]
142
+ }),
143
+ !e.completed && /* @__PURE__ */ v("button", {
144
+ type: "button",
145
+ onClick: () => E(t.path),
146
+ className: "inline-flex shrink-0 items-center gap-1 rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary transition-colors hover:border-border-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
147
+ children: [T(...t.action), /* @__PURE__ */ _(u, {
148
+ className: "h-3.5 w-3.5",
149
+ "aria-hidden": "true"
150
+ })]
151
+ })
152
+ ]
153
+ }, e.key);
154
+ })
155
+ }),
156
+ /* @__PURE__ */ v("div", {
157
+ "data-tour": "hookmovies-onboarding-sample-data",
158
+ className: "mt-4 flex flex-col gap-3 rounded-xl border border-border-seam bg-bg-sunken p-4 sm:flex-row sm:items-center sm:justify-between",
159
+ children: [/* @__PURE__ */ v("div", {
160
+ className: "min-w-0",
161
+ children: [
162
+ /* @__PURE__ */ v("p", {
163
+ className: "flex items-center gap-2 text-sm font-medium text-text-primary",
164
+ children: [/* @__PURE__ */ _(m, {
165
+ className: "h-4 w-4 text-action-primary-bg",
166
+ "aria-hidden": "true"
167
+ }), I.demoDataLoaded ? T("hookmovies.onboarding.sample.loadedTitle", "Sample data is loaded") : T("hookmovies.onboarding.sample.title", "Explore with sample data")]
168
+ }),
169
+ /* @__PURE__ */ _("p", {
170
+ className: "mt-1 text-xs text-text-secondary",
171
+ children: I.demoDataLoaded ? T("hookmovies.onboarding.sample.loadedDescription", "Items marked (Sample) are examples. They never count towards this checklist, and removing them leaves your own work untouched.") : T("hookmovies.onboarding.sample.description", "Adds a sample studio, cast, a published film, a draft series, a production and an open audition so you can try every module first.")
172
+ }),
173
+ H && /* @__PURE__ */ _("p", {
174
+ role: "alert",
175
+ className: "mt-2 text-xs text-status-error",
176
+ children: H.message
177
+ })
178
+ ]
179
+ }), I.demoDataLoaded ? /* @__PURE__ */ v("button", {
180
+ type: "button",
181
+ disabled: V,
182
+ onClick: () => M.mutate(),
183
+ className: "inline-flex shrink-0 items-center justify-center gap-2 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:border-border-strong disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
184
+ children: [M.isPending ? /* @__PURE__ */ _(p, {
185
+ className: "h-4 w-4 animate-spin",
186
+ "aria-hidden": "true"
187
+ }) : /* @__PURE__ */ _(h, {
188
+ className: "h-4 w-4",
189
+ "aria-hidden": "true"
190
+ }), T("hookmovies.onboarding.sample.remove", "Remove sample data")]
191
+ }) : /* @__PURE__ */ v("button", {
192
+ type: "button",
193
+ disabled: V,
194
+ onClick: () => j.mutate(),
195
+ className: "inline-flex shrink-0 items-center justify-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-opacity hover:opacity-90 disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
196
+ children: [j.isPending ? /* @__PURE__ */ _(p, {
197
+ className: "h-4 w-4 animate-spin",
198
+ "aria-hidden": "true"
199
+ }) : /* @__PURE__ */ _(m, {
200
+ className: "h-4 w-4",
201
+ "aria-hidden": "true"
202
+ }), T("hookmovies.onboarding.sample.load", "Load sample data")]
203
+ })]
204
+ })
205
+ ]
206
+ })
207
+ });
208
+ };
209
+ //#endregion
210
+ export { T as GettingStartedChecklist };
211
+
212
+ //# sourceMappingURL=GettingStartedChecklist.js.map