UNPKG

@getontime/cli

Version:

Time keeping for live events

2 lines 8.55 kB
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`f14ad0099eab1969fdd065b56af5fdd3cf530de6`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`6569f57f-eaf8-4a08-88c2-df1cf5fb2f22`,e._sentryDebugIdIdentifier=`sentry-dbid-6569f57f-eaf8-4a08-88c2-df1cf5fb2f22`)}catch{}})();import{a as e,n as t,t as n}from"./jsx-runtime-BNC90REB.js";import{$ as r,A as i,E as a,N as o,O as s,Q as c,Rt as l,Tt as u,Vt as d,_t as f,f as p,g as m,h,qt as g,x as _,y as v}from"./useSocket-B9-0Z7zf.js";import{t as y}from"./Tooltip-DJ2_sn6r.js";import{J as b,K as x,Y as S}from"./constants-8b9Q9Bj6.js";import{t as C}from"./useRundown-BubT2Cyp.js";import{t as w}from"./playbackstate-C3qVH4fY.js";import{c as T,l as E,n as D,o as O,r as k,s as A,t as j}from"./tb-CLik_SnZ.js";import{t as M}from"./useAutoTickingClock-CjJeDQz8.js";import{t as N}from"./SuperscriptPeriod-maMkyH91.js";import{n as P,t as F}from"./offset-69iljPHz.js";function I(e,t=3,n,r=`due`){return e!==null&&e<=0?r:L(e,t,n)}function L(e,t=3,n){return f(e,{fallback:t===3?b:S,direction:n})}function R(e){return e!==null&&e>864e5?[e%u,Math.floor(e/u)]:[e,0]}var z={blink:`_blink_f1yts_2`,fourtyfive:`_fourtyfive_f1yts_14`,label:`_label_f1yts_18`,clock:`_clock_f1yts_23`,column:`_column_f1yts_35`,over:`_over_f1yts_47`,under:`_under_f1yts_48`},B=n();function V({label:e,value:t,state:n=`active`,className:r,testId:i}){return(0,B.jsxs)(`div`,{className:x([z.column,r]),"data-state":n,children:[(0,B.jsx)(`span`,{className:z.label,children:e}),(0,B.jsx)(`span`,{className:z.clock,"data-testid":i,children:t})]})}function H({label:e,state:t=`active`,className:n,render:r}){return(0,B.jsxs)(`div`,{className:x([z.column,n]),"data-state":t,children:[(0,B.jsx)(`span`,{className:z.label,children:e}),r(z.clock)]})}function U({state:e,value:t,testId:n}){return(0,B.jsxs)(`div`,{className:z.column,"data-state":e,children:[(0,B.jsxs)(`div`,{className:z.label,children:[(0,B.jsx)(`span`,{className:z.over,children:`Over`}),(0,B.jsx)(`span`,{children:`/`}),(0,B.jsx)(`span`,{className:z.under,children:`Under`})]}),(0,B.jsx)(`span`,{className:z.clock,"data-testid":n,children:t})]})}var W={blink:`_blink_1rjoo_1`,fourtyfive:`_fourtyfive_1rjoo_13`,column:`_column_1rjoo_17`,row:`_row_1rjoo_26`,row2:`_row2_1rjoo_33`,metadataRow:`_metadataRow_1rjoo_40`,labelledElement:`_labelledElement_1rjoo_47`,icon:`_icon_1rjoo_53`,label:`_label_1rjoo_47`,time:`_time_1rjoo_65`,daySpan:`_daySpan_1rjoo_72`,muted:`_muted_1rjoo_87`,labelTitle:`_labelTitle_1rjoo_91`,dueTime:`_dueTime_1rjoo_100`},G=e(t(),1),K={format12:`hh:mm:ss a`,format24:`HH:mm:ss`};function q(e,t){return e===null?b:t?r(e,K):f(e,{fallback:b})}function J({shouldFormat:e}){let{plannedEnd:t,plannedStart:n,actualStart:r}=i(),a=q(n,e),o=q(r,e),[s,c]=(0,G.useMemo)(()=>R(t),[t]),l=q(s,e),u=c>0,d=u?`Planned end time (rundown spans over ${c+1} days)`:`Planned end time`;return(0,B.jsxs)(`div`,{className:W.column,children:[(0,B.jsxs)(`div`,{className:W.row,children:[(0,B.jsx)(`span`,{className:W.label,children:`Start`}),(0,B.jsx)(y,{text:`Planned start time`,render:(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(D,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,n===null&&W.muted]),time:a})]})}),(0,B.jsx)(y,{text:`Actual start time`,render:(0,B.jsxs)(`div`,{className:W.labelledElement,"data-testid":`actual-start-time`,children:[(0,B.jsx)(j,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,r===null&&W.muted]),time:o})]})})]}),(0,B.jsxs)(`div`,{className:W.row,children:[(0,B.jsx)(`span`,{className:W.label,children:`End`}),(0,B.jsx)(y,{text:d,render:(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(D,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,t===null&&W.muted]),time:l}),u&&(0,B.jsx)(`span`,{className:x([W.time,W.daySpan]),"data-day-offset":c})]})}),(0,B.jsx)(X,{shouldFormat:e})]})]})}function Y({shouldFormat:e}){let{plannedEnd:t,plannedStart:n}=i(),r=q(n,e),[a,o]=(0,G.useMemo)(()=>R(t),[t]),s=q(a,e),c=o>0,l=c?`Planned end time (rundown spans over ${o+1} days)`:`Planned end time`;return(0,B.jsxs)(`div`,{className:W.column,children:[(0,B.jsxs)(`div`,{className:W.row2,children:[(0,B.jsx)(`span`,{className:W.label,children:`Start`}),(0,B.jsx)(y,{text:`Planned start time`,render:(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(D,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,n===null&&W.muted]),time:r})]})})]}),(0,B.jsxs)(`div`,{className:W.row2,children:[(0,B.jsx)(`span`,{className:W.label,children:`End`}),(0,B.jsx)(y,{text:l,render:(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(D,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,t===null&&W.muted]),time:s}),c&&(0,B.jsx)(`span`,{className:x([W.time,W.daySpan]),"data-day-offset":o})]})})]})]})}function X({shouldFormat:e}){let t=s(),[n,r]=(0,G.useMemo)(()=>R(t),[t]),i=q(n,e),a=n!==null&&r>0;return(0,B.jsx)(y,{text:a?`Expected end time (rundown spans over ${r+1} days)`:`Expected end time`,render:(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(k,{className:W.icon}),(0,B.jsx)(N,{className:x([W.time,n===null&&W.muted]),time:i}),a&&(0,B.jsx)(`span`,{className:x([W.time,W.daySpan]),"data-day-offset":r})]})})}function Z(){return(0,B.jsxs)(`div`,{className:W.column,children:[(0,B.jsx)(Q,{}),(0,B.jsx)($,{})]})}function Q(){let{clock:e,mode:t,groupExpectedEnd:n,actualGroupStart:r,currentDay:i,playback:a,phase:o}=m(),s=C(p()),c=o!==l.Pending&&w(a),f=I((()=>{if(!c||!s||s.timeStart===null)return null;let n=e+i*u;return t===d.Absolute?s.timeStart+s.duration-n:r===null?null:r+s.duration-n})(),3,g.CountDown),h=c&&n!==null?n-e:null,_=I(h,3,g.CountDown);return(0,B.jsxs)(`div`,{className:W.metadataRow,children:[(0,B.jsx)(`span`,{className:s?.title?W.labelTitle:W.label,children:`${s?.title||`Group`} `}),(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(y,{text:`Time to planned group end`,render:(0,B.jsx)(T,{className:W.icon})}),(0,B.jsx)(`span`,{className:x([W.time,(!s||!c)&&W.muted,f===`due`&&W.dueTime]),children:f})]}),(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(y,{text:`Time to expected group end`,render:(0,B.jsx)(E,{className:W.icon})}),(0,B.jsx)(`span`,{className:x([W.time,h===null&&W.muted,_===`due`&&W.dueTime]),children:_})]})]})}function $(){let{clock:e,mode:t,actualStart:n,plannedStart:r,playback:i,currentDay:a,phase:o}=h(),{id:s,expectedStart:c}=v(),f=C(s),p=o!==l.Pending&&w(i),m=I((()=>{if(!p||!f)return null;let i=f.timeStart+f.dayOffset*u,o=e+a*u;return t===d.Absolute?i-o:n===null||r===null?null:i+n-r-o})(),3,g.CountDown),_=p&&c!==null?c-e:null,b=I(_,3,g.CountDown),S=f?.title??null;return(0,B.jsxs)(`div`,{className:W.metadataRow,children:[(0,B.jsx)(`span`,{className:S?W.labelTitle:W.label,children:`${S||`Flag`} `}),(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(y,{text:`Time to next flag planned start`,render:(0,B.jsx)(O,{className:W.icon})}),(0,B.jsx)(`span`,{"data-testid":`flag-plannedStart`,className:x([W.time,(!f||!p)&&W.muted,m===`due`&&W.dueTime]),children:m})]}),(0,B.jsxs)(`div`,{className:W.labelledElement,children:[(0,B.jsx)(y,{text:`Time to next flag expected start`,render:(0,B.jsx)(A,{className:W.icon})}),(0,B.jsx)(`span`,{"data-testid":`flag-expectedStart`,className:x([W.time,_===null&&W.muted,b===`due`&&W.dueTime]),children:b})]})]})}function ee(){let{numEvents:e,selectedEventIndex:t}=a(),n=t===null?`–`:t+1;return(0,B.jsx)(V,{label:`Progress`,value:e?`${n} of ${e||`–`}`:`–`,state:t===null?`muted`:`active`})}function te(){let{offset:e,playback:t}=_(),n=w(t);return(0,B.jsx)(U,{state:F(n?e:null),value:P(n?e:null),testId:`offset`})}function ne({shouldFormat:e,className:t}){let n=M(),i=e?r(n):f(n);return(0,B.jsx)(H,{label:`Time now`,className:t,render:e=>(0,B.jsx)(N,{className:e,time:i})})}function re({className:e}){let t=o(),n=t.phase===l.Pending,r=n?`Count to start`:`Running timer`,i=f(n?t.secondaryTimer:t.current,{fallback:b});function a(){return n?`waiting`:t.current===null?`muted`:`active`}return(0,B.jsx)(V,{label:r,value:i,state:a(),className:e})}function ie(){let{numEvents:e}=a(),{plannedEnd:t,plannedStart:n}=i();return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(V,{label:`Total duration`,value:n!==null&&t!==null?c(t-n):b}),(0,B.jsx)(V,{label:`Events`,value:String(e)})]})}export{ee as a,re as c,ie as i,L as l,Z as n,Y as o,te as r,J as s,ne as t}; //# sourceMappingURL=TimeElements-sSX9BxuU.js.map