@burdenoff/microfe-hookmovies 2026.1027.1 → 2026.1027.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.
@@ -41,7 +41,7 @@ var T = () => {
41
41
  if (O.isLoading) return I(/* @__PURE__ */ v(o, { label: "Loading invite…" }));
42
42
  if (O.error || !O.data) return I(/* @__PURE__ */ v(a, {
43
43
  title: "This invite is not available",
44
- message: `${C(O.error)} Make sure you are signed in to the same HookMovies workspace the invite was sent from.`
44
+ message: `${C(O.error).replace(/[.\s]*$/, ".")} Make sure you are signed in to the same HookMovies workspace the invite was sent from.`
45
45
  }));
46
46
  let L = O.data, R = j?.status === "ACCEPTED", z = j?.status === "DECLINED", B = !j && L.status === "PENDING" && !L.callerIsMinor;
47
47
  return I(/* @__PURE__ */ y(_, { children: [/* @__PURE__ */ y(b, {
@@ -1 +1 @@
1
- {"version":3,"file":"GuardianInvitePage.js","names":[],"sources":["../../../../src/hookmovies/pages/casting/GuardianInvitePage.tsx"],"sourcesContent":["/**\n * Guardian invite page (BOFF-9648)\n * @module hookmovies/pages/casting\n *\n * Where the link in a guardian invite email lands. The invite token travels\n * in the URL fragment (`#token=…`) so it never reaches a server or CDN log;\n * this page reads it client-side, previews the invite (`hokGuardianInvite`)\n * and lets the signed-in guardian accept or decline it\n * (`hokAcceptGuardianInvite`, `hokDeclineGuardianInvite`).\n *\n * Accepting records the guardian link. A guardian who is not yet a verified\n * adult is routed straight to identity verification on the same page, since\n * their consent is only honoured once trust & safety has verified them.\n */\n\nimport { type FC, type ReactElement, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router';\nimport { CheckCircle2, ShieldAlert, XCircle } from 'lucide-react';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\n\nimport { PageLayout } from '../../components/PageLayout';\nimport { StatusBadge } from '../../components/StatusBadge';\nimport { ErrorState, LoadingState } from '../../components/StateViews';\nimport { useHookMovies } from '../../context';\nimport {\n type HokGuardianLink,\n useAcceptGuardianInvite,\n useDeclineGuardianInvite,\n useGuardianInvite,\n} from '../../hooks/useCastingApi';\nimport { formatDate, formatEnumLabel } from '../../utils/formatters';\nimport { IdentityVerificationCard } from './IdentityVerificationCard';\n\nconst primaryButton =\n 'inline-flex items-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 transition-opacity';\nconst secondaryButton =\n 'inline-flex items-center gap-2 rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken disabled:opacity-50 transition-colors';\n\nconst errorText = (err: unknown): string =>\n err instanceof Error ? err.message : 'Something went wrong. Please retry.';\n\n/** The invite token from `#token=…` (or, for older links, `?token=…`). */\nexport function readInviteToken(hash: string, search: string): string | null {\n const fromHash = new URLSearchParams(hash.replace(/^#/, '')).get('token');\n const token = fromHash ?? new URLSearchParams(search).get('token');\n return token && token.trim().length > 0 ? token.trim() : null;\n}\n\nexport const GuardianInvitePage: FC = () => {\n const location = useLocation();\n const { navigateTo } = useHookMovies();\n const token = useMemo(\n () =>\n readInviteToken(\n location.hash || (typeof window !== 'undefined' ? window.location.hash : ''),\n location.search\n ),\n [location.hash, location.search]\n );\n const invite = useGuardianInvite(token);\n const accept = useAcceptGuardianInvite();\n const decline = useDeclineGuardianInvite();\n const [outcome, setOutcome] = useState<HokGuardianLink | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n const run = async (fn: () => Promise<HokGuardianLink>) => {\n setError(null);\n try {\n setOutcome(await fn());\n } catch (err) {\n setError(errorText(err));\n }\n };\n\n const layout = (body: ReactElement) => (\n <PageLayout\n title=\"Guardian invite\"\n description=\"Act as a parent or legal guardian for a young performer\"\n purpose=\"A HookMovies member under 18 named you as their parent or legal guardian. Accept to confirm callbacks and sign role offers for them. You must be a verified adult before your consent counts.\"\n >\n <div className=\"mx-auto max-w-2xl space-y-4\">{body}</div>\n </PageLayout>\n );\n\n if (!token) {\n return layout(\n <ErrorState\n title=\"No invite found in this link\"\n message=\"Open the invite link from your email again, or ask for a new invite.\"\n />\n );\n }\n if (invite.isLoading) return layout(<LoadingState label=\"Loading invite…\" />);\n if (invite.error || !invite.data) {\n return layout(\n <ErrorState\n title=\"This invite is not available\"\n message={`${errorText(invite.error)} Make sure you are signed in to the same HookMovies workspace the invite was sent from.`}\n />\n );\n }\n\n const preview = invite.data;\n const accepted = outcome?.status === 'ACCEPTED';\n const declined = outcome?.status === 'DECLINED';\n const actionable = !outcome && preview.status === 'PENDING' && !preview.callerIsMinor;\n\n return layout(\n <>\n <GlassCard\n treatment=\"glass\"\n className=\"border-border-seam p-5\"\n data-testid=\"guardian-invite-card\"\n >\n <div className=\"flex flex-wrap items-start justify-between gap-3\">\n <div>\n <h2 className=\"text-base font-semibold text-text-primary\">\n You have been named as a {formatEnumLabel(preview.guardianRelationship).toLowerCase()}\n </h2>\n <p className=\"mt-1 text-sm text-text-secondary\">\n For HookMovies account <code>{preview.minorActorId.slice(0, 8)}</code> · expires{' '}\n {formatDate(preview.expiresAt)}\n </p>\n </div>\n <StatusBadge status={outcome?.status ?? preview.status} />\n </div>\n\n {preview.callerIsMinor && (\n <p className=\"mt-4 inline-flex items-center gap-2 text-sm text-status-warning-text\">\n <ShieldAlert className=\"h-4 w-4\" />\n This is your own invite. Send the link to your guardian — they must accept it from their\n own account.\n </p>\n )}\n {!outcome && !preview.callerIsMinor && preview.status !== 'PENDING' && (\n <p className=\"mt-4 text-sm text-text-secondary\">\n This invite is {formatEnumLabel(preview.status).toLowerCase()} and can no longer be\n accepted. Ask for a new invite if you still want to act as their guardian.\n </p>\n )}\n {error && (\n <p role=\"alert\" className=\"mt-4 text-sm text-status-error-text\">\n {error}\n </p>\n )}\n {accepted && (\n <p className=\"mt-4 inline-flex items-center gap-2 text-sm text-status-success-text\">\n <CheckCircle2 className=\"h-4 w-4\" />\n You are now their guardian. Callbacks and offers for minor roles will come to you.\n </p>\n )}\n {declined && <p className=\"mt-4 text-sm text-text-secondary\">You declined this invite.</p>}\n\n {actionable && (\n <div className=\"mt-5 flex flex-wrap gap-2\">\n <button\n type=\"button\"\n className={primaryButton}\n disabled={accept.isPending || decline.isPending}\n onClick={() => void run(() => accept.mutateAsync({ token }))}\n >\n <CheckCircle2 className=\"h-4 w-4\" />\n Accept and become their guardian\n </button>\n <button\n type=\"button\"\n className={secondaryButton}\n disabled={accept.isPending || decline.isPending}\n onClick={() => void run(() => decline.mutateAsync({ token }))}\n >\n <XCircle className=\"h-4 w-4\" />\n Decline\n </button>\n </div>\n )}\n {accepted && (\n <button\n type=\"button\"\n className={`${secondaryButton} mt-4`}\n onClick={() => navigateTo('casting/mine')}\n >\n Go to My casting\n </button>\n )}\n </GlassCard>\n\n {!preview.callerIsMinor && !preview.callerVerifiedAdult && !declined && (\n <IdentityVerificationCard intro=\"You are not a verified adult on HookMovies yet. Submit your identity so trust & safety can verify you — until then you can accept the invite, but you cannot confirm callbacks or sign offers.\" />\n )}\n </>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"GuardianInvitePage.js","names":[],"sources":["../../../../src/hookmovies/pages/casting/GuardianInvitePage.tsx"],"sourcesContent":["/**\n * Guardian invite page (BOFF-9648)\n * @module hookmovies/pages/casting\n *\n * Where the link in a guardian invite email lands. The invite token travels\n * in the URL fragment (`#token=…`) so it never reaches a server or CDN log;\n * this page reads it client-side, previews the invite (`hokGuardianInvite`)\n * and lets the signed-in guardian accept or decline it\n * (`hokAcceptGuardianInvite`, `hokDeclineGuardianInvite`).\n *\n * Accepting records the guardian link. A guardian who is not yet a verified\n * adult is routed straight to identity verification on the same page, since\n * their consent is only honoured once trust & safety has verified them.\n */\n\nimport { type FC, type ReactElement, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router';\nimport { CheckCircle2, ShieldAlert, XCircle } from 'lucide-react';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\n\nimport { PageLayout } from '../../components/PageLayout';\nimport { StatusBadge } from '../../components/StatusBadge';\nimport { ErrorState, LoadingState } from '../../components/StateViews';\nimport { useHookMovies } from '../../context';\nimport {\n type HokGuardianLink,\n useAcceptGuardianInvite,\n useDeclineGuardianInvite,\n useGuardianInvite,\n} from '../../hooks/useCastingApi';\nimport { formatDate, formatEnumLabel } from '../../utils/formatters';\nimport { IdentityVerificationCard } from './IdentityVerificationCard';\n\nconst primaryButton =\n 'inline-flex items-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 transition-opacity';\nconst secondaryButton =\n 'inline-flex items-center gap-2 rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken disabled:opacity-50 transition-colors';\n\nconst errorText = (err: unknown): string =>\n err instanceof Error ? err.message : 'Something went wrong. Please retry.';\n\n/** The invite token from `#token=…` (or, for older links, `?token=…`). */\nexport function readInviteToken(hash: string, search: string): string | null {\n const fromHash = new URLSearchParams(hash.replace(/^#/, '')).get('token');\n const token = fromHash ?? new URLSearchParams(search).get('token');\n return token && token.trim().length > 0 ? token.trim() : null;\n}\n\nexport const GuardianInvitePage: FC = () => {\n const location = useLocation();\n const { navigateTo } = useHookMovies();\n const token = useMemo(\n () =>\n readInviteToken(\n location.hash || (typeof window !== 'undefined' ? window.location.hash : ''),\n location.search\n ),\n [location.hash, location.search]\n );\n const invite = useGuardianInvite(token);\n const accept = useAcceptGuardianInvite();\n const decline = useDeclineGuardianInvite();\n const [outcome, setOutcome] = useState<HokGuardianLink | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n const run = async (fn: () => Promise<HokGuardianLink>) => {\n setError(null);\n try {\n setOutcome(await fn());\n } catch (err) {\n setError(errorText(err));\n }\n };\n\n const layout = (body: ReactElement) => (\n <PageLayout\n title=\"Guardian invite\"\n description=\"Act as a parent or legal guardian for a young performer\"\n purpose=\"A HookMovies member under 18 named you as their parent or legal guardian. Accept to confirm callbacks and sign role offers for them. You must be a verified adult before your consent counts.\"\n >\n <div className=\"mx-auto max-w-2xl space-y-4\">{body}</div>\n </PageLayout>\n );\n\n if (!token) {\n return layout(\n <ErrorState\n title=\"No invite found in this link\"\n message=\"Open the invite link from your email again, or ask for a new invite.\"\n />\n );\n }\n if (invite.isLoading) return layout(<LoadingState label=\"Loading invite…\" />);\n if (invite.error || !invite.data) {\n return layout(\n <ErrorState\n title=\"This invite is not available\"\n message={`${errorText(invite.error).replace(/[.\\s]*$/, '.')} Make sure you are signed in to the same HookMovies workspace the invite was sent from.`}\n />\n );\n }\n\n const preview = invite.data;\n const accepted = outcome?.status === 'ACCEPTED';\n const declined = outcome?.status === 'DECLINED';\n const actionable = !outcome && preview.status === 'PENDING' && !preview.callerIsMinor;\n\n return layout(\n <>\n <GlassCard\n treatment=\"glass\"\n className=\"border-border-seam p-5\"\n data-testid=\"guardian-invite-card\"\n >\n <div className=\"flex flex-wrap items-start justify-between gap-3\">\n <div>\n <h2 className=\"text-base font-semibold text-text-primary\">\n You have been named as a {formatEnumLabel(preview.guardianRelationship).toLowerCase()}\n </h2>\n <p className=\"mt-1 text-sm text-text-secondary\">\n For HookMovies account <code>{preview.minorActorId.slice(0, 8)}</code> · expires{' '}\n {formatDate(preview.expiresAt)}\n </p>\n </div>\n <StatusBadge status={outcome?.status ?? preview.status} />\n </div>\n\n {preview.callerIsMinor && (\n <p className=\"mt-4 inline-flex items-center gap-2 text-sm text-status-warning-text\">\n <ShieldAlert className=\"h-4 w-4\" />\n This is your own invite. Send the link to your guardian — they must accept it from their\n own account.\n </p>\n )}\n {!outcome && !preview.callerIsMinor && preview.status !== 'PENDING' && (\n <p className=\"mt-4 text-sm text-text-secondary\">\n This invite is {formatEnumLabel(preview.status).toLowerCase()} and can no longer be\n accepted. Ask for a new invite if you still want to act as their guardian.\n </p>\n )}\n {error && (\n <p role=\"alert\" className=\"mt-4 text-sm text-status-error-text\">\n {error}\n </p>\n )}\n {accepted && (\n <p className=\"mt-4 inline-flex items-center gap-2 text-sm text-status-success-text\">\n <CheckCircle2 className=\"h-4 w-4\" />\n You are now their guardian. Callbacks and offers for minor roles will come to you.\n </p>\n )}\n {declined && <p className=\"mt-4 text-sm text-text-secondary\">You declined this invite.</p>}\n\n {actionable && (\n <div className=\"mt-5 flex flex-wrap gap-2\">\n <button\n type=\"button\"\n className={primaryButton}\n disabled={accept.isPending || decline.isPending}\n onClick={() => void run(() => accept.mutateAsync({ token }))}\n >\n <CheckCircle2 className=\"h-4 w-4\" />\n Accept and become their guardian\n </button>\n <button\n type=\"button\"\n className={secondaryButton}\n disabled={accept.isPending || decline.isPending}\n onClick={() => void run(() => decline.mutateAsync({ token }))}\n >\n <XCircle className=\"h-4 w-4\" />\n Decline\n </button>\n </div>\n )}\n {accepted && (\n <button\n type=\"button\"\n className={`${secondaryButton} mt-4`}\n onClick={() => navigateTo('casting/mine')}\n >\n Go to My casting\n </button>\n )}\n </GlassCard>\n\n {!preview.callerIsMinor && !preview.callerVerifiedAdult && !declined && (\n <IdentityVerificationCard intro=\"You are not a verified adult on HookMovies yet. Submit your identity so trust & safety can verify you — until then you can accept the invite, but you cannot confirm callbacks or sign offers.\" />\n )}\n </>\n );\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-hookmovies",
3
- "version": "2026.1027.1",
3
+ "version": "2026.1027.2",
4
4
  "description": "Burdenoff HookMovies Microfrontend — discovery, catalog, engagement, auditions, productions, distribution, and library surfaces for the global creative-media network.",
5
5
  "type": "module",
6
6
  "files": [