@burdenoff/microfe-hookmovies 2026.706.3 → 2026.706.4
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/pages/HomePage.js +211 -139
- package/dist/hookmovies/pages/HomePage.js.map +1 -1
- package/dist/hookmovies/pages/ai/ConciergePage.js +3 -3
- package/dist/hookmovies/pages/auditions/AuditionDetailPage.js +223 -140
- package/dist/hookmovies/pages/auditions/AuditionDetailPage.js.map +1 -1
- package/dist/hookmovies/pages/auditions/AuditionsPage.js +159 -81
- package/dist/hookmovies/pages/auditions/AuditionsPage.js.map +1 -1
- package/dist/hookmovies/pages/catalog/PeoplePage.js +175 -101
- package/dist/hookmovies/pages/catalog/PeoplePage.js.map +1 -1
- package/dist/hookmovies/pages/catalog/StudiosPage.js +189 -106
- package/dist/hookmovies/pages/catalog/StudiosPage.js.map +1 -1
- package/dist/hookmovies/pages/catalog/TitleDetailPage.js +745 -623
- package/dist/hookmovies/pages/catalog/TitleDetailPage.js.map +1 -1
- package/dist/hookmovies/pages/catalog/TitlesPage.js +218 -138
- package/dist/hookmovies/pages/catalog/TitlesPage.js.map +1 -1
- package/dist/hookmovies/pages/commerce/CheckoutPage.js +8 -8
- package/dist/hookmovies/pages/consumer/DiscoveryPage.js +14 -14
- package/dist/hookmovies/pages/consumer/TitleViewPage.js +6 -6
- package/dist/hookmovies/pages/distribution/RightsWindowsPage.js +235 -162
- package/dist/hookmovies/pages/distribution/RightsWindowsPage.js.map +1 -1
- package/dist/hookmovies/pages/library/EntitlementsPage.js +447 -221
- package/dist/hookmovies/pages/library/EntitlementsPage.js.map +1 -1
- package/dist/hookmovies/pages/library/ListsPage.js +242 -166
- package/dist/hookmovies/pages/library/ListsPage.js.map +1 -1
- package/dist/hookmovies/pages/live/LivePage.js +12 -12
- package/dist/hookmovies/pages/localization/LocalizationPage.js +10 -10
- package/dist/hookmovies/pages/productions/ProductionDetailPage.js +265 -179
- package/dist/hookmovies/pages/productions/ProductionDetailPage.js.map +1 -1
- package/dist/hookmovies/pages/productions/ProductionsPage.js +264 -71
- package/dist/hookmovies/pages/productions/ProductionsPage.js.map +1 -1
- package/dist/hookmovies/pages/social/WatchPartyRoomPage.js +205 -205
- package/dist/hookmovies/pages/social/WatchPartyRoomPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,93 +1,126 @@
|
|
|
1
1
|
import { useHookMovies as e } from "../../context/HookMoviesContext.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { FILE_FOLDERS as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
2
|
+
import { cn as t } from "../../utils/cn.js";
|
|
3
|
+
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
+
import { StatusBadge as r } from "../../components/StatusBadge.js";
|
|
5
|
+
import { useApplyToAudition as i, useAuditionApplications as a, useAuditionById as ee, useCloseAudition as te, useScoreApplication as ne } from "../../hooks/useHookMoviesApi.js";
|
|
6
|
+
import { FILE_FOLDERS as o, uploadFileToFiles as s } from "../../hooks/useFiles.js";
|
|
7
|
+
import { formatDate as c, formatMinorUnits as l, formatRelativeTime as re } from "../../utils/formatters.js";
|
|
8
|
+
import { ErrorState as ie, LoadingState as u } from "../../components/StateViews.js";
|
|
9
|
+
import { useMemo as d, useRef as ae, useState as f } from "react";
|
|
10
|
+
import { ArrowLeft as p, Clock as oe, Coins as m, Film as h, Languages as se, Loader2 as ce, Lock as g, MapPin as _, Send as v, ShieldAlert as y, Star as b, Upload as le, Users as x, X as ue } from "lucide-react";
|
|
11
|
+
import { useParams as de } from "react-router-dom";
|
|
11
12
|
import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
12
13
|
import { GlassCard as T } from "@burdenoff/fe-libs/ui";
|
|
13
14
|
//#region src/hookmovies/pages/auditions/AuditionDetailPage.tsx
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
var fe = "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)]";
|
|
16
|
+
function pe(e) {
|
|
17
|
+
return (e.replace(/[^a-zA-Z0-9]/g, "").slice(0, 2) || "?").toUpperCase();
|
|
18
|
+
}
|
|
19
|
+
var E = new Set([
|
|
20
|
+
"shortlisted",
|
|
21
|
+
"callback",
|
|
22
|
+
"offered"
|
|
23
|
+
]), D = ({ value: e, disabled: n, onScore: r }) => /* @__PURE__ */ C("div", {
|
|
24
|
+
className: "flex items-center gap-1",
|
|
25
|
+
role: "group",
|
|
26
|
+
"aria-label": e ? `Rating ${e} of 5` : "Not yet rated",
|
|
27
|
+
children: [
|
|
28
|
+
1,
|
|
29
|
+
2,
|
|
30
|
+
3,
|
|
31
|
+
4,
|
|
32
|
+
5
|
|
33
|
+
].map((i) => {
|
|
34
|
+
let a = e !== null && i <= e;
|
|
35
|
+
return /* @__PURE__ */ C("button", {
|
|
36
|
+
type: "button",
|
|
37
|
+
disabled: n,
|
|
38
|
+
onClick: () => r(i),
|
|
39
|
+
"aria-label": `Score ${i} of 5`,
|
|
40
|
+
"aria-pressed": e === i,
|
|
41
|
+
title: `Score ${i} of 5`,
|
|
42
|
+
className: "rounded p-0.5 text-text-muted transition-colors hover:text-status-warning-text focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)] disabled:cursor-not-allowed disabled:opacity-60",
|
|
43
|
+
children: /* @__PURE__ */ C(b, { className: t("h-5 w-5 transition-transform", a ? "fill-status-warning-text text-status-warning-text" : "fill-transparent") })
|
|
44
|
+
}, i);
|
|
45
|
+
})
|
|
46
|
+
}), O = () => {
|
|
47
|
+
let { id: O } = de(), { navigateTo: k } = e(), { data: A, isLoading: j, isError: M, refetch: N } = ee(O), P = a(O), F = i(), I = ne(), L = te(), [R, z] = f(""), [B, V] = f(""), [me, H] = f(""), [U, W] = f(!1), [G, K] = f(null), [q, J] = f(null), [he, ge] = f(!1), [Y, X] = f(null), Z = ae(null), Q = d(() => P.data ?? [], [P.data]), _e = d(() => Q.filter((e) => e.score !== null).length, [Q]);
|
|
48
|
+
if (j) return /* @__PURE__ */ C(n, {
|
|
17
49
|
title: "Audition",
|
|
18
|
-
children: /* @__PURE__ */ C(
|
|
50
|
+
children: /* @__PURE__ */ C(u, { label: "Loading audition…" })
|
|
19
51
|
});
|
|
20
|
-
if (
|
|
52
|
+
if (M || !A) return /* @__PURE__ */ C(n, {
|
|
21
53
|
title: "Audition",
|
|
22
|
-
children: /* @__PURE__ */ C(
|
|
54
|
+
children: /* @__PURE__ */ C(ie, {
|
|
23
55
|
title: "Audition not found",
|
|
24
|
-
onRetry: () => void
|
|
56
|
+
onRetry: () => void N()
|
|
25
57
|
})
|
|
26
58
|
});
|
|
27
|
-
let
|
|
59
|
+
let ve = async (e) => {
|
|
28
60
|
e.preventDefault(), J(null);
|
|
29
61
|
try {
|
|
30
|
-
await
|
|
31
|
-
auditionId:
|
|
32
|
-
coverNote:
|
|
33
|
-
selfTapeFileId:
|
|
34
|
-
}),
|
|
62
|
+
await F.mutateAsync({
|
|
63
|
+
auditionId: A.id,
|
|
64
|
+
coverNote: R.trim() || void 0,
|
|
65
|
+
selfTapeFileId: B.trim() || void 0
|
|
66
|
+
}), ge(!0), z(""), V(""), H("");
|
|
35
67
|
} catch (e) {
|
|
36
68
|
J(e instanceof Error ? e.message : "Failed to apply");
|
|
37
69
|
}
|
|
38
|
-
},
|
|
70
|
+
}, ye = async (e) => {
|
|
39
71
|
let t = e.target.files?.[0];
|
|
40
72
|
if (e.target.value = "", t) {
|
|
41
73
|
K(null), W(!0);
|
|
42
74
|
try {
|
|
43
|
-
let e = await
|
|
44
|
-
|
|
75
|
+
let e = await s(t, o.selfTapes);
|
|
76
|
+
V(e.id), H(e.name || t.name);
|
|
45
77
|
} catch (e) {
|
|
46
78
|
K(e instanceof Error ? e.message : "Failed to upload self-tape");
|
|
47
79
|
} finally {
|
|
48
80
|
W(!1);
|
|
49
81
|
}
|
|
50
82
|
}
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
},
|
|
83
|
+
}, be = () => {
|
|
84
|
+
V(""), H(""), K(null);
|
|
85
|
+
}, xe = async (e, t) => {
|
|
54
86
|
X(null);
|
|
55
87
|
try {
|
|
56
|
-
await
|
|
88
|
+
await I.mutateAsync({
|
|
57
89
|
id: e,
|
|
58
90
|
score: t
|
|
59
91
|
});
|
|
60
92
|
} catch (e) {
|
|
61
93
|
X(e instanceof Error ? e.message : "Failed to score");
|
|
62
94
|
}
|
|
63
|
-
},
|
|
64
|
-
return /* @__PURE__ */ C(
|
|
95
|
+
}, $ = A.status === "OPEN";
|
|
96
|
+
return /* @__PURE__ */ C(n, {
|
|
97
|
+
hero: !0,
|
|
65
98
|
title: /* @__PURE__ */ w("span", {
|
|
66
99
|
className: "flex items-center gap-3",
|
|
67
100
|
children: [/* @__PURE__ */ C("button", {
|
|
68
101
|
type: "button",
|
|
69
|
-
onClick: () =>
|
|
70
|
-
className: "rounded-md p-1 text-text-secondary hover:text-text-primary",
|
|
102
|
+
onClick: () => k("auditions"),
|
|
103
|
+
className: "rounded-md p-1 text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
71
104
|
"aria-label": "Back to auditions",
|
|
72
|
-
children: /* @__PURE__ */ C(
|
|
73
|
-
}),
|
|
105
|
+
children: /* @__PURE__ */ C(p, { className: "h-5 w-5" })
|
|
106
|
+
}), A.roleName]
|
|
74
107
|
}),
|
|
75
|
-
description:
|
|
108
|
+
description: A.production?.title ?? "Casting call",
|
|
76
109
|
actions: /* @__PURE__ */ w("div", {
|
|
77
110
|
className: "flex items-center gap-2",
|
|
78
|
-
children: [/* @__PURE__ */ C(
|
|
111
|
+
children: [/* @__PURE__ */ C(r, { status: A.status }), $ && /* @__PURE__ */ w("button", {
|
|
79
112
|
type: "button",
|
|
80
|
-
disabled:
|
|
81
|
-
onClick: () => void
|
|
82
|
-
className: "inline-flex items-center gap-1 rounded-lg border border-border-seam px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-bg-sunken disabled:opacity-50
|
|
83
|
-
children: [/* @__PURE__ */ C(
|
|
113
|
+
disabled: L.isPending,
|
|
114
|
+
onClick: () => void L.mutateAsync(A.id),
|
|
115
|
+
className: "inline-flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-1.5 text-xs font-medium text-text-primary transition-colors hover:bg-bg-sunken disabled:opacity-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
116
|
+
children: [/* @__PURE__ */ C(g, { className: "h-3.5 w-3.5" }), "Close"]
|
|
84
117
|
})]
|
|
85
118
|
}),
|
|
86
119
|
children: /* @__PURE__ */ w("div", {
|
|
87
120
|
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
88
121
|
children: [/* @__PURE__ */ w("div", {
|
|
89
122
|
className: "space-y-6 lg:col-span-2",
|
|
90
|
-
children: [
|
|
123
|
+
children: [A.description && /* @__PURE__ */ w(T, {
|
|
91
124
|
treatment: "metric",
|
|
92
125
|
className: "border-border-seam p-5",
|
|
93
126
|
children: [/* @__PURE__ */ C("h2", {
|
|
@@ -95,71 +128,113 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
95
128
|
children: "Role Description"
|
|
96
129
|
}), /* @__PURE__ */ C("p", {
|
|
97
130
|
className: "text-sm leading-relaxed text-text-secondary",
|
|
98
|
-
children:
|
|
131
|
+
children: A.description
|
|
99
132
|
})]
|
|
100
133
|
}), /* @__PURE__ */ w(T, {
|
|
101
134
|
treatment: "metric",
|
|
102
135
|
className: "border-border-seam p-5",
|
|
103
136
|
children: [
|
|
104
|
-
/* @__PURE__ */ w("
|
|
105
|
-
className: "mb-
|
|
106
|
-
children: [
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
137
|
+
/* @__PURE__ */ w("div", {
|
|
138
|
+
className: "mb-4 flex flex-wrap items-center justify-between gap-2",
|
|
139
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
140
|
+
className: "flex items-center gap-2 text-sm font-semibold text-text-primary",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ C(x, { className: "h-4 w-4 text-text-secondary" }),
|
|
143
|
+
"Applicants",
|
|
144
|
+
/* @__PURE__ */ C("span", {
|
|
145
|
+
className: "rounded-full bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary",
|
|
146
|
+
children: Q.length
|
|
147
|
+
})
|
|
148
|
+
]
|
|
149
|
+
}), Q.length > 0 && /* @__PURE__ */ w("span", {
|
|
150
|
+
className: "flex items-center gap-1.5 text-xs text-text-secondary",
|
|
151
|
+
children: [
|
|
152
|
+
/* @__PURE__ */ C(b, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }),
|
|
153
|
+
_e,
|
|
154
|
+
" of ",
|
|
155
|
+
Q.length,
|
|
156
|
+
" rated"
|
|
157
|
+
]
|
|
158
|
+
})]
|
|
112
159
|
}),
|
|
113
160
|
Y && /* @__PURE__ */ C("div", {
|
|
114
161
|
className: "mb-3 rounded-lg border border-status-error-border bg-status-error-bg-subtle px-3 py-2 text-xs text-status-error-text",
|
|
115
162
|
children: Y
|
|
116
163
|
}),
|
|
117
|
-
|
|
164
|
+
P.isLoading ? /* @__PURE__ */ C(u, {
|
|
118
165
|
label: "Loading applicants…",
|
|
119
|
-
className: "min-h-[
|
|
120
|
-
}) :
|
|
121
|
-
className: "
|
|
122
|
-
children:
|
|
166
|
+
className: "min-h-[160px]"
|
|
167
|
+
}) : Q.length === 0 ? /* @__PURE__ */ w("div", {
|
|
168
|
+
className: "flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border-seam bg-bg-surface/60 px-4 py-12 text-center",
|
|
169
|
+
children: [
|
|
170
|
+
/* @__PURE__ */ C("div", {
|
|
171
|
+
className: "flex h-11 w-11 items-center justify-center rounded-full bg-bg-sunken",
|
|
172
|
+
children: /* @__PURE__ */ C(x, { className: "h-5 w-5 text-text-muted" })
|
|
173
|
+
}),
|
|
174
|
+
/* @__PURE__ */ C("p", {
|
|
175
|
+
className: "text-sm font-medium text-text-primary",
|
|
176
|
+
children: "No applications yet"
|
|
177
|
+
}),
|
|
178
|
+
/* @__PURE__ */ C("p", {
|
|
179
|
+
className: "max-w-xs text-xs text-text-secondary",
|
|
180
|
+
children: "Applicants who apply to this role will appear here for review and scoring."
|
|
181
|
+
})
|
|
182
|
+
]
|
|
123
183
|
}) : /* @__PURE__ */ C("ul", {
|
|
124
|
-
className: "
|
|
125
|
-
children:
|
|
126
|
-
className: "rounded-
|
|
184
|
+
className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
|
|
185
|
+
children: Q.map((e) => /* @__PURE__ */ w("li", {
|
|
186
|
+
className: t("flex flex-col rounded-xl border bg-bg-surface p-4 transition-colors", E.has(e.status.toLowerCase()) ? "border-status-info-border ring-1 ring-status-info-border" : "border-border-seam hover:border-border-strong"),
|
|
127
187
|
children: [
|
|
128
188
|
/* @__PURE__ */ w("div", {
|
|
129
|
-
className: "flex items-
|
|
189
|
+
className: "flex items-start justify-between gap-3",
|
|
130
190
|
children: [/* @__PURE__ */ w("div", {
|
|
131
|
-
className: "min-w-0",
|
|
132
|
-
children: [/* @__PURE__ */
|
|
133
|
-
className: "
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
191
|
+
className: "flex min-w-0 items-center gap-3",
|
|
192
|
+
children: [/* @__PURE__ */ C("span", {
|
|
193
|
+
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-full border border-border-seam bg-bg-sunken text-xs font-semibold text-text-secondary",
|
|
194
|
+
"aria-hidden": "true",
|
|
195
|
+
children: pe(e.applicantId)
|
|
196
|
+
}), /* @__PURE__ */ w("div", {
|
|
197
|
+
className: "min-w-0",
|
|
198
|
+
children: [/* @__PURE__ */ w("p", {
|
|
199
|
+
className: "truncate text-sm font-semibold text-text-primary",
|
|
200
|
+
children: ["Applicant ", e.applicantId.slice(0, 8)]
|
|
201
|
+
}), /* @__PURE__ */ w("p", {
|
|
202
|
+
className: "text-xs text-text-secondary",
|
|
203
|
+
children: ["Applied ", re(e.createdAt)]
|
|
204
|
+
})]
|
|
138
205
|
})]
|
|
139
|
-
}), /* @__PURE__ */ C(
|
|
206
|
+
}), /* @__PURE__ */ C(r, {
|
|
207
|
+
status: e.status,
|
|
208
|
+
className: "shrink-0"
|
|
209
|
+
})]
|
|
140
210
|
}),
|
|
141
|
-
e.coverNote
|
|
142
|
-
className: "mt-
|
|
143
|
-
children:
|
|
211
|
+
e.coverNote ? /* @__PURE__ */ w("p", {
|
|
212
|
+
className: "mt-3 line-clamp-3 text-sm leading-relaxed text-text-secondary",
|
|
213
|
+
children: [
|
|
214
|
+
/* @__PURE__ */ C("span", {
|
|
215
|
+
className: "text-text-muted",
|
|
216
|
+
children: "“"
|
|
217
|
+
}),
|
|
218
|
+
e.coverNote,
|
|
219
|
+
/* @__PURE__ */ C("span", {
|
|
220
|
+
className: "text-text-muted",
|
|
221
|
+
children: "”"
|
|
222
|
+
})
|
|
223
|
+
]
|
|
224
|
+
}) : /* @__PURE__ */ C("p", {
|
|
225
|
+
className: "mt-3 text-sm italic text-text-muted",
|
|
226
|
+
children: "No cover note provided."
|
|
144
227
|
}),
|
|
145
228
|
/* @__PURE__ */ w("div", {
|
|
146
|
-
className: "mt-
|
|
147
|
-
children: [/* @__PURE__ */ C(
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
5
|
|
156
|
-
].map((t) => /* @__PURE__ */ C("button", {
|
|
157
|
-
type: "button",
|
|
158
|
-
disabled: F.isPending,
|
|
159
|
-
onClick: () => void pe(e.id, t),
|
|
160
|
-
className: e.score === t ? "h-7 w-7 rounded-md bg-action-primary-bg text-xs font-semibold text-action-primary-text" : "h-7 w-7 rounded-md border border-border-seam text-xs text-text-primary hover:bg-bg-sunken transition-colors",
|
|
161
|
-
children: t
|
|
162
|
-
}, t))]
|
|
229
|
+
className: "mt-auto flex items-center justify-between gap-2 pt-4",
|
|
230
|
+
children: [/* @__PURE__ */ C(D, {
|
|
231
|
+
value: e.score,
|
|
232
|
+
disabled: I.isPending,
|
|
233
|
+
onScore: (t) => void xe(e.id, t)
|
|
234
|
+
}), /* @__PURE__ */ C("span", {
|
|
235
|
+
className: "text-xs font-medium text-text-secondary",
|
|
236
|
+
children: e.score === null ? "Unrated" : `${e.score}/5`
|
|
237
|
+
})]
|
|
163
238
|
})
|
|
164
239
|
]
|
|
165
240
|
}, e.id))
|
|
@@ -177,46 +252,46 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
177
252
|
children: "Details"
|
|
178
253
|
}),
|
|
179
254
|
/* @__PURE__ */ w("dl", {
|
|
180
|
-
className: "space-y-
|
|
255
|
+
className: "space-y-3 text-sm",
|
|
181
256
|
children: [
|
|
182
257
|
/* @__PURE__ */ w("div", {
|
|
183
|
-
className: "flex items-center justify-between",
|
|
258
|
+
className: "flex items-center justify-between gap-3",
|
|
184
259
|
children: [/* @__PURE__ */ w("dt", {
|
|
185
260
|
className: "flex items-center gap-2 text-text-secondary",
|
|
186
|
-
children: [/* @__PURE__ */ C(
|
|
261
|
+
children: [/* @__PURE__ */ C(m, { className: "h-3.5 w-3.5" }), "Pay"]
|
|
187
262
|
}), /* @__PURE__ */ C("dd", {
|
|
188
|
-
className: "font-medium text-text-primary",
|
|
189
|
-
children:
|
|
263
|
+
className: "text-right font-medium text-text-primary",
|
|
264
|
+
children: l(A.payMinorUnits, A.currency)
|
|
190
265
|
})]
|
|
191
266
|
}),
|
|
192
|
-
|
|
193
|
-
className: "flex items-center justify-between",
|
|
267
|
+
A.location && /* @__PURE__ */ w("div", {
|
|
268
|
+
className: "flex items-center justify-between gap-3",
|
|
194
269
|
children: [/* @__PURE__ */ w("dt", {
|
|
195
270
|
className: "flex items-center gap-2 text-text-secondary",
|
|
196
|
-
children: [/* @__PURE__ */ C(
|
|
271
|
+
children: [/* @__PURE__ */ C(_, { className: "h-3.5 w-3.5" }), "Location"]
|
|
197
272
|
}), /* @__PURE__ */ C("dd", {
|
|
198
|
-
className: "font-medium text-text-primary",
|
|
199
|
-
children:
|
|
273
|
+
className: "text-right font-medium text-text-primary",
|
|
274
|
+
children: A.location
|
|
200
275
|
})]
|
|
201
276
|
}),
|
|
202
|
-
|
|
203
|
-
className: "flex items-center justify-between",
|
|
277
|
+
A.language && /* @__PURE__ */ w("div", {
|
|
278
|
+
className: "flex items-center justify-between gap-3",
|
|
204
279
|
children: [/* @__PURE__ */ w("dt", {
|
|
205
280
|
className: "flex items-center gap-2 text-text-secondary",
|
|
206
|
-
children: [/* @__PURE__ */ C(
|
|
281
|
+
children: [/* @__PURE__ */ C(se, { className: "h-3.5 w-3.5" }), "Language"]
|
|
207
282
|
}), /* @__PURE__ */ C("dd", {
|
|
208
|
-
className: "font-medium text-text-primary",
|
|
209
|
-
children:
|
|
283
|
+
className: "text-right font-medium text-text-primary",
|
|
284
|
+
children: A.language
|
|
210
285
|
})]
|
|
211
286
|
}),
|
|
212
|
-
|
|
213
|
-
className: "flex items-center justify-between",
|
|
287
|
+
A.submissionDeadline && /* @__PURE__ */ w("div", {
|
|
288
|
+
className: "flex items-center justify-between gap-3",
|
|
214
289
|
children: [/* @__PURE__ */ w("dt", {
|
|
215
290
|
className: "flex items-center gap-2 text-text-secondary",
|
|
216
|
-
children: [/* @__PURE__ */ C(
|
|
291
|
+
children: [/* @__PURE__ */ C(oe, { className: "h-3.5 w-3.5" }), "Deadline"]
|
|
217
292
|
}), /* @__PURE__ */ C("dd", {
|
|
218
|
-
className: "font-medium text-text-primary",
|
|
219
|
-
children:
|
|
293
|
+
className: "text-right font-medium text-text-primary",
|
|
294
|
+
children: c(A.submissionDeadline, {
|
|
220
295
|
hour: void 0,
|
|
221
296
|
minute: void 0
|
|
222
297
|
})
|
|
@@ -224,37 +299,45 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
224
299
|
})
|
|
225
300
|
]
|
|
226
301
|
}),
|
|
227
|
-
|
|
228
|
-
className: "mt-
|
|
229
|
-
children: "This is a minor role. Guardian consent and restricted communications apply."
|
|
302
|
+
A.isMinorRole && /* @__PURE__ */ w("div", {
|
|
303
|
+
className: "mt-4 flex items-start gap-2 rounded-lg border border-status-warning-border bg-status-warning-bg-subtle px-3 py-2 text-xs text-status-warning-text",
|
|
304
|
+
children: [/* @__PURE__ */ C(y, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ C("span", { children: "This is a minor role. Guardian consent and restricted communications apply." })]
|
|
230
305
|
})
|
|
231
306
|
]
|
|
232
307
|
}), /* @__PURE__ */ w(T, {
|
|
233
308
|
treatment: "glass",
|
|
234
309
|
className: "border-border-seam p-5",
|
|
235
|
-
children: [/* @__PURE__ */
|
|
236
|
-
className: "mb-3 text-sm font-semibold text-text-primary",
|
|
237
|
-
children: "Apply"
|
|
238
|
-
}),
|
|
239
|
-
className: "rounded-lg bg-status-success-bg-subtle px-3 py-2 text-sm text-status-success-text",
|
|
310
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
311
|
+
className: "mb-3 flex items-center gap-2 text-sm font-semibold text-text-primary",
|
|
312
|
+
children: [/* @__PURE__ */ C(v, { className: "h-4 w-4 text-text-secondary" }), "Apply for this role"]
|
|
313
|
+
}), he ? /* @__PURE__ */ C("div", {
|
|
314
|
+
className: "rounded-lg border border-status-success-border bg-status-success-bg-subtle px-3 py-2.5 text-sm text-status-success-text",
|
|
240
315
|
children: "Your application has been submitted."
|
|
241
|
-
}) :
|
|
242
|
-
onSubmit:
|
|
316
|
+
}) : $ ? /* @__PURE__ */ w("form", {
|
|
317
|
+
onSubmit: ve,
|
|
243
318
|
className: "space-y-3",
|
|
244
319
|
children: [
|
|
245
320
|
q && /* @__PURE__ */ C("div", {
|
|
246
321
|
className: "rounded-lg border border-status-error-border bg-status-error-bg-subtle px-3 py-2 text-xs text-status-error-text",
|
|
247
322
|
children: q
|
|
248
323
|
}),
|
|
249
|
-
/* @__PURE__ */
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
324
|
+
/* @__PURE__ */ w("div", {
|
|
325
|
+
className: "space-y-1.5",
|
|
326
|
+
children: [/* @__PURE__ */ C("label", {
|
|
327
|
+
htmlFor: "cover-note",
|
|
328
|
+
className: "block text-xs font-medium text-text-secondary",
|
|
329
|
+
children: "Cover note"
|
|
330
|
+
}), /* @__PURE__ */ C("textarea", {
|
|
331
|
+
id: "cover-note",
|
|
332
|
+
value: R,
|
|
333
|
+
onChange: (e) => z(e.target.value),
|
|
334
|
+
rows: 3,
|
|
335
|
+
placeholder: "Why you're right for this role",
|
|
336
|
+
className: fe
|
|
337
|
+
})]
|
|
255
338
|
}),
|
|
256
339
|
/* @__PURE__ */ w("div", {
|
|
257
|
-
className: "space-y-
|
|
340
|
+
className: "space-y-1.5",
|
|
258
341
|
children: [
|
|
259
342
|
/* @__PURE__ */ C("label", {
|
|
260
343
|
htmlFor: "self-tape-upload",
|
|
@@ -266,32 +349,32 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
266
349
|
id: "self-tape-upload",
|
|
267
350
|
type: "file",
|
|
268
351
|
accept: "video/*",
|
|
269
|
-
onChange: (e) => void
|
|
352
|
+
onChange: (e) => void ye(e),
|
|
270
353
|
disabled: U,
|
|
271
354
|
className: "sr-only",
|
|
272
355
|
"aria-label": "Upload self-tape video"
|
|
273
356
|
}),
|
|
274
|
-
|
|
357
|
+
B ? /* @__PURE__ */ w("div", {
|
|
275
358
|
className: "flex items-center justify-between gap-2 rounded-lg border border-border-seam bg-bg-surface px-3 py-2",
|
|
276
359
|
children: [/* @__PURE__ */ w("span", {
|
|
277
360
|
className: "flex min-w-0 items-center gap-2 text-sm text-text-primary",
|
|
278
|
-
children: [/* @__PURE__ */ C(
|
|
361
|
+
children: [/* @__PURE__ */ C(h, { className: "h-4 w-4 shrink-0 text-status-success-text" }), /* @__PURE__ */ C("span", {
|
|
279
362
|
className: "truncate",
|
|
280
|
-
children:
|
|
363
|
+
children: me || "Self-tape uploaded"
|
|
281
364
|
})]
|
|
282
365
|
}), /* @__PURE__ */ C("button", {
|
|
283
366
|
type: "button",
|
|
284
|
-
onClick:
|
|
285
|
-
className: "rounded-md p-1 text-text-secondary hover:text-text-primary",
|
|
367
|
+
onClick: be,
|
|
368
|
+
className: "rounded-md p-1 text-text-secondary transition-colors hover:text-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
286
369
|
"aria-label": "Remove self-tape",
|
|
287
|
-
children: /* @__PURE__ */ C(
|
|
370
|
+
children: /* @__PURE__ */ C(ue, { className: "h-4 w-4" })
|
|
288
371
|
})]
|
|
289
372
|
}) : /* @__PURE__ */ C("button", {
|
|
290
373
|
type: "button",
|
|
291
374
|
onClick: () => Z.current?.click(),
|
|
292
375
|
disabled: U,
|
|
293
|
-
className: "inline-flex w-full items-center justify-center gap-2 rounded-lg border border-dashed border-border-subtle bg-bg-surface px-3 py-
|
|
294
|
-
children: U ? /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C(
|
|
376
|
+
className: "inline-flex w-full items-center justify-center gap-2 rounded-lg border border-dashed border-border-subtle bg-bg-surface px-3 py-3 text-sm text-text-secondary transition-colors hover:border-border-seam hover:text-text-primary disabled:opacity-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
377
|
+
children: U ? /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C(ce, { className: "h-4 w-4 animate-spin" }), "Uploading…"] }) : /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C(le, { className: "h-4 w-4" }), "Upload self-tape video"] })
|
|
295
378
|
}),
|
|
296
379
|
G && /* @__PURE__ */ C("p", {
|
|
297
380
|
className: "rounded-lg border border-status-error-border bg-status-error-bg-subtle px-3 py-2 text-xs text-status-error-text",
|
|
@@ -301,14 +384,14 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
301
384
|
}),
|
|
302
385
|
/* @__PURE__ */ w("button", {
|
|
303
386
|
type: "submit",
|
|
304
|
-
disabled:
|
|
305
|
-
className: "inline-flex w-full items-center justify-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-50
|
|
306
|
-
children: [/* @__PURE__ */ C(
|
|
387
|
+
disabled: F.isPending || U,
|
|
388
|
+
className: "inline-flex w-full items-center justify-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2.5 text-sm font-medium text-action-primary-text transition-opacity hover:opacity-90 disabled:opacity-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
389
|
+
children: [/* @__PURE__ */ C(v, { className: "h-4 w-4" }), F.isPending ? "Submitting…" : "Submit Application"]
|
|
307
390
|
})
|
|
308
391
|
]
|
|
309
392
|
}) : /* @__PURE__ */ C("p", {
|
|
310
|
-
className: "text-sm text-text-secondary",
|
|
311
|
-
children: "This audition is no longer open."
|
|
393
|
+
className: "rounded-lg bg-bg-sunken px-3 py-2.5 text-sm text-text-secondary",
|
|
394
|
+
children: "This audition is no longer open for applications."
|
|
312
395
|
})]
|
|
313
396
|
})]
|
|
314
397
|
})]
|
|
@@ -316,6 +399,6 @@ var E = "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 t
|
|
|
316
399
|
});
|
|
317
400
|
};
|
|
318
401
|
//#endregion
|
|
319
|
-
export {
|
|
402
|
+
export { O as AuditionDetailPage };
|
|
320
403
|
|
|
321
404
|
//# sourceMappingURL=AuditionDetailPage.js.map
|