PageSourceSearch

https://screening.triumphoftheheart.com/assets/index-BlrDXB9N.js

js triumphoftheheart.com collected 2026-10-03 23:28:10 UTC 17,196 bytes, 1 lines download raw bytes

1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`c3f7c997f5e7f68f31adc96ef8df29e1c8d51a76`}}catch{}})();import{D as e,I as t,N as n,t as r,z as i}from"./jsx-runtime-aCpEuL3u.js";import{r as a}from"./chunk-RJYABSBD-DbsCOTbt.js";import{l as o}from"./dist-Cp-XYCaH.js";import{O as s,k as c}from"./client-DFFCK7tb.js";import{t as l}from"./createLucideIcon-BBfSb2RH.js";import{t as u}from"./loader-circle-Df-ODwd2.js";import{f as d}from"./dialog-BQ-YtelU.js";import{t as f}from"./constants-D9VtKfmv.js";import{t as p}from"./button-D0T-gyxj.js";import{t as m}from"./donate-dialog-DiK-LBe9.js";import{t as h}from"./iframe-aware-link-B5vPoWij.js";var g=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),_=i(t(),1),v=i(r(),1);function y({video:e,isSelected:t,isDisabled:n,onSelect:r}){return(0,v.jsxs)(`button`,{type:`button`,onClick:()=>r(e),disabled:n,className:`group flex w-[140px] shrink-0 flex-col overflow-hidden rounded-md bg-black/50 text-left shadow-lg transition sm:w-[180px] ${t?`scale-105 cursor-default bg-black/70`:n?`cursor-default`:`curs
1or-pointer hover:scale-105 hover:bg-black/70`}`,"aria-label":`Watch ${e.title}`,"data-sentry-component":`AncillaryVideoThumbnail`,"data-sentry-source-file":`preview-screen.tsx`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(`img`,{src:e.thumbnail_url,alt:e.title,className:`h-[78px] w-full object-cover sm:h-[100px]`}),t?(0,v.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,v.jsx)(u,{className:`h-5 w-5 animate-spin text-white ease-in-out`})}):(0,v.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center opacity-0 transition-opacity duration-200 group-hover:opacity-100`,children:(0,v.jsx)(`div`,{className:`rounded-full bg-black/60 p-2`,children:(0,v.jsx)(g,{className:`h-5 w-5 fill-white text-white`})})})]}),(0,v.jsx)(`span`,{className:`line-clamp-2 px-2 py-2 text-xs font-medium text-white/90`,children:e.title})]})}function b({onPlay:e,ancillaryVideos:t,onSelectAncillaryVideo:n,donateTarget:r,accessType:i}){let[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(!1),l=a!==null;function d(){o(`play`),e()}function h(e){o(e.cloudflare_video_id),n(e)}return(0,v.jsxs)(`div`,{className:`relative min-h-dvh w-full`,"data-sentry-component":`PreviewScreen`,"data-sentry-source-file":`preview-screen.tsx`,children:[(0,v.jsx)(`div`,{className:`absolute inset-0 bg-cover bg-center`,style:{backgroundImage:f},children:(0,v.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black via-black/40 to-transparent`})}),(0,v.jsxs)(`div`,{className:`relative flex min-h-dvh flex-col px-5 py-6 sm:px-8 md:px-16 lg:px-24`,children:[(0,v.jsx)(`div`,{className:`flex flex-1 flex-col justify-center`,children:(0,v.jsxs)(`div`,{className:`max-w-2xl space-y-5 sm:space-y-6`,children:[(0,v.jsx)(`h1`,{className:`toth-serif-font text-4xl text-white sm:text-5xl lg:text-6xl`,children:`Triumph of the Heart`}),(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-white/80`,children:[(0,v.jsx)(`span`,{children:`2024`}),(0,v.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/80`}),(0,v.jsx)(`span`,{children:`2h 15m`}),(0,v.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/80`}),(0,v.jsx)(`span`,{children:`Drama`})]}),(0,v.jsx)(`p`,{className:`line-clamp-3 text-base text-white/90 sm:text-lg`,children:`A feature film about St. Maximilian Kolbe and his companions' triumph over death.`}),(0,v.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,v.jsxs)(p,{size:`lg`,className:`h-12 cursor-pointer gap-2 bg-white px-6 text-base text-black hover:bg-black hover:text-white sm:h-14 sm:px-8 sm:text-lg`,onClick:d,disabled:l,"data-sentry-element":`Button`,"data-sentry-source-file":`preview-screen.tsx`,children:[a===`play`?(0,v.jsx)(u,{className:`h-6 w-6 animate-spin`}):(0,v.jsx)(g,{className:`h-6 w-6 fill-current`}),a===`play`?`Loading...`:`Play`]})}),t.length>0&&(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsx)(`p`,{className:`toth-serif-font ms-1 text-lg font-light tracking-widest text-white/80 sm:text-xl`,children:`More to Watch`}),(0,v.jsx)(`div`,{className:`-mx-5 flex gap-4 overflow-x-auto px-5 pb-2 sm:mx-0 sm:gap-6 sm:px-0`,children:t.map(e=>(0,v.jsx)(y,{video:e,isSelected:a===e.cloudflare_video_id,isDisabled:l,onSelect:h},e.cloudflare_video_id))})]})]})}),(0,v.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-x-6 gap-y-2 pt-8`,children:[(0,v.jsx)(`a`,{href:`/logout`,className:`text-base font-medium text-white uppercase underline decoration-2 underline-offset-4 hover:text-white/80 sm:text-lg`,children:`Logout`}),(0,v.jsx)(`a`,{href:`https://triumphoftheheart.org/streaming-support`,target:`_blank`,rel:`noopener noreferrer`,className:`text-base font-medium text-white uppercase underline decoration-2 underline-offset-4 hover:text-white/80 sm:text-lg`,children:`Support`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>c(!0),className:`cursor-pointer text-base font-medium text-white uppercase underline decoration-2 underline-offset-4 hover:text-white/80 sm:text-lg`,children:`Donate`})]})]}),(0,v.jsx)(m,{open:s,onOpenChange:c,donateTarget:r,placement:`preview_screen`,accessType:i,"data-sentry-element":`DonateDialog`,"data-sentry-source-file":`preview-screen.tsx`})]})}function x(){return(0,v.jsxs)(`div`,{className:`relative min-h-dvh w-full`,"data-sentry-component":`RentalExpiredScreen`,"data-sentry-source-file":`rental-expired-screen.tsx`,children:[(0,v.jsx)(`div`,{className:`absolute inset-0 bg-cover bg-center`,style:{backgroundImage:f},children:(0,v.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black via-black/60 to-black/40`})}),(0,v.jsx)(`div`,{className:`relative flex min-h-dvh items-center justify-center px-4 py-8 sm:px-6`,children:(0,v.jsxs)(`div`,{className:`w-full max-w-md 
1space-y-6 rounded-xl bg-white/95 p-6 text-center shadow-xl backdrop-blur-sm sm:p-8`,children:[(0,v.jsx)(`h1`,{className:`text-2xl font-bold text-gray-900 sm:text-3xl`,children:`Your rental has expired`}),(0,v.jsxs)(`p`,{className:`text-lg text-gray-700`,children:[`Your rental window for `,(0,v.jsx)(`em`,{children:`Triumph of the Heart`}),` has ended. Rent it again, or buy lifetime access to watch anytime.`]}),(0,v.jsxs)(`div`,{className:`space-y-3 pt-2`,children:[(0,v.jsx)(p,{asChild:!0,className:`bg-cta-orange hover:bg-cta-orange/90 h-12 w-full text-base font-semibold`,"data-sentry-element":`Button`,"data-sentry-source-file":`rental-expired-screen.tsx`,children:(0,v.jsx)(h,{to:a(`/rental`),"data-sentry-element":`IframeAwareLink`,"data-sentry-source-file":`rental-expired-screen.tsx`,children:`Rent again`})}),(0,v.jsx)(p,{asChild:!0,variant:`outline`,className:`h-12 w-full text-base font-semibold`,"data-sentry-element":`Button`,"data-sentry-source-file":`rental-expired-screen.tsx`,children:(0,v.jsx)(h,{to:a(`/streaming`),"data-sentry-element":`IframeAwareLink`,"data-sentry-source-file":`rental-expired-screen.tsx`,children:`Buy lifetime access`})})]}),(0,v.jsx)(`a`,{href:`/logout`,className:`inline-block text-sm font-medium text-gray-600 underline hover:text-gray-800`,children:`Log out`})]})})]})}var S=`https://embed.cloudflarestream.com/embed/sdk.latest.js`,C=function(){if(!(typeof window>`u`))return window.Stream};function w(){var e=(0,_.useState)(C),t=e[0],n=e[1];return(0,_.useEffect)(function(){if(!t){var e=document.querySelector(`script[src='`+S+`']`),r=e??document.createElement(`script`);r.addEventListener(`load`,function(){n(C)}),e||(r.src=S,document.head.appendChild(r))}},[t]),t}function T(e,t){var n=t.muted,r=t.preload,i=t.loop,a=t.autoplay,o=t.controls,s=t.poster,c=t.primaryColor,l=t.letterboxColor,u=t.adUrl,d=t.startTime,f=t.defaultTextTrack,p=t.customerCode,m=[s&&`poster=`+encodeURIComponent(s),u&&`ad-url=`+encodeURIComponent(u),f&&`defaultTextTrack=`+encodeURIComponent(f),c&&`primaryColor=`+encodeURIComponent(c),l&&`letterboxColor=`+encodeURIComponent(l),d&&`startTime=`+d,n&&`muted=true`,r&&`preload=`+r,i&&`loop=true`,a&&`autoplay=true`,!o&&`controls=false`].filter(Boolean).join(`&`);return(0,_.useMemo)(function(){return p?`https://customer-`+p+`.cloudflarestream.com/`+e+`/iframe?`+m:`https://iframe.cloudflarestream.com/`+e+`?`+m},[])}function E(e){try{var t=new URL(e);return t.hostname.endsWith(`videodelivery.net`)||t.hostname.endsWith(`cloudflarestream.com`)}catch{return!1}}function D(e,t,n){(0,_.useEffect)(function(){if(!(!t.current||n===void 0)){var r=t.current;r[e]=n}},[e,n,t])}function O(e,t,n){n===void 0&&(n=k),(0,_.useEffect)(function(){if(t.current){var r=t.current;return r.addEventListener(e,n),function(){return r.removeEventListener(e,n)}}},[n,e,t])}var k=function(){},A=function(e){return w()?_.createElement(j,Object.assign({},e)):null},ee={position:`absolute`,top:0,left:0,right:0,bottom:0,height:`100%`,width:`100%`},te=function(e){var t=e.children,n=e.responsive,r=e.className,i=e.videoDimensions,a=i.videoHeight,o=i.videoWidth,s=(0,_.useMemo)(function(){return{position:`relative`,paddingTop:o>0?a/o*100+`%`:void 0}},[o,a]);return _.createElement(`div`,{className:r,style:n?s:void 0},t)},j=function(e){var t=e.src,n=e.customerCode,r=e.adUrl,i=e.controls,a=i===void 0?!1:i,o=e.muted,s=o===void 0?!1:o,c=e.autoplay,l=c===void 0?!1:c,u=e.loop,d=u===void 0?!1:u,f=e.preload,p=f===void 0?`metadata`:f,m=e.primaryColor,h=e.letterboxColor,g=e.defaultTextTrack,v=e.height,y=e.width,b=e.poster,x=e.currentTime,S=e.volume,w=S===void 0?1:S,k=e.playbackRate,A=k===void 0?1:k,j=e.startTime,M=e.streamRef,N=e.responsive,P=N===void 0?!0:N,F=e.className,I=e.title,L=e.onAbort,R=e.onCanPlay,z=e.onCanPlayThrough,B=e.onDurationChange,ne=e.onEnded,re=e.onError,ie=e.onLoadedData,V=e.onLoadedMetaData,H=e.onLoadStart,U=e.onPause,W=e.onPlay,G=e.onPlaying,K=e.onProgress,q=e.onRateChange,J=e.onResize,ae=e.onSeeked,oe=e.onSeeking,se=e.onStalled,ce=e.onSuspend,le=e.onTimeUpdate,ue=e.onVolumeChange,de=e.onWaiting,Y=e.onStreamAdStart,fe=e.onStreamAdEnd,pe=e.onStreamAdTimeout,me=(0,_.useRef)(),X=M??me,Z=(0,_.useState)({videoHeight:0,videoWidth:0}),he=Z[0],Q=Z[1],$=(0,_.useRef)(null),ge=T(t,{customerCode:n,muted:s,preload:p,loop:d,autoplay:l,controls:a,poster:b,primaryColor:m,letterboxColor:h,adUrl:r,defaultTextTrack:g,startTime:j}),_e=E(t)?t:ge;return D(`muted`,X,s),D(`controls`,X,a),D(`src`,X,t),D(`autoplay`,X,l),D(`currentTime`,X,x),D(`loop`,X,d),D(`preload`,X,p),D(`primaryColor`,X,m),D(`letterboxColor`,X,h),D(`volume`,X,w),D(`playbackRate`,X,A),(0,_.useEffect)(function(){var e=C();if($.current&&e){var t=e($.current);X.current=t;var n=t.videoHeight,r=t.videoWidth;n&&r&&Q({videoHeight:n,videoWidth:r})}},[]),O(`abort`,X,L),O(`canplay`,X,R),O(`canplaythrough`,X,z),O(`durationchange`,X,B),O(`ended`,X,ne),O(`error`,X,re),O(`loadeddata`,X,ie),O(`loadedmetadata`,X,V),O(`loadstart`,X,H),O(`pause`,X,U),O(`play`,X,W),O(`playing`,X,G),O(`progress`,X,K),O(`ratechange`,X,q),O(`seeked`,X,ae),O(`seeking`,X,oe),O(`stalled`,X,se),O(`suspend`,X,ce),O(`timeupdate`,X,le),O(`volumechange`,X,ue),O(`waiting`,X,de),O(`stream-adstart`,X,Y),O(`stream-adend`,X,fe),O(`stream-adtimeout`,X,pe),O(`resize`,X,function(e){if(X.current){var t=X.current,n=t.videoHeight,r=t.videoWidth;Q({videoHeight:n,videoWidth:r}),J&&J(e)}}),_.createElement(te,{className:F,responsive:P,videoDimensions:he},_.createElement(`iframe`,{ref:$,src:_e,title:I,style:P?ee:void 0,frameBorder:0,height:v,width:y,allow:`accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;`,allowFullScreen:!0}))},M=2e3,N=50,P=6450;function F({onExit:e,visible:t,title:n}){return(0,v.jsxs)(`div`,{className:`absolute top-0 right-0 left-0 z-10 transition-opacity duration-300 ${t?`opacity-100`:`pointer-events-none opacity-0`}`,"data-sentry-component":`VideoOverlay`,"data-sentry-source-file":`video-player.tsx`,children:[(0,v.jsxs)(`div`,{className:`relative hidden h-full sm:block`,children:[(0,v.jsx)(`div`,{className:`pt-[clamp(1rem,2vw,4rem)] text-center`,children:(0,v.jsx)(`div`,{className:`toth-serif-font text-[clamp(2rem,5vw,6rem)] text-white text-shadow-2xs`,children:n})}),(0,v.jsx)(`div`,{className:`absolute top-[clamp(1rem,3vw,4rem)] right-4`,children:(0,v.jsx)(`button`,{type:`button`,onClick:e,className:`curs
1or-pointer text-white/90 hover:text-white`,"aria-label":`Exit player`,children:(0,v.jsx)(d,{className:`h-[clamp(1.5rem,5vw,5rem)] w-[clamp(1.5rem,5vw,5rem)]`,"data-sentry-element":`X`,"data-sentry-source-file":`video-player.tsx`})})})]}),(0,v.jsx)(`div`,{className:`relative sm:hidden`,children:(0,v.jsx)(`div`,{className:`bg-gradient-to-b from-black/60 to-transparent p-3`,children:(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`div`,{className:`flex-1 px-2`,children:(0,v.jsx)(`div`,{className:`toth-serif-font text-lg font-medium text-white`,children:n})}),(0,v.jsx)(`button`,{type:`button`,onClick:e,className:`flex-shrink-0 cursor-pointer p-1 text-white/90 hover:text-white`,"aria-label":`Exit player`,children:(0,v.jsx)(d,{className:`h-[clamp(1rem,2.5vw,1.5rem)] w-[clamp(1rem,2.5vw,1.5rem)]`,"data-sentry-element":`X`,"data-sentry-source-file":`video-player.tsx`})})]})})})]})}function I({onDonate:e,onDismiss:t}){let[n,r]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let e=setTimeout(()=>r(!0),0);return()=>clearTimeout(e)},[]),(0,v.jsx)(`div`,{className:`fixed right-[9vw] bottom-[17vh] z-20 rounded-lg shadow-lg transition-all duration-500 ease-out ${n?`translate-y-0 opacity-100`:`translate-y-2 opacity-0`}`,"data-sentry-component":`DonateButton`,"data-sentry-source-file":`video-player.tsx`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:t,className:`absolute -top-[25px] -right-[25px] z-10 cursor-pointer rounded-full bg-white p-1 text-black hover:bg-gray-200`,"aria-label":`Dismiss donation button`,children:(0,v.jsx)(d,{size:16,className:`text-black`,"data-sentry-element":`X`,"data-sentry-source-file":`video-player.tsx`})}),(0,v.jsx)(p,{onClick:e,className:`h-auto cursor-pointer bg-blue-500 px-[clamp(1rem,2.5vw,4rem)] py-[clamp(1rem,1vh,1rem)] text-[clamp(1rem,3vw,5rem)] shadow-2xl hover:bg-blue-700`,size:`lg`,"data-sentry-element":`Button`,"data-sentry-source-file":`video-player.tsx`,children:`Donate Now`})]})})}function L({watchToken:e,title:t,donateTarget:n,accessType:r,showDonation:i=!0,onExit:a}){let[s,c]=(0,_.useState)(!1),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!1),[p,h]=(0,_.useState)(!1),g=(0,_.useRef)(void 0),y=(0,_.useRef)(void 0),b=(0,_.useRef)(void 0),x=(0,_.useRef)(!1),S=(0,_.useCallback)(()=>{if(!i||x.current)return;let e=g.current?.currentTime;e&&e>=P&&(x.current=!0,o.capture(`movie_completed`),document.fullscreenElement&&document.exitFullscreen().catch(e=>{console.error(`Error exiting fullscreen:`,e)}),u(!0))},[i]),C=(0,_.useCallback)(()=>{c(!0),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{c(!1)},M)},[]),w=(0,_.useCallback)(()=>{b.current&&clearTimeout(b.current),b.current=setTimeout(C,N)},[C]);(0,_.useEffect)(()=>(window.addEventListener(`mousemove`,w),()=>{window.removeEventListener(`mousemove`,w),y.current&&clearTimeout(y.current),b.current&&clearTimeout(b.current)}),[w]);function T(){g.current?.pause(),a()}function E(){h(!0)}function D(){f(!0),u(!1)}return(0,v.jsxs)(`div`,{className:`fixed inset-0 h-full w-full bg-black`,"data-sentry-component":`VideoPlayer`,"data-sentry-source-file":`video-player.tsx`,children:[(0,v.jsx)(A,{className:`responsive-stream-wrapper`,controls:!0,autoplay:!0,streamRef:g,onTimeUpdate:S,src:e,responsive:!1,width:`100%`,height:`100%`,"data-sentry-element":`Stream`,"data-sentry-source-file":`video-player.tsx`}),(0,v.jsx)(`div`,{className:`absolute inset-0 z-5`,onMouseMove:C,style:{pointerEvents:s?`none`:`auto`}}),(0,v.jsx)(F,{onExit:T,visible:s,title:t,"data-sentry-element":`VideoOverlay`,"data-sentry-source-file":`video-player.tsx`}),i&&l&&!d&&(0,v.jsx)(I,{onDonate:E,onDismiss:D}),i&&(0,v.jsx)(m,{open:p,onOpenChange:h,donateTarget:n,placement:`video_player`,accessType:r})]})}async function R(t){let{data:n,error:r}=await s();return r||!n?r?.error?.code===`ALREADY_EXPIRED`?{expired:!0}:e(a(`/streaming`)):{expired:!1,donateTarget:n.donate_target,accessType:n.access_type,primaryVideo:n.videos.find(e=>e.is_primary),ancillaryVideos:n.videos.filter(e=>!e.is_primary)}}var z=n(function({loaderData:e}){let[t,n]=(0,_.useState)(void 0),[r,i]=(0,_.useState)(void 0),a=!!r;if(e.expired)return(0,v.jsx)(x,{});async function o(){let{data:t}=await c();t?.token&&(n(t.token),i(e.primaryVideo))}async function s(e){let{data:t}=await c({query:{cloudflare_video_id:e.cloudflare_video_id}});t?.token&&(n(t.token),i(e))}function l(){n(void 0),i(void 0)}return a&&t?(0,v.jsx)(L,{watchToken:t,title:r.title,donateTarget:e.donateTarget,accessType:e.accessType,showDonation:r.is_primary,onExit:l}):(0,v.jsx)(b,{onPlay:o,ancillaryVideos:e.ancillaryVideos,onSelectAncillaryVideo:s,donateTarget:e.donateTarget,accessType:e.accessType,"data-sentry-element":`PreviewScreen`,"data-sentry-component":`WatchPage`,"data-sentry-source-file":`index.tsx`})});
1export{R as clientLoader,z as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.