@burdenoff/microfe-hookmovies 2026.830.1 → 2026.1024.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hookmovies/HookMoviesRoutes.d.ts.map +1 -1
- package/dist/hookmovies/HookMoviesRoutes.js +42 -30
- package/dist/hookmovies/HookMoviesRoutes.js.map +1 -1
- package/dist/hookmovies/components/ApplicationCastingActions.d.ts +15 -0
- package/dist/hookmovies/components/ApplicationCastingActions.d.ts.map +1 -0
- package/dist/hookmovies/components/ApplicationCastingActions.js +408 -0
- package/dist/hookmovies/components/ApplicationCastingActions.js.map +1 -0
- package/dist/hookmovies/components/StatusBadge.d.ts.map +1 -1
- package/dist/hookmovies/components/StatusBadge.js +11 -0
- package/dist/hookmovies/components/StatusBadge.js.map +1 -1
- package/dist/hookmovies/hooks/useCastingApi.d.ts +263 -0
- package/dist/hookmovies/hooks/useCastingApi.d.ts.map +1 -0
- package/dist/hookmovies/hooks/useCastingApi.js +134 -0
- package/dist/hookmovies/hooks/useCastingApi.js.map +1 -0
- package/dist/hookmovies/hooks/useHookMoviesApi.d.ts +5 -0
- package/dist/hookmovies/hooks/useHookMoviesApi.d.ts.map +1 -1
- package/dist/hookmovies/hooks/useHookMoviesApi.js +1 -1
- package/dist/hookmovies/hooks/useHookMoviesApi.js.map +1 -1
- package/dist/hookmovies/pages/auditions/AuditionDetailPage.d.ts.map +1 -1
- package/dist/hookmovies/pages/auditions/AuditionDetailPage.js +202 -146
- package/dist/hookmovies/pages/auditions/AuditionDetailPage.js.map +1 -1
- package/dist/hookmovies/pages/casting/MyCastingPage.d.ts +4 -0
- package/dist/hookmovies/pages/casting/MyCastingPage.d.ts.map +1 -0
- package/dist/hookmovies/pages/casting/MyCastingPage.js +553 -0
- package/dist/hookmovies/pages/casting/MyCastingPage.js.map +1 -0
- package/dist/hookmovies/pages/casting/SavedSearchesPage.d.ts +4 -0
- package/dist/hookmovies/pages/casting/SavedSearchesPage.d.ts.map +1 -0
- package/dist/hookmovies/pages/casting/SavedSearchesPage.js +312 -0
- package/dist/hookmovies/pages/casting/SavedSearchesPage.js.map +1 -0
- package/dist/hookmovies/pages/trust/DisputesPage.d.ts +4 -0
- package/dist/hookmovies/pages/trust/DisputesPage.d.ts.map +1 -0
- package/dist/hookmovies/pages/trust/DisputesPage.js +170 -0
- package/dist/hookmovies/pages/trust/DisputesPage.js.map +1 -0
- package/dist/utils/pageContext.d.ts.map +1 -1
- package/dist/utils/pageContext.js +12 -0
- package/dist/utils/pageContext.js.map +1 -1
- package/package.json +1 -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;
|
|
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;AA8KnF,eAAO,MAAM,gBAAgB,EAAE,EAgG9B,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/engagement/ReviewsPage.js").then((e) => ({ default: e.ReviewsPage }))),
|
|
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/engagement/ReviewsPage.js").then((e) => ({ default: e.ReviewsPage }))), E = r(() => import("./pages/distribution/RightsWindowsPage.js").then((e) => ({ default: e.RightsWindowsPage }))), D = r(() => import("./pages/library/ListsPage.js").then((e) => ({ default: e.ListsPage }))), O = r(() => import("./pages/library/EntitlementsPage.js").then((e) => ({ default: e.EntitlementsPage }))), k = r(() => import("./pages/consumer/DiscoveryPage.js").then((e) => ({ default: e.DiscoveryPage }))), A = r(() => import("./pages/consumer/TitleViewPage.js").then((e) => ({ default: e.TitleViewPage }))), j = r(() => import("./pages/consumer/PlayerPage.js").then((e) => ({ default: e.PlayerPage }))), M = r(() => import("./pages/consumer/HooksPage.js").then((e) => ({ default: e.HooksPage }))), N = r(() => import("./pages/social/ProfilesPage.js").then((e) => ({ default: e.ProfilesPage }))), P = r(() => import("./pages/social/WatchPartyListPage.js").then((e) => ({ default: e.WatchPartyListPage }))), F = r(() => import("./pages/social/WatchPartyRoomPage.js").then((e) => ({ default: e.WatchPartyRoomPage }))), I = r(() => import("./pages/commerce/CheckoutPage.js").then((e) => ({ default: e.CheckoutPage }))), L = r(() => import("./pages/analytics/PayoutsPage.js").then((e) => ({ default: e.PayoutsPage }))), R = r(() => import("./pages/analytics/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), z = r(() => import("./pages/trust/ModerationPage.js").then((e) => ({ default: e.ModerationPage }))), B = r(() => import("./pages/onboarding/OnboardingPage.js").then((e) => ({ default: e.OnboardingPage }))), V = r(() => import("./pages/developer/DevPortalPage.js").then((e) => ({ default: e.DevPortalPage }))), H = r(() => import("./pages/live/LivePage.js").then((e) => ({ default: e.LivePage }))), U = r(() => import("./pages/localization/LocalizationPage.js").then((e) => ({ default: e.LocalizationPage }))), W = r(() => import("./pages/ai/ConciergePage.js").then((e) => ({ default: e.ConciergePage }))), G = () => /* @__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
|
-
}),
|
|
11
|
+
}), K = () => /* @__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
|
|
21
|
+
function q(e, t) {
|
|
22
22
|
return /* @__PURE__ */ c(u, {
|
|
23
23
|
flag: e,
|
|
24
24
|
defaultValue: !0,
|
|
25
|
-
fallback: /* @__PURE__ */ c(
|
|
25
|
+
fallback: /* @__PURE__ */ c(K, {}),
|
|
26
26
|
children: t
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
var
|
|
30
|
-
let { basePath: r, isStandalone: u } = e(),
|
|
31
|
-
return
|
|
29
|
+
var J = () => {
|
|
30
|
+
let { basePath: r, isStandalone: u } = e(), K = s(), J = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
|
|
31
|
+
return J && !u && !(K.pathname === J || K.pathname.startsWith(J + "/")) ? null : /* @__PURE__ */ c("div", {
|
|
32
32
|
className: "flex min-h-full flex-col",
|
|
33
33
|
children: /* @__PURE__ */ c(n, {
|
|
34
|
-
fallback: /* @__PURE__ */ c(
|
|
34
|
+
fallback: /* @__PURE__ */ c(G, {}),
|
|
35
35
|
children: /* @__PURE__ */ l(o, { children: [
|
|
36
36
|
/* @__PURE__ */ c(a, {
|
|
37
37
|
index: !0,
|
|
@@ -82,88 +82,100 @@ var G = () => {
|
|
|
82
82
|
element: /* @__PURE__ */ c(x, {})
|
|
83
83
|
}),
|
|
84
84
|
/* @__PURE__ */ c(a, {
|
|
85
|
-
path: "
|
|
85
|
+
path: "casting/mine",
|
|
86
86
|
element: /* @__PURE__ */ c(S, {})
|
|
87
87
|
}),
|
|
88
88
|
/* @__PURE__ */ c(a, {
|
|
89
|
-
path: "
|
|
89
|
+
path: "casting/saved-searches",
|
|
90
90
|
element: /* @__PURE__ */ c(C, {})
|
|
91
91
|
}),
|
|
92
|
+
/* @__PURE__ */ c(a, {
|
|
93
|
+
path: "engagement/reviews",
|
|
94
|
+
element: /* @__PURE__ */ c(T, {})
|
|
95
|
+
}),
|
|
96
|
+
/* @__PURE__ */ c(a, {
|
|
97
|
+
path: "distribution/rights",
|
|
98
|
+
element: /* @__PURE__ */ c(E, {})
|
|
99
|
+
}),
|
|
92
100
|
/* @__PURE__ */ c(a, {
|
|
93
101
|
path: "library/lists",
|
|
94
|
-
element: /* @__PURE__ */ c(
|
|
102
|
+
element: /* @__PURE__ */ c(D, {})
|
|
95
103
|
}),
|
|
96
104
|
/* @__PURE__ */ c(a, {
|
|
97
105
|
path: "library/entitlements",
|
|
98
|
-
element: /* @__PURE__ */ c(
|
|
106
|
+
element: /* @__PURE__ */ c(O, {})
|
|
99
107
|
}),
|
|
100
108
|
/* @__PURE__ */ c(a, {
|
|
101
109
|
path: "browse",
|
|
102
|
-
element: /* @__PURE__ */ c(
|
|
110
|
+
element: /* @__PURE__ */ c(k, {})
|
|
103
111
|
}),
|
|
104
112
|
/* @__PURE__ */ c(a, {
|
|
105
113
|
path: "title/:id",
|
|
106
|
-
element: /* @__PURE__ */ c(
|
|
114
|
+
element: /* @__PURE__ */ c(A, {})
|
|
107
115
|
}),
|
|
108
116
|
/* @__PURE__ */ c(a, {
|
|
109
117
|
path: "watch/:titleId",
|
|
110
|
-
element: /* @__PURE__ */ c(
|
|
118
|
+
element: /* @__PURE__ */ c(j, {})
|
|
111
119
|
}),
|
|
112
120
|
/* @__PURE__ */ c(a, {
|
|
113
121
|
path: "watch/:titleId/episode/:episodeId",
|
|
114
|
-
element: /* @__PURE__ */ c(
|
|
122
|
+
element: /* @__PURE__ */ c(j, {})
|
|
115
123
|
}),
|
|
116
124
|
/* @__PURE__ */ c(a, {
|
|
117
125
|
path: "hooks",
|
|
118
|
-
element:
|
|
126
|
+
element: q("hookmovies.hooks.enabled", /* @__PURE__ */ c(M, {}))
|
|
119
127
|
}),
|
|
120
128
|
/* @__PURE__ */ c(a, {
|
|
121
129
|
path: "profiles",
|
|
122
|
-
element: /* @__PURE__ */ c(
|
|
130
|
+
element: /* @__PURE__ */ c(N, {})
|
|
123
131
|
}),
|
|
124
132
|
/* @__PURE__ */ c(a, {
|
|
125
133
|
path: "watch-party",
|
|
126
|
-
element: /* @__PURE__ */ c(
|
|
134
|
+
element: /* @__PURE__ */ c(P, {})
|
|
127
135
|
}),
|
|
128
136
|
/* @__PURE__ */ c(a, {
|
|
129
137
|
path: "watch-party/:id",
|
|
130
|
-
element: /* @__PURE__ */ c(
|
|
138
|
+
element: /* @__PURE__ */ c(F, {})
|
|
131
139
|
}),
|
|
132
140
|
/* @__PURE__ */ c(a, {
|
|
133
141
|
path: "checkout/:titleId",
|
|
134
|
-
element: /* @__PURE__ */ c(
|
|
142
|
+
element: /* @__PURE__ */ c(I, {})
|
|
135
143
|
}),
|
|
136
144
|
/* @__PURE__ */ c(a, {
|
|
137
145
|
path: "payouts",
|
|
138
|
-
element: /* @__PURE__ */ c(
|
|
146
|
+
element: /* @__PURE__ */ c(L, {})
|
|
139
147
|
}),
|
|
140
148
|
/* @__PURE__ */ c(a, {
|
|
141
149
|
path: "analytics",
|
|
142
|
-
element: /* @__PURE__ */ c(
|
|
150
|
+
element: /* @__PURE__ */ c(R, {})
|
|
143
151
|
}),
|
|
144
152
|
/* @__PURE__ */ c(a, {
|
|
145
153
|
path: "trust/moderation",
|
|
146
|
-
element: /* @__PURE__ */ c(
|
|
154
|
+
element: /* @__PURE__ */ c(z, {})
|
|
155
|
+
}),
|
|
156
|
+
/* @__PURE__ */ c(a, {
|
|
157
|
+
path: "trust/disputes",
|
|
158
|
+
element: /* @__PURE__ */ c(w, {})
|
|
147
159
|
}),
|
|
148
160
|
/* @__PURE__ */ c(a, {
|
|
149
161
|
path: "onboarding/languages",
|
|
150
|
-
element: /* @__PURE__ */ c(
|
|
162
|
+
element: /* @__PURE__ */ c(B, {})
|
|
151
163
|
}),
|
|
152
164
|
/* @__PURE__ */ c(a, {
|
|
153
165
|
path: "developer",
|
|
154
|
-
element: /* @__PURE__ */ c(
|
|
166
|
+
element: /* @__PURE__ */ c(V, {})
|
|
155
167
|
}),
|
|
156
168
|
/* @__PURE__ */ c(a, {
|
|
157
169
|
path: "live",
|
|
158
|
-
element:
|
|
170
|
+
element: q("hookmovies.fast.enabled", /* @__PURE__ */ c(H, {}))
|
|
159
171
|
}),
|
|
160
172
|
/* @__PURE__ */ c(a, {
|
|
161
173
|
path: "title/:id/localization",
|
|
162
|
-
element: /* @__PURE__ */ c(
|
|
174
|
+
element: /* @__PURE__ */ c(U, {})
|
|
163
175
|
}),
|
|
164
176
|
/* @__PURE__ */ c(a, {
|
|
165
177
|
path: "concierge",
|
|
166
|
-
element:
|
|
178
|
+
element: q("hookmovies.ai.concierge", /* @__PURE__ */ c(W, {}))
|
|
167
179
|
}),
|
|
168
180
|
/* @__PURE__ */ c(a, {
|
|
169
181
|
path: "*",
|
|
@@ -177,6 +189,6 @@ var G = () => {
|
|
|
177
189
|
});
|
|
178
190
|
};
|
|
179
191
|
//#endregion
|
|
180
|
-
export {
|
|
192
|
+
export { J as HookMoviesRoutes };
|
|
181
193
|
|
|
182
194
|
//# 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// 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\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\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 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);\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\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\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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { HokCallback, HokOffer } from '../hooks/useCastingApi';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
applicationId: string;
|
|
6
|
+
applicantId: string;
|
|
7
|
+
applicationStatus: string;
|
|
8
|
+
defaultPayMinorUnits: string;
|
|
9
|
+
defaultCurrency: string;
|
|
10
|
+
callbacks: HokCallback[];
|
|
11
|
+
offers: HokOffer[];
|
|
12
|
+
}
|
|
13
|
+
export declare const ApplicationCastingActions: FC<Props>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ApplicationCastingActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationCastingActions.d.ts","sourceRoot":"","sources":["../../../src/hookmovies/components/ApplicationCastingActions.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA4B,MAAM,OAAO,CAAC;AAG1D,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,QAAQ,EAUd,MAAM,wBAAwB,CAAC;AAmBhC,UAAU,KAAK;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAqWD,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,KAAK,CAmI/C,CAAC"}
|