@clickview/lite 0.104.0-rc.6 → 0.104.0

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.
Files changed (101) hide show
  1. package/dist/.vite/manifest.json +807 -806
  2. package/dist/bundles.json +1 -1
  3. package/dist/en.json +1 -1
  4. package/dist/scripts/{Dnz8CbEu.chunk.js → -QIG2ZHc.chunk.js} +3 -3
  5. package/dist/scripts/{Dnz8CbEu.chunk.js.map → -QIG2ZHc.chunk.js.map} +1 -1
  6. package/dist/scripts/{CEv1_bDW.chunk.js → -brFp4w1.chunk.js} +2 -2
  7. package/dist/scripts/{CEv1_bDW.chunk.js.map → -brFp4w1.chunk.js.map} +1 -1
  8. package/dist/scripts/{CX6c7KRp2.chunk.js → 0mx04bmJ2.chunk.js} +2 -2
  9. package/dist/scripts/{CX6c7KRp2.chunk.js.map → 0mx04bmJ2.chunk.js.map} +1 -1
  10. package/dist/scripts/{CMHxOVI7.chunk.js → 41LJfkjO.chunk.js} +2 -2
  11. package/dist/scripts/{CMHxOVI7.chunk.js.map → 41LJfkjO.chunk.js.map} +1 -1
  12. package/dist/scripts/{BBWnpWNB2.chunk.js → 7uvJMXC12.chunk.js} +2 -2
  13. package/dist/scripts/{BBWnpWNB2.chunk.js.map → 7uvJMXC12.chunk.js.map} +1 -1
  14. package/dist/scripts/{CaCm4N_d2.chunk.js → B-HfRX562.chunk.js} +2 -2
  15. package/dist/scripts/{CaCm4N_d2.chunk.js.map → B-HfRX562.chunk.js.map} +1 -1
  16. package/dist/scripts/{D9wxi5or2.chunk.js → B2_RD6Px2.chunk.js} +2 -2
  17. package/dist/scripts/{D9wxi5or2.chunk.js.map → B2_RD6Px2.chunk.js.map} +1 -1
  18. package/dist/scripts/{DSPMbDdF.chunk.js → B3_lC6bW.chunk.js} +2 -2
  19. package/dist/scripts/{DSPMbDdF.chunk.js.map → B3_lC6bW.chunk.js.map} +1 -1
  20. package/dist/scripts/{8JGe5Ug_2.chunk.js → B5GEXNkP2.chunk.js} +2 -2
  21. package/dist/scripts/{8JGe5Ug_2.chunk.js.map → B5GEXNkP2.chunk.js.map} +1 -1
  22. package/dist/scripts/{0Fek4oFk.chunk.js → BLE8DLAY.chunk.js} +2 -2
  23. package/dist/scripts/{0Fek4oFk.chunk.js.map → BLE8DLAY.chunk.js.map} +1 -1
  24. package/dist/scripts/{BgPye7Nd2.chunk.js → BRt-Kdnn2.chunk.js} +2 -2
  25. package/dist/scripts/{BgPye7Nd2.chunk.js.map → BRt-Kdnn2.chunk.js.map} +1 -1
  26. package/dist/scripts/BTWmC6pW.chunk.js +5 -0
  27. package/dist/scripts/BTWmC6pW.chunk.js.map +1 -0
  28. package/dist/scripts/{D3ncynN72.chunk.js → BVBpDZoT2.chunk.js} +3 -3
  29. package/dist/scripts/{D3ncynN72.chunk.js.map → BVBpDZoT2.chunk.js.map} +1 -1
  30. package/dist/scripts/{5PKjjI4Y.chunk.js → BapoiGsj.chunk.js} +2 -2
  31. package/dist/scripts/{5PKjjI4Y.chunk.js.map → BapoiGsj.chunk.js.map} +1 -1
  32. package/dist/scripts/{CNfmLVE82.chunk.js → Bc1JT5Y-2.chunk.js} +2 -2
  33. package/dist/scripts/{CNfmLVE82.chunk.js.map → Bc1JT5Y-2.chunk.js.map} +1 -1
  34. package/dist/scripts/{cDv6zuhh.chunk.js → BhE5KhcC.chunk.js} +2 -2
  35. package/dist/scripts/{cDv6zuhh.chunk.js.map → BhE5KhcC.chunk.js.map} +1 -1
  36. package/dist/scripts/{Bzk4AwVx2.chunk.js → BncgzKKQ2.chunk.js} +2 -2
  37. package/dist/scripts/{Bzk4AwVx2.chunk.js.map → BncgzKKQ2.chunk.js.map} +1 -1
  38. package/dist/scripts/{CV-fOLNI2.chunk.js → Bpf3Tyy12.chunk.js} +2 -2
  39. package/dist/scripts/{CV-fOLNI2.chunk.js.map → Bpf3Tyy12.chunk.js.map} +1 -1
  40. package/dist/scripts/{DPZnaz74.chunk.js → C1OiUBQI.chunk.js} +2 -2
  41. package/dist/scripts/{DPZnaz74.chunk.js.map → C1OiUBQI.chunk.js.map} +1 -1
  42. package/dist/scripts/{B1TqilLB.chunk.js → C6z8ii6C.chunk.js} +2 -2
  43. package/dist/scripts/{B1TqilLB.chunk.js.map → C6z8ii6C.chunk.js.map} +1 -1
  44. package/dist/scripts/{fMgBORUX.chunk.js → C8x-QH43.chunk.js} +2 -2
  45. package/dist/scripts/{fMgBORUX.chunk.js.map → C8x-QH43.chunk.js.map} +1 -1
  46. package/dist/scripts/{BiWUSyJr.chunk.js → CAkqvKfy.chunk.js} +2 -2
  47. package/dist/scripts/{BiWUSyJr.chunk.js.map → CAkqvKfy.chunk.js.map} +1 -1
  48. package/dist/scripts/{CjOMeOwb2.chunk.js → CGv0OFnc2.chunk.js} +2 -2
  49. package/dist/scripts/{CjOMeOwb2.chunk.js.map → CGv0OFnc2.chunk.js.map} +1 -1
  50. package/dist/scripts/{B82m7K0U.chunk.js → CJGWbJ4m.chunk.js} +2 -2
  51. package/dist/scripts/{B82m7K0U.chunk.js.map → CJGWbJ4m.chunk.js.map} +1 -1
  52. package/dist/scripts/{D-iyHqNw2.chunk.js → CLvImDXv2.chunk.js} +3 -3
  53. package/dist/scripts/{D-iyHqNw2.chunk.js.map → CLvImDXv2.chunk.js.map} +1 -1
  54. package/dist/scripts/{Cqq1N9xw.chunk.js → CM8248d7.chunk.js} +2 -2
  55. package/dist/scripts/{Cqq1N9xw.chunk.js.map → CM8248d7.chunk.js.map} +1 -1
  56. package/dist/scripts/Cr6TXzQQ2.chunk.js.map +1 -1
  57. package/dist/scripts/{B_TE5XUR2.chunk.js → CvilnM0u2.chunk.js} +2 -2
  58. package/dist/scripts/{B_TE5XUR2.chunk.js.map → CvilnM0u2.chunk.js.map} +1 -1
  59. package/dist/scripts/{AEOAlemi.chunk.js → Cwocc8uV.chunk.js} +2 -2
  60. package/dist/scripts/{AEOAlemi.chunk.js.map → Cwocc8uV.chunk.js.map} +1 -1
  61. package/dist/scripts/{Bld7iWR52.chunk.js → D-pn0sNx2.chunk.js} +2 -2
  62. package/dist/scripts/{Bld7iWR52.chunk.js.map → D-pn0sNx2.chunk.js.map} +1 -1
  63. package/dist/scripts/{Cyit3dMk.chunk.js → D78QEASE.chunk.js} +2 -2
  64. package/dist/scripts/{Cyit3dMk.chunk.js.map → D78QEASE.chunk.js.map} +1 -1
  65. package/dist/scripts/{Dtag-27K.chunk.js → DER8311r.chunk.js} +2 -2
  66. package/dist/scripts/{Dtag-27K.chunk.js.map → DER8311r.chunk.js.map} +1 -1
  67. package/dist/scripts/{CAD-W-lP.chunk.js → DFFJpTVB.chunk.js} +2 -2
  68. package/dist/scripts/{CAD-W-lP.chunk.js.map → DFFJpTVB.chunk.js.map} +1 -1
  69. package/dist/scripts/{CmnbQiBA.chunk.js → DSZaceCq.chunk.js} +2 -2
  70. package/dist/scripts/{CmnbQiBA.chunk.js.map → DSZaceCq.chunk.js.map} +1 -1
  71. package/dist/scripts/{CfNYFxJl2.chunk.js → D_1m0b_a2.chunk.js} +2 -2
  72. package/dist/scripts/{CfNYFxJl2.chunk.js.map → D_1m0b_a2.chunk.js.map} +1 -1
  73. package/dist/scripts/{-KvTbeQV.chunk.js → DhcRnxkp.chunk.js} +2 -2
  74. package/dist/scripts/{-KvTbeQV.chunk.js.map → DhcRnxkp.chunk.js.map} +1 -1
  75. package/dist/scripts/{DKDWcWxk.chunk.js → Dqn0sInF.chunk.js} +2 -2
  76. package/dist/scripts/{DKDWcWxk.chunk.js.map → Dqn0sInF.chunk.js.map} +1 -1
  77. package/dist/scripts/{DICsRDM42.chunk.js → Dz8KlJhf2.chunk.js} +2 -2
  78. package/dist/scripts/{DICsRDM42.chunk.js.map → Dz8KlJhf2.chunk.js.map} +1 -1
  79. package/dist/scripts/{D0b_r0MV.chunk.js → KjTtF4IH.chunk.js} +2 -2
  80. package/dist/scripts/{D0b_r0MV.chunk.js.map → KjTtF4IH.chunk.js.map} +1 -1
  81. package/dist/scripts/{CAs2Sere2.chunk.js → MW7W80HY2.chunk.js} +2 -2
  82. package/dist/scripts/{CAs2Sere2.chunk.js.map → MW7W80HY2.chunk.js.map} +1 -1
  83. package/dist/scripts/{CwFYdvvA.chunk.js → Okf3Hn0s.chunk.js} +2 -2
  84. package/dist/scripts/{CwFYdvvA.chunk.js.map → Okf3Hn0s.chunk.js.map} +1 -1
  85. package/dist/scripts/{Dt5731Ay.chunk.js → _lqYS5Jx.chunk.js} +2 -2
  86. package/dist/scripts/{Dt5731Ay.chunk.js.map → _lqYS5Jx.chunk.js.map} +1 -1
  87. package/dist/scripts/{app-DxHnJ6f2.js → app-H3wSQ-PR.js} +4 -4
  88. package/dist/scripts/{app-DxHnJ6f2.js.map → app-H3wSQ-PR.js.map} +1 -1
  89. package/dist/scripts/{Bkp6sdnZ2.chunk.js → dVOiGqhu2.chunk.js} +2 -2
  90. package/dist/scripts/{Bkp6sdnZ2.chunk.js.map → dVOiGqhu2.chunk.js.map} +1 -1
  91. package/dist/scripts/{B3AhKFfz.chunk.js → ftYw2FVB.chunk.js} +2 -2
  92. package/dist/scripts/{B3AhKFfz.chunk.js.map → ftYw2FVB.chunk.js.map} +1 -1
  93. package/dist/scripts/{DyE6EUDb.chunk.js → kjRiUKIL.chunk.js} +2 -2
  94. package/dist/scripts/{DyE6EUDb.chunk.js.map → kjRiUKIL.chunk.js.map} +1 -1
  95. package/dist/scripts/{B3y60nT5.chunk.js → pDWQ8Uj5.chunk.js} +2 -2
  96. package/dist/scripts/{B3y60nT5.chunk.js.map → pDWQ8Uj5.chunk.js.map} +1 -1
  97. package/dist/scripts/{BCqRKj1E2.chunk.js → s6NJOjzU2.chunk.js} +2 -2
  98. package/dist/scripts/{BCqRKj1E2.chunk.js.map → s6NJOjzU2.chunk.js.map} +1 -1
  99. package/package.json +1 -1
  100. package/dist/scripts/DCT6XY8t.chunk.js +0 -5
  101. package/dist/scripts/DCT6XY8t.chunk.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{o as e}from"./DAXXjFlN.chunk.js";import{r as t}from"./snXCXfT6.chunk.js";import{_ as n}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{t as r}from"./CQyJ7YGa.chunk.js";import{t as i}from"./C2w0pmFW.chunk.js";import{t as a}from"./wrLrTezN.chunk.js";import{t as o}from"./BXTI9cmX.chunk.js";import{u as s}from"./BX0wDJmp.chunk.js";import{n as c}from"./BVnMI-dl.chunk.js";import{t as l}from"./C1SLt-ar.chunk.js";import{l as u,y as d}from"./NlCAcBdo.chunk.js";import{t as f}from"./RjGIOTdP.chunk.js";import{t as p}from"./DTGfiG8Y.chunk.js";import{r as m}from"./Cr6TXzQQ2.chunk.js";import{n as h,t as g}from"./CmcCVXi32.chunk.js";import{t as _}from"./Dat7ugzw2.chunk.js";import{t as v}from"./eoAypzU3.chunk.js";import{t as y}from"./CZbN8PTA.chunk.js";import{t as b}from"./XIE88U01.chunk.js";import{t as ee}from"./7-GJWRH82.chunk.js";import{t as x}from"./BJZXCSV9.chunk.js";import{n as S,t as te}from"./C6-aC3vu.chunk.js";import{t as C}from"./B_-pJtOI2.chunk.js";import{n as w,t as T}from"./CpFtf-tI2.chunk.js";import{t as E}from"./DDJBf9pK2.chunk.js";import{r as D,t as O}from"./C5uTRLOC2.chunk.js";import{t as k}from"./DewCxv4i.chunk.js";import{t as A}from"./DMaQV7L2.chunk.js";import{t as j}from"./B8gP8YoA.chunk.js";import{t as M}from"./M21xrW6i2.chunk.js";import{t as N}from"./CSRpjM7n2.chunk.js";import{t as P}from"./tnBD84bg2.chunk.js";import{t as F}from"./DzgAvoez.chunk.js";import{n as I,t as L}from"./BnuuRu_J2.chunk.js";import{n as R,t as z}from"./CY_30Xdt.chunk.js";import{r as B,t as V}from"./DCT6XY8t.chunk.js";import{t as H}from"./8JGe5Ug_2.chunk.js";import{t as U}from"./Cg2g-9Kl2.chunk.js";var W=e(i());function G(e){return e?c.pick(e,[`a`,`dashboardId`]):{}}var K=a(),q=`streamable.companyDashboardEmptyState`,J=r.encloseNamespace(q);function Y(e){let n=e.dashboard?.status===g.Archived;return(0,K.jsx)(T.Provider,{value:q,children:(0,K.jsxs)(x,{children:[(0,K.jsx)(x.Image,{src:e.imageUrl,altText:J(`headingForStreamable`)}),e.isReadOnly?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(x.Heading,{children:(0,K.jsx)(w,{namespace:q,phrase:`headingForCurator`})}),(0,K.jsx)(x.Info,{children:(0,K.jsx)(w,{namespace:q,phrase:`info`})}),(0,K.jsx)(t,{title:n?r.getPhrase(q,`archivedCtaTooltip`):``,spanHack:!0,children:(0,K.jsx)(x.Cta,{text:r.getPhrase(q,`add`),appLink:e.addWidgetApplink?.(),className:`btn btn-dark`,icon:E,disabled:n})})]}):(0,K.jsx)(x.Heading,{children:(0,K.jsx)(w,{phrase:`headingForStreamable`})})]})})}var X=r.encloseNamespace(`streamable.companyDashboard`);function Z(e){let t=l.sortBy(e.dashboard?.widgets,`index`),n=W.useMemo(()=>t.reduce((e,t)=>(e[t.id]=!1,e),{}),[t?.length]),[r,i]=W.useState(n);function a(t,n,r){let i=m.getWidgetParams(n,r,m.getDashboardTargetType(e.dashboard),e.activeAudiences?.map(e=>e.masterId));return e.getWidgetContentRequest(t,i,r)}let o=W.useCallback((e,t)=>{if(r[e]===t)return;let n={...r,[e]:t};i(n)},[r,t]);function s(){return!t?.length||Object.values(r).every(e=>!!e)}let c=s();return(0,K.jsxs)(K.Fragment,{children:[!!t.length&&(0,K.jsxs)(K.Fragment,{children:[e.company?(0,K.jsx)(z,{heading:e.company.name,logo:e.company.logo,logoBgColour:e.company.metadata?.colour,alignLogoLeft:!!e.company.logo||!!e.company.cover,banner:e.company.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,blockColourClass:O(e.company.name,D),actions:e.getBannerActions?.(),actionsDropdownClassName:`btn btn-outline-dark`}):(0,K.jsx)(R,{}),(0,K.jsxs)(`div`,{className:`d-flex flex-column row-gap-3 py-3 mb-3 border-bottom`,children:[(0,K.jsx)(F,{breadcrumbs:e.getBreadcrumbs?.()}),(0,K.jsx)(U,{audiences:e.audiences,activeAudiences:e.activeAudiences,disabled:e.isReadOnly,appLink:e.widgetAppLinks?.audience()})]}),e.company.description&&(0,K.jsx)(`div`,{className:`mb-5`,children:(0,K.jsx)(B,{id:e.company?.id,question:X(`aboutUs`),answer:P.linkifyText(e.company.description),isBot:e.isBot,analyticsOptions:{entity:u.Company,location:d.Dashboard}})}),(0,K.jsx)(`div`,{children:t.map(t=>(0,K.jsx)(V,{widgetCollection:h.Company,dashboardTarget:h.Company,id:t.id,getContentRequest:a,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,setIsEmpty:o,appLinks:e.widgetAppLinks,isScrollToTargetWidget:e?.scrollToWidgetId===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadOnly,lazyLoad:e.lazyLoad,contentType:_.Livestream,imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,seeMoreLink:void 0,hasTableOfContents:!1,onClickRemoveItem:void 0,settings:{hasTopicDirectories:!1},badgeComponent:null},t.id))})]}),c&&(0,K.jsx)(Y,{dashboard:e.dashboard,isReadOnly:e.isReadOnly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard})]})}var Q=r.encloseNamespace(`livePartnerDashboard.partnerDashboard`);function ne(e){let{commonVideoProps:t}=L({locationContext:d.VideoThumbnail}),{activePresentation:r}=y(),i=s(M.companyWithQuery(e.companyId,`banner,logo`)),a=s(r&&A.presentationAudiences(p.StreamableLearning,r.id)),c=f.getActiveAudiencesFromParams(a.data,e.queryParams),l=i.data&&I(i.data,e.queryParams||{},e.presentationSlug),{dashboard:u,isPreviewing:m}=j({targetType:h.Company,queryParams:e.queryParams,companyId:e.companyId});te(S.getDefaultMetadata({title:i.data?.name,phraseContext:{phraseHandler:Q,titlePhrase:`pageTitle`,descriptionPhrase:`pageDescription`},canonicalLink:C.getCanonicalLink({customAppLink:l?.audience()}),allowIndexing:!0}));function g(){return i.hasCompleted?[{name:Q(`discover`),appLink:{application:o.DASHBOARD,action:v.Dashboard.HOME,args:[e.presentationSlug]}},{name:i.data.name,active:!0}]:[]}return W.useEffect(()=>{!u.hasCompleted||u.data||n.throw(new b)},[u.data,u.hasCompleted]),u.hasCompleted&&r&&a.hasCompleted&&i.hasCompleted?(0,K.jsxs)(`div`,{className:`position-relative px-4`,children:[!!(m&&u.data)&&(0,K.jsx)(H,{status:u.data.status,type:`company`}),(0,K.jsx)(Z,{company:i.data,dashboard:u.data,getWidgetContentRequest:k.dashboardWidgetContent,presentation:r,widgetAppLinks:l,getBreadcrumbs:g,hasPermissions:()=>!1,hasLocalPermissions:()=>!1,audiences:a.data,activeAudiences:c,emptyImageUrl:ee.Live.EmptyStates.Topics.TOPIC,isBot:C.isBot(),lazyLoad:!C.isBot(),commonVideoProps:t})]}):(0,K.jsx)(K.Fragment,{})}var $=N({[p.StreamableLearning]:e=>(0,K.jsx)(ne,{presentationSlug:e.presentationSlug,companyId:e.companyId,queryParams:G(e.queryParams)})});$.displayName=`BasePartnerDashboardView`;export{$ as BasePartnerDashboardView};
2
- //# sourceMappingURL=CjOMeOwb2.chunk.js.map
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{r as t}from"./snXCXfT6.chunk.js";import{_ as n}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{t as r}from"./CQyJ7YGa.chunk.js";import{t as i}from"./C2w0pmFW.chunk.js";import{t as a}from"./wrLrTezN.chunk.js";import{t as o}from"./BXTI9cmX.chunk.js";import{u as s}from"./BX0wDJmp.chunk.js";import{n as c}from"./BVnMI-dl.chunk.js";import{t as l}from"./C1SLt-ar.chunk.js";import{l as u,y as d}from"./NlCAcBdo.chunk.js";import{t as f}from"./RjGIOTdP.chunk.js";import{t as p}from"./DTGfiG8Y.chunk.js";import{r as m}from"./Cr6TXzQQ2.chunk.js";import{n as h,t as g}from"./CmcCVXi32.chunk.js";import{t as _}from"./Dat7ugzw2.chunk.js";import{t as v}from"./eoAypzU3.chunk.js";import{t as y}from"./CZbN8PTA.chunk.js";import{t as b}from"./XIE88U01.chunk.js";import{t as ee}from"./7-GJWRH82.chunk.js";import{t as x}from"./BJZXCSV9.chunk.js";import{n as S,t as te}from"./C6-aC3vu.chunk.js";import{t as C}from"./B_-pJtOI2.chunk.js";import{n as w,t as T}from"./CpFtf-tI2.chunk.js";import{t as E}from"./DDJBf9pK2.chunk.js";import{r as D,t as O}from"./C5uTRLOC2.chunk.js";import{t as k}from"./DewCxv4i.chunk.js";import{t as A}from"./DMaQV7L2.chunk.js";import{t as j}from"./B8gP8YoA.chunk.js";import{t as M}from"./M21xrW6i2.chunk.js";import{t as N}from"./CSRpjM7n2.chunk.js";import{t as P}from"./tnBD84bg2.chunk.js";import{t as F}from"./DzgAvoez.chunk.js";import{n as I,t as L}from"./BnuuRu_J2.chunk.js";import{n as R,t as z}from"./CY_30Xdt.chunk.js";import{r as B,t as V}from"./BTWmC6pW.chunk.js";import{t as H}from"./B5GEXNkP2.chunk.js";import{t as U}from"./Cg2g-9Kl2.chunk.js";var W=e(i());function G(e){return e?c.pick(e,[`a`,`dashboardId`]):{}}var K=a(),q=`streamable.companyDashboardEmptyState`,J=r.encloseNamespace(q);function Y(e){let n=e.dashboard?.status===g.Archived;return(0,K.jsx)(T.Provider,{value:q,children:(0,K.jsxs)(x,{children:[(0,K.jsx)(x.Image,{src:e.imageUrl,altText:J(`headingForStreamable`)}),e.isReadOnly?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(x.Heading,{children:(0,K.jsx)(w,{namespace:q,phrase:`headingForCurator`})}),(0,K.jsx)(x.Info,{children:(0,K.jsx)(w,{namespace:q,phrase:`info`})}),(0,K.jsx)(t,{title:n?r.getPhrase(q,`archivedCtaTooltip`):``,spanHack:!0,children:(0,K.jsx)(x.Cta,{text:r.getPhrase(q,`add`),appLink:e.addWidgetApplink?.(),className:`btn btn-dark`,icon:E,disabled:n})})]}):(0,K.jsx)(x.Heading,{children:(0,K.jsx)(w,{phrase:`headingForStreamable`})})]})})}var X=r.encloseNamespace(`streamable.companyDashboard`);function Z(e){let t=l.sortBy(e.dashboard?.widgets,`index`),n=W.useMemo(()=>t.reduce((e,t)=>(e[t.id]=!1,e),{}),[t?.length]),[r,i]=W.useState(n);function a(t,n,r){let i=m.getWidgetParams(n,r,m.getDashboardTargetType(e.dashboard),e.activeAudiences?.map(e=>e.masterId));return e.getWidgetContentRequest(t,i,r)}let o=W.useCallback((e,t)=>{if(r[e]===t)return;let n={...r,[e]:t};i(n)},[r,t]);function s(){return!t?.length||Object.values(r).every(e=>!!e)}let c=s();return(0,K.jsxs)(K.Fragment,{children:[!!t.length&&(0,K.jsxs)(K.Fragment,{children:[e.company?(0,K.jsx)(z,{heading:e.company.name,logo:e.company.logo,logoBgColour:e.company.metadata?.colour,alignLogoLeft:!!e.company.logo||!!e.company.cover,banner:e.company.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,blockColourClass:O(e.company.name,D),actions:e.getBannerActions?.(),actionsDropdownClassName:`btn btn-outline-dark`}):(0,K.jsx)(R,{}),(0,K.jsxs)(`div`,{className:`d-flex flex-column row-gap-3 py-3 mb-3 border-bottom`,children:[(0,K.jsx)(F,{breadcrumbs:e.getBreadcrumbs?.()}),(0,K.jsx)(U,{audiences:e.audiences,activeAudiences:e.activeAudiences,disabled:e.isReadOnly,appLink:e.widgetAppLinks?.audience()})]}),e.company.description&&(0,K.jsx)(`div`,{className:`mb-5`,children:(0,K.jsx)(B,{id:e.company?.id,question:X(`aboutUs`),answer:P.linkifyText(e.company.description),isBot:e.isBot,analyticsOptions:{entity:u.Company,location:d.Dashboard}})}),(0,K.jsx)(`div`,{children:t.map(t=>(0,K.jsx)(V,{widgetCollection:h.Company,dashboardTarget:h.Company,id:t.id,getContentRequest:a,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,setIsEmpty:o,appLinks:e.widgetAppLinks,isScrollToTargetWidget:e?.scrollToWidgetId===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadOnly,lazyLoad:e.lazyLoad,contentType:_.Livestream,imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,seeMoreLink:void 0,hasTableOfContents:!1,onClickRemoveItem:void 0,settings:{hasTopicDirectories:!1},badgeComponent:null},t.id))})]}),c&&(0,K.jsx)(Y,{dashboard:e.dashboard,isReadOnly:e.isReadOnly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard})]})}var Q=r.encloseNamespace(`livePartnerDashboard.partnerDashboard`);function ne(e){let{commonVideoProps:t}=L({locationContext:d.VideoThumbnail}),{activePresentation:r}=y(),i=s(M.companyWithQuery(e.companyId,`banner,logo`)),a=s(r&&A.presentationAudiences(p.StreamableLearning,r.id)),c=f.getActiveAudiencesFromParams(a.data,e.queryParams),l=i.data&&I(i.data,e.queryParams||{},e.presentationSlug),{dashboard:u,isPreviewing:m}=j({targetType:h.Company,queryParams:e.queryParams,companyId:e.companyId});te(S.getDefaultMetadata({title:i.data?.name,phraseContext:{phraseHandler:Q,titlePhrase:`pageTitle`,descriptionPhrase:`pageDescription`},canonicalLink:C.getCanonicalLink({customAppLink:l?.audience()}),allowIndexing:!0}));function g(){return i.hasCompleted?[{name:Q(`discover`),appLink:{application:o.DASHBOARD,action:v.Dashboard.HOME,args:[e.presentationSlug]}},{name:i.data.name,active:!0}]:[]}return W.useEffect(()=>{!u.hasCompleted||u.data||n.throw(new b)},[u.data,u.hasCompleted]),u.hasCompleted&&r&&a.hasCompleted&&i.hasCompleted?(0,K.jsxs)(`div`,{className:`position-relative px-4`,children:[!!(m&&u.data)&&(0,K.jsx)(H,{status:u.data.status,type:`company`}),(0,K.jsx)(Z,{company:i.data,dashboard:u.data,getWidgetContentRequest:k.dashboardWidgetContent,presentation:r,widgetAppLinks:l,getBreadcrumbs:g,hasPermissions:()=>!1,hasLocalPermissions:()=>!1,audiences:a.data,activeAudiences:c,emptyImageUrl:ee.Live.EmptyStates.Topics.TOPIC,isBot:C.isBot(),lazyLoad:!C.isBot(),commonVideoProps:t})]}):(0,K.jsx)(K.Fragment,{})}var $=N({[p.StreamableLearning]:e=>(0,K.jsx)(ne,{presentationSlug:e.presentationSlug,companyId:e.companyId,queryParams:G(e.queryParams)})});$.displayName=`BasePartnerDashboardView`;export{$ as BasePartnerDashboardView};
2
+ //# sourceMappingURL=CGv0OFnc2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CjOMeOwb2.chunk.js","names":[],"sources":["../../src/shared/interfaces/query-params/LivePartnerDashboardViewQueryParams.ts","../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState.tsx","../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard.tsx","../../src/apps/dashboard/views/partner-dashboard/live-partner-dashboard/LivePartnerDashboardView.tsx","../../src/apps/dashboard/views/partner-dashboard/BasePartnerDashboardView.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * NOTE: Ensure any keys added here are also added\n * to sanitizeLivePartnerDashboardViewParams below.\n */\nexport interface LivePartnerDashboardViewQueryParams {\n a?: string[];\n dashboardId?: string;\n}\n\nexport function sanitizeLivePartnerDashboardViewParams(\n queryParams: HashObject\n): LivePartnerDashboardViewQueryParams {\n if (!queryParams)\n return {};\n\n return ObjectHelper.pick(queryParams, [ 'a', 'dashboardId' ]);\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { PlusSvg } from 'libs/shared/images/svg/actions/PlusSvg';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\n\nconst namespace = 'streamable.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface StreamableCompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadOnly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function StreamableCompanyDashboardEmptyState(props: StreamableCompanyDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('headingForStreamable')} />\n {!props.isReadOnly ? (\n <EmptyState.Heading>\n <Text phrase='headingForStreamable' />\n </EmptyState.Heading>\n ) : (\n <>\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='headingForCurator' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={PlusSvg}\n disabled={isArchived}\n />\n </Tooltip>\n </>\n )}\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboardEmptyState } from 'libs/shared/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState';\nimport { AudienceFilter } from 'libs/shared/apps/subjects/components/audience-filter/AudienceFilter';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableQuestion } from 'libs/shared/components/expandable-question/ExpandableQuestion';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { AllCompanyWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CalendarEventContentType, Company, CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nconst namespace = 'streamable.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface StreamableCompanyDashboardProps {\n dashboard: CuratedDashboard;\n company: Company;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n audiences?: PresentationAudience[];\n activeAudiences?: PresentationAudience[];\n emptyImageUrl?: string;\n presentation: Presentation;\n widgetAppLinks?: AllCompanyWidgetTemplates['appLinks'] & {\n audience: () => Core.AppLink,\n widgetWizard: () => Core.AppLink\n };\n scrollToWidgetId?: string;\n isReadOnly?: boolean;\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n isBot?: boolean;\n lazyLoad?: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function StreamableCompanyDashboard(props: StreamableCompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const initialEmptyWidgets = React.useMemo(() => {\n return widgets.reduce((acc: HashObject<boolean>, widget) => {\n acc[widget.id] = false;\n return acc;\n }, {});\n }, [widgets?.length]);\n \n const [ emptyWidgets, setEmptyWidgets ] = React.useState(initialEmptyWidgets);\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard),\n props.activeAudiences?.map(a => a.masterId)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const onSetIsEmpty = React.useCallback((widgetId: string, isEmpty: boolean) => {\n if (emptyWidgets[widgetId] === isEmpty)\n return;\n\n const newEmptyState = {\n ...emptyWidgets,\n [widgetId]: isEmpty\n };\n\n setEmptyWidgets(newEmptyState);\n }, [ emptyWidgets, widgets ]);\n\n function shouldShowEmptyState(): boolean {\n if (!widgets?.length)\n return true;\n\n return Object.values(emptyWidgets).every(state => !!state);\n }\n\n const showEmptyState = shouldShowEmptyState();\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company ?\n (\n <BannerHeader\n heading={props.company.name}\n logo={props.company.logo}\n logoBgColour={props.company.metadata?.colour}\n alignLogoLeft={!!props.company.logo || !!props.company.cover}\n banner={props.company.banner}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n blockColourClass={getBgColorClass(props.company.name, BG_COLOUR_CLASS_NAMES)}\n actions={props.getBannerActions?.()}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n ) : <PartialBannerHeader />\n }\n\n <div className='d-flex flex-column row-gap-3 py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n\n <AudienceFilter\n audiences={props.audiences}\n activeAudiences={props.activeAudiences}\n disabled={props.isReadOnly}\n appLink={props.widgetAppLinks?.audience()}\n />\n </div>\n\n {props.company.description && (\n <div className='mb-5'>\n <ExpandableQuestion\n id={props.company?.id}\n question={getPhrase('aboutUs')}\n answer={LinkifyHelper.linkifyText(props.company.description)}\n isBot={props.isBot}\n analyticsOptions={{\n entity: EntityType.Company,\n location: LocationContext.Dashboard\n }}\n />\n </div>\n )}\n\n <div>\n {widgets.map(widget => {\n return (\n <WidgetContainerView\n widgetCollection={DashboardTargetType.Company}\n dashboardTarget={DashboardTargetType.Company}\n key={widget.id}\n id={widget.id}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n setIsEmpty={onSetIsEmpty}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadOnly}\n lazyLoad={props.lazyLoad}\n contentType={CalendarEventContentType.Livestream}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n\n // TODO: Ideally we don't have to do this\n classification={null}\n seeMoreLink={undefined}\n hasTableOfContents={false}\n onClickRemoveItem={undefined}\n settings={{\n hasTopicDirectories: false\n }}\n badgeComponent={null}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <StreamableCompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadOnly={props.isReadOnly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboard } from 'libs/shared/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Company, DashboardTargetType, PresentationAudience } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { useActivePresentation } from 'shared/hooks/presentations/useActivePresentation';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport {\n LivePartnerDashboardViewQueryParams\n} from 'shared/interfaces/query-params/LivePartnerDashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport {\n getLivePartnerDashboardAppLinks\n} from 'apps/dashboard/views/partner-dashboard/PartnerDashboardViewUtils';\n\nconst namespace = 'livePartnerDashboard.partnerDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LivePartnerDashboardViewProps {\n presentationSlug: string | null;\n companyId: string;\n queryParams?: LivePartnerDashboardViewQueryParams;\n}\n\nexport function LivePartnerDashboardView(\n props: LivePartnerDashboardViewProps\n): JSX.Element {\n const { commonVideoProps } = useCommonVideoProps({ locationContext: LocationContext.VideoThumbnail });\n\n const { activePresentation } = useActivePresentation();\n const company = Flight.useBasicFetch<Company>(CompanyRequests.companyWithQuery(props.companyId, 'banner,logo'));\n\n // ClickView Live audiences are typed differently from Subject audiences for the same presentation id;\n // Fetch with the explicit Live type so we get the correct grade set.\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n activePresentation &&\n AudienceRequests.presentationAudiences(PresentationType.StreamableLearning, activePresentation.id)\n );\n\n const activeAudiences = AudienceHelper.getActiveAudiencesFromParams(audiences.data, props.queryParams);\n\n const widgetAppLinks = company.data && getLivePartnerDashboardAppLinks(\n company.data,\n props.queryParams || {},\n props.presentationSlug\n );\n\n const {\n dashboard,\n isPreviewing\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Company,\n queryParams: props.queryParams,\n companyId: props.companyId\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: company.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({\n customAppLink: widgetAppLinks?.audience()\n }),\n allowIndexing: true\n }));\n\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME,\n args: [props.presentationSlug]\n }\n }, {\n name: company.data.name,\n active: true\n }];\n }\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n const hasLoaded = (\n dashboard.hasCompleted &&\n !!activePresentation &&\n audiences.hasCompleted &&\n company.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <StreamableCompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n presentation={activePresentation}\n widgetAppLinks={widgetAppLinks}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={() => false}\n hasLocalPermissions={() => false}\n audiences={audiences.data}\n activeAudiences={activeAudiences}\n emptyImageUrl={ImageUrls.Live.EmptyStates.Topics.TOPIC}\n isBot={SeoHelper.isBot()}\n lazyLoad={!SeoHelper.isBot()}\n commonVideoProps={commonVideoProps}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\n\nimport {\n sanitizeLivePartnerDashboardViewParams\n} from 'shared/interfaces/query-params/LivePartnerDashboardViewQueryParams';\nimport { createPresentationDispatcherView } from 'shared/utils/createPresentationDispatcherView';\n\nimport {\n LivePartnerDashboardView\n} from 'apps/dashboard/views/partner-dashboard/live-partner-dashboard/LivePartnerDashboardView';\n\ninterface PartnerDashboardRouteProps {\n presentationSlug: string | null;\n companyId: string;\n queryParams?: HashObject;\n}\n\nexport const BasePartnerDashboardView = createPresentationDispatcherView<PartnerDashboardRouteProps>({\n [PresentationType.StreamableLearning]: ctx => (\n <LivePartnerDashboardView\n presentationSlug={ctx.presentationSlug}\n companyId={ctx.companyId}\n queryParams={sanitizeLivePartnerDashboardViewParams(ctx.queryParams)}\n />\n )\n});\n\nBasePartnerDashboardView.displayName = 'BasePartnerDashboardView';\n"],"mappings":"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"}
1
+ {"version":3,"file":"CGv0OFnc2.chunk.js","names":[],"sources":["../../src/shared/interfaces/query-params/LivePartnerDashboardViewQueryParams.ts","../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState.tsx","../../../../libs/shared/src/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard.tsx","../../src/apps/dashboard/views/partner-dashboard/live-partner-dashboard/LivePartnerDashboardView.tsx","../../src/apps/dashboard/views/partner-dashboard/BasePartnerDashboardView.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * NOTE: Ensure any keys added here are also added\n * to sanitizeLivePartnerDashboardViewParams below.\n */\nexport interface LivePartnerDashboardViewQueryParams {\n a?: string[];\n dashboardId?: string;\n}\n\nexport function sanitizeLivePartnerDashboardViewParams(\n queryParams: HashObject\n): LivePartnerDashboardViewQueryParams {\n if (!queryParams)\n return {};\n\n return ObjectHelper.pick(queryParams, [ 'a', 'dashboardId' ]);\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { PlusSvg } from 'libs/shared/images/svg/actions/PlusSvg';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\n\nconst namespace = 'streamable.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface StreamableCompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadOnly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function StreamableCompanyDashboardEmptyState(props: StreamableCompanyDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('headingForStreamable')} />\n {!props.isReadOnly ? (\n <EmptyState.Heading>\n <Text phrase='headingForStreamable' />\n </EmptyState.Heading>\n ) : (\n <>\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='headingForCurator' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={PlusSvg}\n disabled={isArchived}\n />\n </Tooltip>\n </>\n )}\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboardEmptyState } from 'libs/shared/apps/streamable-learning/components/company-dashboard/empty-state/StreamableCompanyDashboardEmptyState';\nimport { AudienceFilter } from 'libs/shared/apps/subjects/components/audience-filter/AudienceFilter';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableQuestion } from 'libs/shared/components/expandable-question/ExpandableQuestion';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { AllCompanyWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CalendarEventContentType, Company, CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nconst namespace = 'streamable.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface StreamableCompanyDashboardProps {\n dashboard: CuratedDashboard;\n company: Company;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n audiences?: PresentationAudience[];\n activeAudiences?: PresentationAudience[];\n emptyImageUrl?: string;\n presentation: Presentation;\n widgetAppLinks?: AllCompanyWidgetTemplates['appLinks'] & {\n audience: () => Core.AppLink,\n widgetWizard: () => Core.AppLink\n };\n scrollToWidgetId?: string;\n isReadOnly?: boolean;\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n isBot?: boolean;\n lazyLoad?: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function StreamableCompanyDashboard(props: StreamableCompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const initialEmptyWidgets = React.useMemo(() => {\n return widgets.reduce((acc: HashObject<boolean>, widget) => {\n acc[widget.id] = false;\n return acc;\n }, {});\n }, [widgets?.length]);\n \n const [ emptyWidgets, setEmptyWidgets ] = React.useState(initialEmptyWidgets);\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard),\n props.activeAudiences?.map(a => a.masterId)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const onSetIsEmpty = React.useCallback((widgetId: string, isEmpty: boolean) => {\n if (emptyWidgets[widgetId] === isEmpty)\n return;\n\n const newEmptyState = {\n ...emptyWidgets,\n [widgetId]: isEmpty\n };\n\n setEmptyWidgets(newEmptyState);\n }, [ emptyWidgets, widgets ]);\n\n function shouldShowEmptyState(): boolean {\n if (!widgets?.length)\n return true;\n\n return Object.values(emptyWidgets).every(state => !!state);\n }\n\n const showEmptyState = shouldShowEmptyState();\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company ?\n (\n <BannerHeader\n heading={props.company.name}\n logo={props.company.logo}\n logoBgColour={props.company.metadata?.colour}\n alignLogoLeft={!!props.company.logo || !!props.company.cover}\n banner={props.company.banner}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n blockColourClass={getBgColorClass(props.company.name, BG_COLOUR_CLASS_NAMES)}\n actions={props.getBannerActions?.()}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n ) : <PartialBannerHeader />\n }\n\n <div className='d-flex flex-column row-gap-3 py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n\n <AudienceFilter\n audiences={props.audiences}\n activeAudiences={props.activeAudiences}\n disabled={props.isReadOnly}\n appLink={props.widgetAppLinks?.audience()}\n />\n </div>\n\n {props.company.description && (\n <div className='mb-5'>\n <ExpandableQuestion\n id={props.company?.id}\n question={getPhrase('aboutUs')}\n answer={LinkifyHelper.linkifyText(props.company.description)}\n isBot={props.isBot}\n analyticsOptions={{\n entity: EntityType.Company,\n location: LocationContext.Dashboard\n }}\n />\n </div>\n )}\n\n <div>\n {widgets.map(widget => {\n return (\n <WidgetContainerView\n widgetCollection={DashboardTargetType.Company}\n dashboardTarget={DashboardTargetType.Company}\n key={widget.id}\n id={widget.id}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n setIsEmpty={onSetIsEmpty}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadOnly}\n lazyLoad={props.lazyLoad}\n contentType={CalendarEventContentType.Livestream}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n\n // TODO: Ideally we don't have to do this\n classification={null}\n seeMoreLink={undefined}\n hasTableOfContents={false}\n onClickRemoveItem={undefined}\n settings={{\n hasTopicDirectories: false\n }}\n badgeComponent={null}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <StreamableCompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadOnly={props.isReadOnly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { StreamableCompanyDashboard } from 'libs/shared/apps/streamable-learning/components/company-dashboard/StreamableCompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Company, DashboardTargetType, PresentationAudience } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { useActivePresentation } from 'shared/hooks/presentations/useActivePresentation';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport {\n LivePartnerDashboardViewQueryParams\n} from 'shared/interfaces/query-params/LivePartnerDashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport {\n getLivePartnerDashboardAppLinks\n} from 'apps/dashboard/views/partner-dashboard/PartnerDashboardViewUtils';\n\nconst namespace = 'livePartnerDashboard.partnerDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LivePartnerDashboardViewProps {\n presentationSlug: string | null;\n companyId: string;\n queryParams?: LivePartnerDashboardViewQueryParams;\n}\n\nexport function LivePartnerDashboardView(\n props: LivePartnerDashboardViewProps\n): JSX.Element {\n const { commonVideoProps } = useCommonVideoProps({ locationContext: LocationContext.VideoThumbnail });\n\n const { activePresentation } = useActivePresentation();\n const company = Flight.useBasicFetch<Company>(CompanyRequests.companyWithQuery(props.companyId, 'banner,logo'));\n\n // ClickView Live audiences are typed differently from Subject audiences for the same presentation id;\n // Fetch with the explicit Live type so we get the correct grade set.\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n activePresentation &&\n AudienceRequests.presentationAudiences(PresentationType.StreamableLearning, activePresentation.id)\n );\n\n const activeAudiences = AudienceHelper.getActiveAudiencesFromParams(audiences.data, props.queryParams);\n\n const widgetAppLinks = company.data && getLivePartnerDashboardAppLinks(\n company.data,\n props.queryParams || {},\n props.presentationSlug\n );\n\n const {\n dashboard,\n isPreviewing\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Company,\n queryParams: props.queryParams,\n companyId: props.companyId\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: company.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({\n customAppLink: widgetAppLinks?.audience()\n }),\n allowIndexing: true\n }));\n\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME,\n args: [props.presentationSlug]\n }\n }, {\n name: company.data.name,\n active: true\n }];\n }\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n const hasLoaded = (\n dashboard.hasCompleted &&\n !!activePresentation &&\n audiences.hasCompleted &&\n company.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <StreamableCompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n presentation={activePresentation}\n widgetAppLinks={widgetAppLinks}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={() => false}\n hasLocalPermissions={() => false}\n audiences={audiences.data}\n activeAudiences={activeAudiences}\n emptyImageUrl={ImageUrls.Live.EmptyStates.Topics.TOPIC}\n isBot={SeoHelper.isBot()}\n lazyLoad={!SeoHelper.isBot()}\n commonVideoProps={commonVideoProps}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\n\nimport {\n sanitizeLivePartnerDashboardViewParams\n} from 'shared/interfaces/query-params/LivePartnerDashboardViewQueryParams';\nimport { createPresentationDispatcherView } from 'shared/utils/createPresentationDispatcherView';\n\nimport {\n LivePartnerDashboardView\n} from 'apps/dashboard/views/partner-dashboard/live-partner-dashboard/LivePartnerDashboardView';\n\ninterface PartnerDashboardRouteProps {\n presentationSlug: string | null;\n companyId: string;\n queryParams?: HashObject;\n}\n\nexport const BasePartnerDashboardView = createPresentationDispatcherView<PartnerDashboardRouteProps>({\n [PresentationType.StreamableLearning]: ctx => (\n <LivePartnerDashboardView\n presentationSlug={ctx.presentationSlug}\n companyId={ctx.companyId}\n queryParams={sanitizeLivePartnerDashboardViewParams(ctx.queryParams)}\n />\n )\n});\n\nBasePartnerDashboardView.displayName = 'BasePartnerDashboardView';\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{o as e}from"./DAXXjFlN.chunk.js";import{r as t,t as n}from"./snXCXfT6.chunk.js";import{y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./e57H3T-k.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{u as ee}from"./BX0wDJmp.chunk.js";import{t as u}from"./C1SLt-ar.chunk.js";import{l as d,y as f,z as p}from"./NlCAcBdo.chunk.js";import{r as m}from"./1LRpIhCn.chunk.js";import{a as h,i as g,r as _}from"./Cr6TXzQQ2.chunk.js";import{n as v,t as y}from"./CmcCVXi32.chunk.js";import{t as te}from"./DGmmTRu72.chunk.js";import{n as b}from"./LoQS6GjP.chunk.js";import{t as ne}from"./CqrjHjAN.chunk.js";import{t as x}from"./eoAypzU3.chunk.js";import{t as S}from"./CZbN8PTA.chunk.js";import{t as C}from"./_GCZ-60i.chunk.js";import{t as w}from"./7-GJWRH82.chunk.js";import{t as T}from"./QCFxJYkI2.chunk.js";import{t as re}from"./BUnh3rN0.chunk.js";import{t as E}from"./BJZXCSV9.chunk.js";import{n as ie,t as ae}from"./C6-aC3vu.chunk.js";import{t as oe}from"./B3gsVN-_.chunk.js";import{t as D}from"./Dfw0sxVt2.chunk.js";import{i as se,t as O}from"./B_-pJtOI2.chunk.js";import{t as k}from"./BugRosaL2.chunk.js";import{t as A}from"./DYDxLHiV2.chunk.js";import{n as j}from"./CpFtf-tI2.chunk.js";import{t as M}from"./DBkEQkKm2.chunk.js";import{t as N}from"./BUoougrH.chunk.js";import{t as P}from"./DFIgRAfX2.chunk.js";import{t as F}from"./BxYKQEUG2.chunk.js";import{t as I}from"./C7GcQtj3.chunk.js";import{t as L}from"./DDJBf9pK2.chunk.js";import{t as R}from"./Q0fOIAoj2.chunk.js";import{n as z}from"./ChnNWPOK2.chunk.js";import{t as B}from"./DewCxv4i.chunk.js";import{t as V}from"./B8gP8YoA.chunk.js";import{t as H}from"./BxPPJuYT2.chunk.js";import{t as U}from"./BnuuRu_J2.chunk.js";import{t as ce}from"./DCT6XY8t.chunk.js";var W=e(s()),G={link:`_link_1ot6q_1`},K=c(),q=`moviesAndTV.exchangeAndTvLinks`,J=a.encloseNamespace(q);function Y(e){function t(){C.logUserAction({href:e.href},{actionType:p.Click,entity:d.Link,location:f.ExchangeLinksWidget})}let n={backgroundColor:e.backgroundColor};return e.backgroundImage&&(n.backgroundImage=`url(${e.backgroundImage})`),(0,K.jsxs)(`div`,{className:`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${G.link}`,style:n,children:[(0,K.jsx)(`a`,{className:`h6 text-shadow mb-0`,href:e.href,target:`_blank`,onClick:t,children:e.title}),(0,K.jsx)(re,{href:e.href,svg:R,openInNewTab:!0,className:`btn btn-outline-dark d-lg-block d-none`,onClick:t,children:e.cta})]})}function X(e){if(!(!e.products.isLoadingProducts&&e.products.hasProduct(T.Exchange)&&e.exchangeTvProductOption===`exchange_and_tv`))return(0,K.jsx)(K.Fragment,{});let t=e.products.products.data.find(e=>e.id===T.Exchange).url;return(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`curated-widget-header`,children:(0,K.jsx)(`h2`,{className:`h4 curated-widget-heading`,children:(0,K.jsx)(j,{namespace:q,phrase:`title`})})}),(0,K.jsxs)(`div`,{className:`row`,children:[(0,K.jsx)(`div`,{className:`col-md-6 col-12`,children:(0,K.jsx)(Y,{title:J(`exchangeText`),cta:J(`exchangeCta`),backgroundColor:`#7A76EB`,backgroundImage:e.isPrimary?``:`https://img.clickviewapp.com/v2/thumbnails/7mqa32`,href:t+`/exchange`})}),(0,K.jsx)(`div`,{className:`col-md-6 col-12`,children:(0,K.jsx)(Y,{title:J(`tvText`),cta:J(`tvCta`),backgroundColor:`#40BCC3`,backgroundImage:e.isPrimary?``:`https://img.clickviewapp.com/v2/thumbnails/Eo3L1k`,href:t+`/tv`})})]})]})}var Z=`moviesAndTv.dashboardEmptyState`,le=a.encloseNamespace(Z);function ue(e){let n=e.dashboard?.status===y.Archived;return(0,K.jsxs)(E,{children:[(0,K.jsx)(E.Image,{src:e.imageUrl,altText:le(`info`)}),(0,K.jsx)(E.Heading,{children:(0,K.jsx)(j,{namespace:Z,phrase:`heading`})}),(0,K.jsx)(E.Info,{children:(0,K.jsx)(j,{namespace:Z,phrase:`info`})}),(0,K.jsx)(t,{title:n?a.getPhrase(Z,`archivedCtaTooltip`):``,spanHack:!0,children:(0,K.jsx)(E.Cta,{text:a.getPhrase(Z,`add`),appLink:e.addWidgetApplink?.(),className:`btn btn-dark`,icon:L,disabled:n})})]})}var Q={icon:`_icon_typxc_1`,title:`_title_typxc_6`},$=`moviesAndTv.dashboard`,de=a.encloseNamespace($);function fe(e){let r=u.sortBy(e.dashboard?.widgets,`index`),{hasProduct:a}=D(),o=e.hasPermissions(i.Exchange)&&a(T.Exchange),s=e.isReadonly?r:r.filter(e=>e.templateId!==h.HeroBannerSmall&&e.widgetId!==g.Blurb||o);function c(t,n,r){let i=_.getWidgetParams(n,r,_.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,i,r)}let l=e.isReadonly&&!s?.length;return(0,K.jsxs)(`div`,{className:`px-4`,children:[(0,K.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,K.jsx)(`div`,{style:{backgroundImage:`url(${e.moviesAndTvIconUrl})`},className:`${Q.icon}`}),(0,K.jsx)(`h1`,{className:`h2 ${Q.title} d-inline-block me-2`,children:(0,K.jsx)(j,{namespace:$,phrase:`heading`})}),e.showPreviewingTooltip&&(0,K.jsx)(`div`,{className:`pt-1`,children:(0,K.jsx)(t,{title:de(`tooltip`),spanHack:!0,children:(0,K.jsx)(n,{svg:F})})})]}),(0,K.jsx)(`hr`,{className:`mt-2`}),(0,K.jsx)(X,{exchangeTvProductOption:e.settings?.exchangeTvProductOption,products:e.products,isPrimary:+m[e.presentation?.learningLevel]===m.Level_1}),s.map((t,n)=>(0,K.jsx)(ce,{widgetCollection:v.MoviesAndTv,settingsHash:e.settings,id:t.id,getContentRequest:c,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,presentation:e.presentation,appLinks:e.widgetAppLinks,isScrollToTargetWidget:e?.scrollToWidgetId===t.id,widgetTypeId:t.widgetId,lazyLoad:e.lazyLoad,dashboardTarget:v.MoviesAndTv,widgetIndex:n,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,settings:{hasTopicDirectories:e.settings?.hasTopicDirectories},imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,hasTableOfContents:!1,isEditing:!1,setIsEmpty:()=>{},seeMoreLink:void 0,onClickRemoveItem:null,badgeComponent:null},t.id)),l&&(0,K.jsx)(ue,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard})]})}var pe=a.encloseNamespace(`moviesAndTV.moviesAndTV`);function me(e,t,n){return{partner:k.getPartnerDashboardAppLink,partnerHome:k.getPartnerHomeAppLink,rating:(e,t)=>({application:l.SEARCH,action:x.Search.HOME,params:{moviesAndTv:!0,rating:P.getFrontendParamValue([u.first(t),e])}}),classification:e=>N.getAppLink(e,{moviesAndTv:!0},n),videoType:(n,r)=>M.getAppLink(n,{...r,moviesAndTv:!0,context:b.Widget,includeContext:e?.isAuthenticated},t),series:e=>A.getSeriesAppLink(e,{mtv:!0},t),company:e=>({application:l.MOVIES_AND_TV,action:x.MoviesAndTv.COMPANY_DASHBOARD,args:[t,e.id,o.slugify(e.name)]}),latestReleases:()=>null,allTopics:()=>null,classificationLatestReleases:()=>null,classificationDirectory:()=>null,discover:()=>null,widgetWizard:()=>null,widgetVideoList:()=>null,watchHistory:()=>null}}function he(e){let{hasPermissions:t,hasLocalPermissions:n,isLoaded:a}=oe(),o=D(),s=te(null),{availablePresentations:c}=I(),{activePresentation:u}=S(),d=ee(ne.currentUser()),{applinks:p,requestAccessApplink:m,isUpselling:h}=H({applinks:me(d.data,e.presentationSlug,c)}),{commonVideoProps:g}=U({locationContext:f.VideoThumbnail,mtv:!0,subTextAppLink:h(u)?m:null}),_=t(i.ViewMoviesTv),{dashboard:y,presentation:b}=V({targetType:v.MoviesAndTv,queryParams:e.queryParams});return z({app:`movies-and-tv`}),ae(ie.getDefaultMetadata({title:b?.name,phraseContext:{phraseHandler:pe,titlePhrase:`pageTitle`,descriptionPhrase:`pageDescription`},canonicalLink:O.getCanonicalLink(),hrefLang:O.getStaticRouteHrefLang(b?.learningLevel,()=>({application:l.MOVIES_AND_TV,action:x.MoviesAndTv.HOME,args:[e.presentationSlug]}),se),allowIndexing:O.allowIndexing()})),W.useEffect(()=>{_||!a||r.trigger({application:l.DASHBOARD,action:x.Dashboard.HOME,args:[e.presentationSlug]},{replace:!0})},[_,a]),(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(fe,{dashboard:y.data,getWidgetContentRequest:B.dashboardWidgetContent,presentation:b,showPreviewingTooltip:d.data?.isAuthenticated&&!t(i.StudentExperience),moviesAndTvIconUrl:w.MoviesAndTv.DASHBOARD_ICON,widgetAppLinks:p,hasPermissions:t,hasLocalPermissions:n,settings:s,products:o,commonVideoProps:g})})}export{he as MoviesAndTvView};
2
- //# sourceMappingURL=B82m7K0U.chunk.js.map
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{r as t,t as n}from"./snXCXfT6.chunk.js";import{y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./e57H3T-k.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{u as ee}from"./BX0wDJmp.chunk.js";import{t as u}from"./C1SLt-ar.chunk.js";import{l as d,y as f,z as p}from"./NlCAcBdo.chunk.js";import{r as m}from"./1LRpIhCn.chunk.js";import{a as h,i as g,r as _}from"./Cr6TXzQQ2.chunk.js";import{n as v,t as y}from"./CmcCVXi32.chunk.js";import{t as te}from"./DGmmTRu72.chunk.js";import{n as b}from"./LoQS6GjP.chunk.js";import{t as ne}from"./CqrjHjAN.chunk.js";import{t as x}from"./eoAypzU3.chunk.js";import{t as S}from"./CZbN8PTA.chunk.js";import{t as C}from"./_GCZ-60i.chunk.js";import{t as w}from"./7-GJWRH82.chunk.js";import{t as T}from"./QCFxJYkI2.chunk.js";import{t as re}from"./BUnh3rN0.chunk.js";import{t as E}from"./BJZXCSV9.chunk.js";import{n as ie,t as ae}from"./C6-aC3vu.chunk.js";import{t as oe}from"./B3gsVN-_.chunk.js";import{t as D}from"./Dfw0sxVt2.chunk.js";import{i as se,t as O}from"./B_-pJtOI2.chunk.js";import{t as k}from"./BugRosaL2.chunk.js";import{t as A}from"./DYDxLHiV2.chunk.js";import{n as j}from"./CpFtf-tI2.chunk.js";import{t as M}from"./DBkEQkKm2.chunk.js";import{t as N}from"./BUoougrH.chunk.js";import{t as P}from"./DFIgRAfX2.chunk.js";import{t as F}from"./BxYKQEUG2.chunk.js";import{t as I}from"./C7GcQtj3.chunk.js";import{t as L}from"./DDJBf9pK2.chunk.js";import{t as R}from"./Q0fOIAoj2.chunk.js";import{n as z}from"./ChnNWPOK2.chunk.js";import{t as B}from"./DewCxv4i.chunk.js";import{t as V}from"./B8gP8YoA.chunk.js";import{t as H}from"./BxPPJuYT2.chunk.js";import{t as U}from"./BnuuRu_J2.chunk.js";import{t as ce}from"./BTWmC6pW.chunk.js";var W=e(s()),G={link:`_link_1ot6q_1`},K=c(),q=`moviesAndTV.exchangeAndTvLinks`,J=a.encloseNamespace(q);function Y(e){function t(){C.logUserAction({href:e.href},{actionType:p.Click,entity:d.Link,location:f.ExchangeLinksWidget})}let n={backgroundColor:e.backgroundColor};return e.backgroundImage&&(n.backgroundImage=`url(${e.backgroundImage})`),(0,K.jsxs)(`div`,{className:`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${G.link}`,style:n,children:[(0,K.jsx)(`a`,{className:`h6 text-shadow mb-0`,href:e.href,target:`_blank`,onClick:t,children:e.title}),(0,K.jsx)(re,{href:e.href,svg:R,openInNewTab:!0,className:`btn btn-outline-dark d-lg-block d-none`,onClick:t,children:e.cta})]})}function X(e){if(!(!e.products.isLoadingProducts&&e.products.hasProduct(T.Exchange)&&e.exchangeTvProductOption===`exchange_and_tv`))return(0,K.jsx)(K.Fragment,{});let t=e.products.products.data.find(e=>e.id===T.Exchange).url;return(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`curated-widget-header`,children:(0,K.jsx)(`h2`,{className:`h4 curated-widget-heading`,children:(0,K.jsx)(j,{namespace:q,phrase:`title`})})}),(0,K.jsxs)(`div`,{className:`row`,children:[(0,K.jsx)(`div`,{className:`col-md-6 col-12`,children:(0,K.jsx)(Y,{title:J(`exchangeText`),cta:J(`exchangeCta`),backgroundColor:`#7A76EB`,backgroundImage:e.isPrimary?``:`https://img.clickviewapp.com/v2/thumbnails/7mqa32`,href:t+`/exchange`})}),(0,K.jsx)(`div`,{className:`col-md-6 col-12`,children:(0,K.jsx)(Y,{title:J(`tvText`),cta:J(`tvCta`),backgroundColor:`#40BCC3`,backgroundImage:e.isPrimary?``:`https://img.clickviewapp.com/v2/thumbnails/Eo3L1k`,href:t+`/tv`})})]})]})}var Z=`moviesAndTv.dashboardEmptyState`,le=a.encloseNamespace(Z);function ue(e){let n=e.dashboard?.status===y.Archived;return(0,K.jsxs)(E,{children:[(0,K.jsx)(E.Image,{src:e.imageUrl,altText:le(`info`)}),(0,K.jsx)(E.Heading,{children:(0,K.jsx)(j,{namespace:Z,phrase:`heading`})}),(0,K.jsx)(E.Info,{children:(0,K.jsx)(j,{namespace:Z,phrase:`info`})}),(0,K.jsx)(t,{title:n?a.getPhrase(Z,`archivedCtaTooltip`):``,spanHack:!0,children:(0,K.jsx)(E.Cta,{text:a.getPhrase(Z,`add`),appLink:e.addWidgetApplink?.(),className:`btn btn-dark`,icon:L,disabled:n})})]})}var Q={icon:`_icon_typxc_1`,title:`_title_typxc_6`},$=`moviesAndTv.dashboard`,de=a.encloseNamespace($);function fe(e){let r=u.sortBy(e.dashboard?.widgets,`index`),{hasProduct:a}=D(),o=e.hasPermissions(i.Exchange)&&a(T.Exchange),s=e.isReadonly?r:r.filter(e=>e.templateId!==h.HeroBannerSmall&&e.widgetId!==g.Blurb||o);function c(t,n,r){let i=_.getWidgetParams(n,r,_.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,i,r)}let l=e.isReadonly&&!s?.length;return(0,K.jsxs)(`div`,{className:`px-4`,children:[(0,K.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,K.jsx)(`div`,{style:{backgroundImage:`url(${e.moviesAndTvIconUrl})`},className:`${Q.icon}`}),(0,K.jsx)(`h1`,{className:`h2 ${Q.title} d-inline-block me-2`,children:(0,K.jsx)(j,{namespace:$,phrase:`heading`})}),e.showPreviewingTooltip&&(0,K.jsx)(`div`,{className:`pt-1`,children:(0,K.jsx)(t,{title:de(`tooltip`),spanHack:!0,children:(0,K.jsx)(n,{svg:F})})})]}),(0,K.jsx)(`hr`,{className:`mt-2`}),(0,K.jsx)(X,{exchangeTvProductOption:e.settings?.exchangeTvProductOption,products:e.products,isPrimary:+m[e.presentation?.learningLevel]===m.Level_1}),s.map((t,n)=>(0,K.jsx)(ce,{widgetCollection:v.MoviesAndTv,settingsHash:e.settings,id:t.id,getContentRequest:c,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,presentation:e.presentation,appLinks:e.widgetAppLinks,isScrollToTargetWidget:e?.scrollToWidgetId===t.id,widgetTypeId:t.widgetId,lazyLoad:e.lazyLoad,dashboardTarget:v.MoviesAndTv,widgetIndex:n,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,settings:{hasTopicDirectories:e.settings?.hasTopicDirectories},imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,hasTableOfContents:!1,isEditing:!1,setIsEmpty:()=>{},seeMoreLink:void 0,onClickRemoveItem:null,badgeComponent:null},t.id)),l&&(0,K.jsx)(ue,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard})]})}var pe=a.encloseNamespace(`moviesAndTV.moviesAndTV`);function me(e,t,n){return{partner:k.getPartnerDashboardAppLink,partnerHome:k.getPartnerHomeAppLink,rating:(e,t)=>({application:l.SEARCH,action:x.Search.HOME,params:{moviesAndTv:!0,rating:P.getFrontendParamValue([u.first(t),e])}}),classification:e=>N.getAppLink(e,{moviesAndTv:!0},n),videoType:(n,r)=>M.getAppLink(n,{...r,moviesAndTv:!0,context:b.Widget,includeContext:e?.isAuthenticated},t),series:e=>A.getSeriesAppLink(e,{mtv:!0},t),company:e=>({application:l.MOVIES_AND_TV,action:x.MoviesAndTv.COMPANY_DASHBOARD,args:[t,e.id,o.slugify(e.name)]}),latestReleases:()=>null,allTopics:()=>null,classificationLatestReleases:()=>null,classificationDirectory:()=>null,discover:()=>null,widgetWizard:()=>null,widgetVideoList:()=>null,watchHistory:()=>null}}function he(e){let{hasPermissions:t,hasLocalPermissions:n,isLoaded:a}=oe(),o=D(),s=te(null),{availablePresentations:c}=I(),{activePresentation:u}=S(),d=ee(ne.currentUser()),{applinks:p,requestAccessApplink:m,isUpselling:h}=H({applinks:me(d.data,e.presentationSlug,c)}),{commonVideoProps:g}=U({locationContext:f.VideoThumbnail,mtv:!0,subTextAppLink:h(u)?m:null}),_=t(i.ViewMoviesTv),{dashboard:y,presentation:b}=V({targetType:v.MoviesAndTv,queryParams:e.queryParams});return z({app:`movies-and-tv`}),ae(ie.getDefaultMetadata({title:b?.name,phraseContext:{phraseHandler:pe,titlePhrase:`pageTitle`,descriptionPhrase:`pageDescription`},canonicalLink:O.getCanonicalLink(),hrefLang:O.getStaticRouteHrefLang(b?.learningLevel,()=>({application:l.MOVIES_AND_TV,action:x.MoviesAndTv.HOME,args:[e.presentationSlug]}),se),allowIndexing:O.allowIndexing()})),W.useEffect(()=>{_||!a||r.trigger({application:l.DASHBOARD,action:x.Dashboard.HOME,args:[e.presentationSlug]},{replace:!0})},[_,a]),(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(fe,{dashboard:y.data,getWidgetContentRequest:B.dashboardWidgetContent,presentation:b,showPreviewingTooltip:d.data?.isAuthenticated&&!t(i.StudentExperience),moviesAndTvIconUrl:w.MoviesAndTv.DASHBOARD_ICON,widgetAppLinks:p,hasPermissions:t,hasLocalPermissions:n,settings:s,products:o,commonVideoProps:g})})}export{he as MoviesAndTvView};
2
+ //# sourceMappingURL=CJGWbJ4m.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"B82m7K0U.chunk.js","names":[],"sources":["../../../../libs/shared/src/apps/movies-and-tv/components/exchange-and-tv-links/exchange-and-tv-links.module.scss","../../../../libs/shared/src/apps/movies-and-tv/components/exchange-and-tv-links/ExchangeAndTvLinks.tsx","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/empty-state/MoviesAndTvDashboardEmptyState.tsx","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/movies-and-tv-dashboard.module.scss","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/MoviesAndTvDashboard.tsx","../../src/apps/movies-and-tv/views/movies-and-tv-view/MoviesAndTvView.tsx"],"sourcesContent":[":local {\n .link {\n background-size: cover;\n background-position: 50% 50%;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UseProductsResponse } from 'libs/shared/hooks/UseProducts';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { ExchangeTvProductOption } from 'libs/shared/interfaces/ExchangeTvProductOption';\n\nimport styles from './exchange-and-tv-links.module.scss';\n\nconst namespace = 'moviesAndTV.exchangeAndTvLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LinkProps {\n backgroundImage: string;\n backgroundColor: string;\n title: string;\n cta: string;\n href: string;\n}\n\nfunction Link(props: LinkProps): JSX.Element {\n function onClick(): void {\n AnalyticsHelper.logUserAction({ href: props.href }, {\n actionType: UserAction.Click,\n entity: EntityType.Link,\n location: LocationContext.ExchangeLinksWidget\n });\n }\n\n const style: React.CSSProperties = {\n backgroundColor: props.backgroundColor\n };\n\n if (props.backgroundImage)\n style.backgroundImage = `url(${props.backgroundImage})`;\n\n return (\n <div\n className={`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${styles.link}`}\n style={style}\n >\n <a className='h6 text-shadow mb-0' href={props.href} target='_blank' onClick={onClick}>{props.title}</a>\n <IconButton\n href={props.href}\n svg={NewWindowSvg}\n openInNewTab\n className='btn btn-outline-dark d-lg-block d-none'\n onClick={onClick}\n >\n {props.cta}\n </IconButton>\n </div>\n );\n}\n\ninterface ExchangeAndTvLinksProps {\n isPrimary: boolean;\n exchangeTvProductOption: ExchangeTvProductOption;\n products: UseProductsResponse;\n}\n\nexport function ExchangeAndTvLinks(props: ExchangeAndTvLinksProps): JSX.Element {\n const shouldShow = (\n !props.products.isLoadingProducts &&\n props.products.hasProduct(ProductId.Exchange) &&\n props.exchangeTvProductOption === 'exchange_and_tv'\n );\n\n if (!shouldShow)\n return <></>;\n\n const exchangeUrl = props.products.products.data.find(p => p.id === ProductId.Exchange).url;\n\n return (\n <div>\n <div className='curated-widget-header'>\n <h2 className='h4 curated-widget-heading'>\n <Text namespace={namespace} phrase='title' />\n </h2>\n </div>\n <div className='row'>\n <div className='col-md-6 col-12'>\n <Link\n title={getPhrase('exchangeText')}\n cta={getPhrase('exchangeCta')}\n backgroundColor='#7A76EB'\n backgroundImage={props.isPrimary ? '' : 'https://img.clickviewapp.com/v2/thumbnails/7mqa32'}\n href={exchangeUrl + '/exchange'}\n />\n </div>\n <div className='col-md-6 col-12'>\n <Link\n title={getPhrase('tvText')}\n cta={getPhrase('tvCta')}\n backgroundColor='#40BCC3'\n backgroundImage={props.isPrimary ? '' : 'https://img.clickviewapp.com/v2/thumbnails/Eo3L1k'}\n href={exchangeUrl + '/tv'}\n />\n </div>\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { PlusSvg } from 'libs/shared/images/svg/actions/PlusSvg';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\n\nconst namespace = 'moviesAndTv.dashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MoviesAndTvDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function MoviesAndTvDashboardEmptyState(props: MoviesAndTvDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('info')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={PlusSvg}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}\n",":local {\n .icon {\n width: 2.875rem;\n height: 3.0625rem;\n background-size: cover;\n }\n .title {\n margin-top: 1rem;\n }\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ExchangeAndTvLinks } from 'libs/shared/apps/movies-and-tv/components/exchange-and-tv-links/ExchangeAndTvLinks';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { AllMoviesAndTvWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { useProducts, UseProductsResponse } from 'libs/shared/hooks/UseProducts';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { InfoSvg } from 'libs/shared/images/svg/status/InfoSvg';\nimport { CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { MoviesAndTvDashboardEmptyState } from './empty-state/MoviesAndTvDashboardEmptyState';\n\nimport styles from './movies-and-tv-dashboard.module.scss';\n\nconst namespace = 'moviesAndTv.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface MoviesAndDashboardProps {\n dashboard: CuratedDashboard;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n audiences?: PresentationAudience[];\n emptyImageUrl?: string;\n moviesAndTvIconUrl?: string;\n presentation: Presentation;\n widgetAppLinks?: AllMoviesAndTvWidgetTemplates['appLinks'] & {\n widgetWizard: () => Core.AppLink\n };\n scrollToWidgetId?: string;\n isReadonly?: boolean;\n lazyLoad?: boolean;\n showPreviewingTooltip?: boolean;\n settings?: SettingsHash;\n products?: UseProductsResponse;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function MoviesAndTvDashboard(props: MoviesAndDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const { hasProduct } = useProducts();\n\n // todo replace with backend filtering widgets by permissions and products\n const hasExchange = props.hasPermissions(PermissionName.Exchange) && hasProduct(ProductId.Exchange);\n const filteredWidgets = props.isReadonly ?\n // in Curator every widget is visible\n widgets :\n widgets.filter(w =>\n (w.templateId !== WidgetTemplate.HeroBannerSmall && w.widgetId !== WidgetTypeId.Blurb)\n || hasExchange);\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const showEmptyState = props.isReadonly && !filteredWidgets?.length;\n\n return (\n <div className='px-4'>\n <div className='d-flex align-items-center'>\n <div style={{ backgroundImage: `url(${props.moviesAndTvIconUrl})` }} className={`${styles.icon}`}></div>\n <h1 className={`h2 ${styles.title} d-inline-block me-2`}>\n <Text namespace={namespace} phrase='heading' />\n </h1>\n {props.showPreviewingTooltip &&\n <div className='pt-1'>\n <Tooltip title={getPhrase('tooltip')} spanHack>\n <SvgContainer svg={InfoSvg} />\n </Tooltip>\n </div>\n }\n </div>\n <hr className='mt-2'/>\n <ExchangeAndTvLinks\n exchangeTvProductOption={props.settings?.exchangeTvProductOption}\n products={props.products}\n isPrimary={+PresentationLearningLevel[props.presentation?.learningLevel] === PresentationLearningLevel.Level_1}\n />\n {filteredWidgets.map((widget, idx) => {\n return (\n <WidgetContainerView\n widgetCollection={DashboardTargetType.MoviesAndTv}\n settingsHash={props.settings}\n key={widget.id}\n id={widget.id}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n presentation={props.presentation}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n lazyLoad={props.lazyLoad}\n dashboardTarget={DashboardTargetType.MoviesAndTv}\n widgetIndex={idx}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadonly}\n settings={{\n hasTopicDirectories: props.settings?.hasTopicDirectories\n }}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n // TODO: Ideally we don't have to do this\n classification={null}\n hasTableOfContents={false}\n isEditing={false}\n setIsEmpty={() => {}}\n seeMoreLink={undefined}\n onClickRemoveItem={null}\n badgeComponent={null}\n />\n );\n })}\n\n {showEmptyState && (\n <MoviesAndTvDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { MoviesAndDashboardProps, MoviesAndTvDashboard } from 'libs/shared/apps/movies-and-tv/components/movies-and-tv-dashboard/MoviesAndTvDashboard';\nimport { RatingFilterHelper } from 'libs/shared/apps/search/utils/RatingFilterHelper';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classification, Company, CurrentUser, DashboardTargetType, Presentation, Rating, Series, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useActivePresentation } from 'shared/hooks/presentations/useActivePresentation';\nimport { useAvailablePresentations } from 'shared/hooks/presentations/useAvailablePresentations';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useRequestAccess } from 'shared/hooks/useRequestAccess';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\nimport { ContentPartnerAppLinkHelper } from 'shared/utils/ContentPartnerAppLinkHelper';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { REGIONAL_MTV_INDEXABILITY } from 'shared/utils/LiteRegionHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'moviesAndTV.moviesAndTV';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getMoviesAndTvAppLinks(\n currentUser: CurrentUser,\n presentationSlug: string | null,\n availablePresentations: Presentation[]\n): MoviesAndDashboardProps['widgetAppLinks'] {\n return {\n partner: ContentPartnerAppLinkHelper.getPartnerDashboardAppLink,\n partnerHome: ContentPartnerAppLinkHelper.getPartnerHomeAppLink,\n rating: (rating: Rating, ratings: Rating[]) => {\n return {\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n moviesAndTv: true,\n rating: RatingFilterHelper.getFrontendParamValue([ ArrayHelper.first(ratings), rating ])\n }\n };\n },\n classification: (classification?: Classification) => (\n ClassificationAppLinkHelper.getAppLink(classification, { moviesAndTv: true }, availablePresentations)\n ),\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n moviesAndTv: true,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser?.isAuthenticated\n }, presentationSlug)\n ),\n\n series: (series: Series) => SeriesAppLinkHelper.getSeriesAppLink(series, { mtv: true }, presentationSlug),\n\n company: (company: Company) => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ presentationSlug, company.id, TextHelper.slugify(company.name) ]\n }),\n \n // TODO: Find a nice way around having to pass these in\n latestReleases: () => null,\n allTopics: () => null,\n classificationLatestReleases: () => null,\n classificationDirectory: () => null,\n discover: () => null,\n widgetWizard: () => null,\n widgetVideoList: () => null,\n watchHistory: () => null\n };\n}\n\nexport interface MoviesAndTvProps {\n presentationSlug: string | null;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function MoviesAndTvView(props: MoviesAndTvProps): JSX.Element {\n const { hasPermissions, hasLocalPermissions, isLoaded: isPermissionLoaded } = usePermissions();\n const products = useProducts();\n const settings = useSettings(null);\n const { availablePresentations } = useAvailablePresentations();\n const { activePresentation } = useActivePresentation();\n \n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const { applinks: widgetAppLinks, requestAccessApplink, isUpselling } = useRequestAccess({\n applinks: getMoviesAndTvAppLinks(currentUser.data, props.presentationSlug, availablePresentations)\n });\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail,\n mtv: true,\n subTextAppLink: isUpselling(activePresentation) ? requestAccessApplink : null\n });\n\n const hasMoviesAndTv = hasPermissions(PermissionName.ViewMoviesTv);\n\n const {\n dashboard,\n presentation\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.MoviesAndTv,\n queryParams: props.queryParams\n });\n\n useDeepLinks({ app: 'movies-and-tv' });\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: presentation?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n hrefLang: SeoHelper.getStaticRouteHrefLang(\n presentation?.learningLevel,\n () => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.HOME,\n args: [props.presentationSlug]\n }),\n REGIONAL_MTV_INDEXABILITY\n ),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n React.useEffect(() => {\n if (hasMoviesAndTv || !isPermissionLoaded)\n return;\n Core.AppLinkHelper.trigger(\n { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME, args: [props.presentationSlug]},\n { replace: true }\n );\n }, [ hasMoviesAndTv, isPermissionLoaded ]);\n\n return (\n <>\n <MoviesAndTvDashboard\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n presentation={presentation}\n showPreviewingTooltip={currentUser.data?.isAuthenticated && !hasPermissions(PermissionName.StudentExperience)}\n moviesAndTvIconUrl={ImageUrls.MoviesAndTv.DASHBOARD_ICON}\n widgetAppLinks={widgetAppLinks}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n products={products}\n commonVideoProps={commonVideoProps}\n />\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CJGWbJ4m.chunk.js","names":[],"sources":["../../../../libs/shared/src/apps/movies-and-tv/components/exchange-and-tv-links/exchange-and-tv-links.module.scss","../../../../libs/shared/src/apps/movies-and-tv/components/exchange-and-tv-links/ExchangeAndTvLinks.tsx","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/empty-state/MoviesAndTvDashboardEmptyState.tsx","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/movies-and-tv-dashboard.module.scss","../../../../libs/shared/src/apps/movies-and-tv/components/movies-and-tv-dashboard/MoviesAndTvDashboard.tsx","../../src/apps/movies-and-tv/views/movies-and-tv-view/MoviesAndTvView.tsx"],"sourcesContent":[":local {\n .link {\n background-size: cover;\n background-position: 50% 50%;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UseProductsResponse } from 'libs/shared/hooks/UseProducts';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { ExchangeTvProductOption } from 'libs/shared/interfaces/ExchangeTvProductOption';\n\nimport styles from './exchange-and-tv-links.module.scss';\n\nconst namespace = 'moviesAndTV.exchangeAndTvLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LinkProps {\n backgroundImage: string;\n backgroundColor: string;\n title: string;\n cta: string;\n href: string;\n}\n\nfunction Link(props: LinkProps): JSX.Element {\n function onClick(): void {\n AnalyticsHelper.logUserAction({ href: props.href }, {\n actionType: UserAction.Click,\n entity: EntityType.Link,\n location: LocationContext.ExchangeLinksWidget\n });\n }\n\n const style: React.CSSProperties = {\n backgroundColor: props.backgroundColor\n };\n\n if (props.backgroundImage)\n style.backgroundImage = `url(${props.backgroundImage})`;\n\n return (\n <div\n className={`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${styles.link}`}\n style={style}\n >\n <a className='h6 text-shadow mb-0' href={props.href} target='_blank' onClick={onClick}>{props.title}</a>\n <IconButton\n href={props.href}\n svg={NewWindowSvg}\n openInNewTab\n className='btn btn-outline-dark d-lg-block d-none'\n onClick={onClick}\n >\n {props.cta}\n </IconButton>\n </div>\n );\n}\n\ninterface ExchangeAndTvLinksProps {\n isPrimary: boolean;\n exchangeTvProductOption: ExchangeTvProductOption;\n products: UseProductsResponse;\n}\n\nexport function ExchangeAndTvLinks(props: ExchangeAndTvLinksProps): JSX.Element {\n const shouldShow = (\n !props.products.isLoadingProducts &&\n props.products.hasProduct(ProductId.Exchange) &&\n props.exchangeTvProductOption === 'exchange_and_tv'\n );\n\n if (!shouldShow)\n return <></>;\n\n const exchangeUrl = props.products.products.data.find(p => p.id === ProductId.Exchange).url;\n\n return (\n <div>\n <div className='curated-widget-header'>\n <h2 className='h4 curated-widget-heading'>\n <Text namespace={namespace} phrase='title' />\n </h2>\n </div>\n <div className='row'>\n <div className='col-md-6 col-12'>\n <Link\n title={getPhrase('exchangeText')}\n cta={getPhrase('exchangeCta')}\n backgroundColor='#7A76EB'\n backgroundImage={props.isPrimary ? '' : 'https://img.clickviewapp.com/v2/thumbnails/7mqa32'}\n href={exchangeUrl + '/exchange'}\n />\n </div>\n <div className='col-md-6 col-12'>\n <Link\n title={getPhrase('tvText')}\n cta={getPhrase('tvCta')}\n backgroundColor='#40BCC3'\n backgroundImage={props.isPrimary ? '' : 'https://img.clickviewapp.com/v2/thumbnails/Eo3L1k'}\n href={exchangeUrl + '/tv'}\n />\n </div>\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { PlusSvg } from 'libs/shared/images/svg/actions/PlusSvg';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\n\nconst namespace = 'moviesAndTv.dashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MoviesAndTvDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function MoviesAndTvDashboardEmptyState(props: MoviesAndTvDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('info')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={PlusSvg}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}\n",":local {\n .icon {\n width: 2.875rem;\n height: 3.0625rem;\n background-size: cover;\n }\n .title {\n margin-top: 1rem;\n }\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ExchangeAndTvLinks } from 'libs/shared/apps/movies-and-tv/components/exchange-and-tv-links/ExchangeAndTvLinks';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { AllMoviesAndTvWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { useProducts, UseProductsResponse } from 'libs/shared/hooks/UseProducts';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { InfoSvg } from 'libs/shared/images/svg/status/InfoSvg';\nimport { CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { MoviesAndTvDashboardEmptyState } from './empty-state/MoviesAndTvDashboardEmptyState';\n\nimport styles from './movies-and-tv-dashboard.module.scss';\n\nconst namespace = 'moviesAndTv.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface MoviesAndDashboardProps {\n dashboard: CuratedDashboard;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n audiences?: PresentationAudience[];\n emptyImageUrl?: string;\n moviesAndTvIconUrl?: string;\n presentation: Presentation;\n widgetAppLinks?: AllMoviesAndTvWidgetTemplates['appLinks'] & {\n widgetWizard: () => Core.AppLink\n };\n scrollToWidgetId?: string;\n isReadonly?: boolean;\n lazyLoad?: boolean;\n showPreviewingTooltip?: boolean;\n settings?: SettingsHash;\n products?: UseProductsResponse;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function MoviesAndTvDashboard(props: MoviesAndDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const { hasProduct } = useProducts();\n\n // todo replace with backend filtering widgets by permissions and products\n const hasExchange = props.hasPermissions(PermissionName.Exchange) && hasProduct(ProductId.Exchange);\n const filteredWidgets = props.isReadonly ?\n // in Curator every widget is visible\n widgets :\n widgets.filter(w =>\n (w.templateId !== WidgetTemplate.HeroBannerSmall && w.widgetId !== WidgetTypeId.Blurb)\n || hasExchange);\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const showEmptyState = props.isReadonly && !filteredWidgets?.length;\n\n return (\n <div className='px-4'>\n <div className='d-flex align-items-center'>\n <div style={{ backgroundImage: `url(${props.moviesAndTvIconUrl})` }} className={`${styles.icon}`}></div>\n <h1 className={`h2 ${styles.title} d-inline-block me-2`}>\n <Text namespace={namespace} phrase='heading' />\n </h1>\n {props.showPreviewingTooltip &&\n <div className='pt-1'>\n <Tooltip title={getPhrase('tooltip')} spanHack>\n <SvgContainer svg={InfoSvg} />\n </Tooltip>\n </div>\n }\n </div>\n <hr className='mt-2'/>\n <ExchangeAndTvLinks\n exchangeTvProductOption={props.settings?.exchangeTvProductOption}\n products={props.products}\n isPrimary={+PresentationLearningLevel[props.presentation?.learningLevel] === PresentationLearningLevel.Level_1}\n />\n {filteredWidgets.map((widget, idx) => {\n return (\n <WidgetContainerView\n widgetCollection={DashboardTargetType.MoviesAndTv}\n settingsHash={props.settings}\n key={widget.id}\n id={widget.id}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n presentation={props.presentation}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n lazyLoad={props.lazyLoad}\n dashboardTarget={DashboardTargetType.MoviesAndTv}\n widgetIndex={idx}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadonly}\n settings={{\n hasTopicDirectories: props.settings?.hasTopicDirectories\n }}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n // TODO: Ideally we don't have to do this\n classification={null}\n hasTableOfContents={false}\n isEditing={false}\n setIsEmpty={() => {}}\n seeMoreLink={undefined}\n onClickRemoveItem={null}\n badgeComponent={null}\n />\n );\n })}\n\n {showEmptyState && (\n <MoviesAndTvDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { MoviesAndDashboardProps, MoviesAndTvDashboard } from 'libs/shared/apps/movies-and-tv/components/movies-and-tv-dashboard/MoviesAndTvDashboard';\nimport { RatingFilterHelper } from 'libs/shared/apps/search/utils/RatingFilterHelper';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classification, Company, CurrentUser, DashboardTargetType, Presentation, Rating, Series, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useActivePresentation } from 'shared/hooks/presentations/useActivePresentation';\nimport { useAvailablePresentations } from 'shared/hooks/presentations/useAvailablePresentations';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useRequestAccess } from 'shared/hooks/useRequestAccess';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\nimport { ContentPartnerAppLinkHelper } from 'shared/utils/ContentPartnerAppLinkHelper';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { REGIONAL_MTV_INDEXABILITY } from 'shared/utils/LiteRegionHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'moviesAndTV.moviesAndTV';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getMoviesAndTvAppLinks(\n currentUser: CurrentUser,\n presentationSlug: string | null,\n availablePresentations: Presentation[]\n): MoviesAndDashboardProps['widgetAppLinks'] {\n return {\n partner: ContentPartnerAppLinkHelper.getPartnerDashboardAppLink,\n partnerHome: ContentPartnerAppLinkHelper.getPartnerHomeAppLink,\n rating: (rating: Rating, ratings: Rating[]) => {\n return {\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n moviesAndTv: true,\n rating: RatingFilterHelper.getFrontendParamValue([ ArrayHelper.first(ratings), rating ])\n }\n };\n },\n classification: (classification?: Classification) => (\n ClassificationAppLinkHelper.getAppLink(classification, { moviesAndTv: true }, availablePresentations)\n ),\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n moviesAndTv: true,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser?.isAuthenticated\n }, presentationSlug)\n ),\n\n series: (series: Series) => SeriesAppLinkHelper.getSeriesAppLink(series, { mtv: true }, presentationSlug),\n\n company: (company: Company) => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ presentationSlug, company.id, TextHelper.slugify(company.name) ]\n }),\n \n // TODO: Find a nice way around having to pass these in\n latestReleases: () => null,\n allTopics: () => null,\n classificationLatestReleases: () => null,\n classificationDirectory: () => null,\n discover: () => null,\n widgetWizard: () => null,\n widgetVideoList: () => null,\n watchHistory: () => null\n };\n}\n\nexport interface MoviesAndTvProps {\n presentationSlug: string | null;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function MoviesAndTvView(props: MoviesAndTvProps): JSX.Element {\n const { hasPermissions, hasLocalPermissions, isLoaded: isPermissionLoaded } = usePermissions();\n const products = useProducts();\n const settings = useSettings(null);\n const { availablePresentations } = useAvailablePresentations();\n const { activePresentation } = useActivePresentation();\n \n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const { applinks: widgetAppLinks, requestAccessApplink, isUpselling } = useRequestAccess({\n applinks: getMoviesAndTvAppLinks(currentUser.data, props.presentationSlug, availablePresentations)\n });\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail,\n mtv: true,\n subTextAppLink: isUpselling(activePresentation) ? requestAccessApplink : null\n });\n\n const hasMoviesAndTv = hasPermissions(PermissionName.ViewMoviesTv);\n\n const {\n dashboard,\n presentation\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.MoviesAndTv,\n queryParams: props.queryParams\n });\n\n useDeepLinks({ app: 'movies-and-tv' });\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: presentation?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n hrefLang: SeoHelper.getStaticRouteHrefLang(\n presentation?.learningLevel,\n () => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.HOME,\n args: [props.presentationSlug]\n }),\n REGIONAL_MTV_INDEXABILITY\n ),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n React.useEffect(() => {\n if (hasMoviesAndTv || !isPermissionLoaded)\n return;\n Core.AppLinkHelper.trigger(\n { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME, args: [props.presentationSlug]},\n { replace: true }\n );\n }, [ hasMoviesAndTv, isPermissionLoaded ]);\n\n return (\n <>\n <MoviesAndTvDashboard\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n presentation={presentation}\n showPreviewingTooltip={currentUser.data?.isAuthenticated && !hasPermissions(PermissionName.StudentExperience)}\n moviesAndTvIconUrl={ImageUrls.MoviesAndTv.DASHBOARD_ICON}\n widgetAppLinks={widgetAppLinks}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n products={products}\n commonVideoProps={commonVideoProps}\n />\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["scripts/CAs2Sere2.chunk.js","scripts/DAXXjFlN.chunk.js","scripts/snXCXfT6.chunk.js","scripts/e57H3T-k.chunk.js","scripts/C2w0pmFW.chunk.js","scripts/wrLrTezN.chunk.js","scripts/BVnMI-dl.chunk.js","scripts/CMDJWWg3.chunk.js","scripts/Dr3Lux2e.chunk.js","scripts/wdQVW3s5.chunk.js","scripts/BGGL8m_U.chunk.js","scripts/B_N30_Kb.chunk.js","scripts/rPN1bfU12.chunk.js","scripts/BIzu5ufQ.chunk.js","scripts/BftnFbcr.chunk.js","scripts/DPtsihFR.chunk.js","scripts/DMnm3Ewv.chunk.js","scripts/DFZS3Ffo.chunk.js","scripts/C1SLt-ar.chunk.js","scripts/NlCAcBdo.chunk.js","scripts/BzfCWDOl2.chunk.js","scripts/C5j5LRut2.chunk.js","scripts/Bneb37232.chunk.js","scripts/C1PTqhPY2.chunk.js","scripts/BDwjs8qz2.chunk.js","scripts/B3TDTJSl.chunk.js","scripts/BYSskNbK.chunk.js","scripts/BRcHS92O2.chunk.js","scripts/CaHxeG5Y2.chunk.js","scripts/e_p5kSFR2.chunk.js","scripts/Byg072EM.chunk.js","scripts/DZX1tZ-D2.chunk.js","scripts/QCFxJYkI2.chunk.js","scripts/C0exjRXJ.chunk.js","scripts/Bbp2U9GK.chunk.js","scripts/CYSDN6kj.chunk.js","scripts/CVqxBe99.chunk.js","scripts/CNxJMwxC.chunk.js","scripts/CQRza4Ga.chunk.js","scripts/ByIC_M_8.chunk.js","scripts/Epqx0J1v.chunk.js","scripts/Cy6lZVxk.chunk.js","scripts/BUnh3rN0.chunk.js","scripts/_GCZ-60i.chunk.js","scripts/CduNFx13.chunk.js","css/9awfngRG.chunk.css","css/zFl67mql.chunk.css","scripts/CXnhm0VS2.chunk.js","scripts/CQyJ7YGa.chunk.js","scripts/iZ7EqNA72.chunk.js","scripts/OL3Z6Yp62.chunk.js","scripts/TTO6HcNP.chunk.js","scripts/ClVhjUGI.chunk.js","scripts/11tE0tcu.chunk.js","scripts/E5Pmu4O7.chunk.js","scripts/CKOWgMyj2.chunk.js","scripts/D5yUWL7p2.chunk.js","scripts/BScb3_Xj2.chunk.js","scripts/BxYKQEUG2.chunk.js","scripts/DaT2nTfp.chunk.js","scripts/CDeqAwMc.chunk.js","scripts/ss6ZpC3s.chunk.js","scripts/GvIHspQt.chunk.js","scripts/FFbkHQcg.chunk.js","scripts/ClpxGEGl.chunk.js","scripts/CvNHBl0q.chunk.js","scripts/C-k6FY-f.chunk.js","scripts/BLm6PYXX.chunk.js","scripts/BM2EJL9g.chunk.js","scripts/DqXpeRGy.chunk.js","scripts/CpFtf-tI2.chunk.js","scripts/CCrnRkGN2.chunk.js","scripts/CXVBjdpb.chunk.js","scripts/BruX4yYB.chunk.js","scripts/gl4k7dtw.chunk.js","scripts/CQ0MgG2c.chunk.js","scripts/Dhx_Wqdc.chunk.js","scripts/6ZXIO06e.chunk.js","scripts/DlEtkSBj2.chunk.js","scripts/CnsLb4V9.chunk.js","scripts/C7HU4huj.chunk.js","scripts/BGswYbRT.chunk.js","scripts/D0szf-0g.chunk.js","scripts/9kSpxveW.chunk.js","scripts/C-THHyTP.chunk.js","scripts/DDJBf9pK2.chunk.js","scripts/DUXPuDp72.chunk.js","scripts/BiqmNDlz2.chunk.js","scripts/Bs2PKr1I2.chunk.js","scripts/BlGyXBAH2.chunk.js","scripts/Dc1hYuQ12.chunk.js","css/CuSUr3Gp.chunk.css","scripts/Dp6QHgBL.chunk.js","scripts/ByszCPst.chunk.js","scripts/B44BW79X2.chunk.js","scripts/BU5CGdBX.chunk.js","css/BPdg7JW4.chunk.css","scripts/Z4RlHaVG.chunk.js","scripts/Dg1mFtY2.chunk.js","scripts/BBEIIgZ6.chunk.js","scripts/CHL4nrKG.chunk.js","scripts/CWMwyVGJ2.chunk.js","scripts/QVHuXdWQ2.chunk.js","scripts/Cv139qj0.chunk.js","css/D8a4tOyE.chunk.css","scripts/lPQgHDFT.chunk.js","scripts/XBYhZGTN.chunk.js","scripts/CwYrnhdi.chunk.js","scripts/DKDWcWxk.chunk.js","scripts/c7DC36s9.chunk.js","scripts/BVm7hIyo.chunk.js","scripts/FAs_d-DP.chunk.js","scripts/Bzihudtn.chunk.js","scripts/BFXddaSP.chunk.js","scripts/YjWbDb2Y.chunk.js","scripts/BJUbYu222.chunk.js","scripts/BBDxSGT52.chunk.js","scripts/jAbfamoi.chunk.js","scripts/CdYjo8_g2.chunk.js","scripts/CbOJtYeK.chunk.js","scripts/B3fF5gkg.chunk.js","scripts/CvHvrB-t.chunk.js","scripts/B6bB9two.chunk.js","scripts/BbgQJe-T.chunk.js","scripts/5ONJSThP.chunk.js","scripts/xa4cS6Fq.chunk.js","scripts/DGmmTRu72.chunk.js","scripts/B_BV48Fy.chunk.js","scripts/BX0wDJmp.chunk.js","scripts/CqrjHjAN.chunk.js","scripts/Ky1--4w3.chunk.js","scripts/CZgWQFsJ.chunk.js","scripts/CVHQXNzi2.chunk.js","scripts/B9VCwo3g2.chunk.js","scripts/DsBWAM3I2.chunk.js","scripts/_42F7SIA2.chunk.js","scripts/Cr6TXzQQ2.chunk.js","scripts/CjA4Q5pm.chunk.js","scripts/CmcCVXi32.chunk.js","scripts/BcibGFe42.chunk.js","scripts/WvK58Ge12.chunk.js","scripts/DYKH_3un.chunk.js","scripts/CunDpHqX2.chunk.js","css/0ZqRj7up.chunk.css","scripts/B5XaBzZh.chunk.js","scripts/DIENjKhZ.chunk.js","css/D2t3ESms.chunk.css","scripts/B_9JhhOa.chunk.js","scripts/BPavmm8c.chunk.js","css/DnhOr8Y7.chunk.css","scripts/CnnDkGmK.chunk.js","scripts/C3Wa868y.chunk.js","css/DvO5Hl4o.chunk.css","scripts/0Fek4oFk.chunk.js","css/BL4roXAj.chunk.css","scripts/cDv6zuhh.chunk.js","scripts/Cqq1N9xw.chunk.js","scripts/lhZ5v-iN2.chunk.js","css/BU5l8u5C.chunk.css","scripts/B2-VFQV3.chunk.js","scripts/C3q_xvci.chunk.js","scripts/C8ueKMsK2.chunk.js","scripts/D5nbPgu6.chunk.js","scripts/DhwAOJmY2.chunk.js","scripts/B1T2AAyo2.chunk.js","css/CVYThLDD.chunk.css","scripts/DhhslGq9.chunk.js","scripts/DT8J1fGP.chunk.js","scripts/mhXVBlJN2.chunk.js","scripts/DlAOGdRl.chunk.js","scripts/Dl2HqObu.chunk.js","css/FUAcQhsk.chunk.css","css/PJ3nCJ4X.chunk.css","scripts/IqGr9V7u2.chunk.js","css/ChavoTyg.chunk.css","scripts/B-W0xPTa2.chunk.js","scripts/B2JUNqnO2.chunk.js","css/C1-mauxJ.chunk.css","scripts/BiKac8UT2.chunk.js","css/1w6aF2B0.chunk.css","scripts/BiWUSyJr.chunk.js","scripts/Dyy-PWHO.chunk.js","scripts/B2INd6bh.chunk.js","scripts/BRrNQXpU2.chunk.js","css/DVhPtkT7.chunk.css","scripts/D3-wtcxf2.chunk.js","scripts/DEZqrbCm.chunk.js","scripts/Chgge8yX2.chunk.js","scripts/BteVhTv7.chunk.js","scripts/De16zmhB.chunk.js","css/BgzV9aK4.chunk.css","scripts/BicQH0Al.chunk.js","css/D5JKYURg.chunk.css","scripts/B1r_1ubU.chunk.js","scripts/C5f0lBCw2.chunk.js","css/DBshtiPC.chunk.css","scripts/CNfmLVE82.chunk.js","scripts/CcI-EKxs.chunk.js","scripts/CsF4wDV1.chunk.js","scripts/_jJAx6fU.chunk.js","scripts/CLjADRa42.chunk.js","css/DVdh6HWj.chunk.css"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./DAXXjFlN.chunk.js";import{x as t,y as n}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as r}from"./B785hxeE.chunk.js";import{t as i}from"./CQyJ7YGa.chunk.js";import{t as a}from"./e57H3T-k.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{i as l}from"./BYSskNbK.chunk.js";import{f as u,g as d,p as f,u as p}from"./BX0wDJmp.chunk.js";import{U as m,d as h,l as g,s as _,y as v,z as y}from"./NlCAcBdo.chunk.js";import{t as b}from"./DGmmTRu72.chunk.js";import{t as x}from"./CVHQXNzi2.chunk.js";import{t as S}from"./BrbeV-Gn2.chunk.js";import{t as C}from"./LoQS6GjP.chunk.js";import{t as w}from"./CZgWQFsJ.chunk.js";import{t as T}from"./CqrjHjAN.chunk.js";import{t as E}from"./eoAypzU3.chunk.js";import{t as D}from"./D_gWf2lC.chunk.js";import{t as O}from"./_GCZ-60i.chunk.js";import{t as k}from"./DruDe9vI.chunk.js";import{t as A}from"./7-GJWRH82.chunk.js";import{t as j}from"./dLd5d3X22.chunk.js";import{n as M}from"./BRcHS92O2.chunk.js";import{t as ee}from"./Bs2PKr1I2.chunk.js";import{t as N}from"./QCFxJYkI2.chunk.js";import{t as te}from"./e_p5kSFR2.chunk.js";import{t as ne}from"./CduNFx13.chunk.js";import{n as P,t as F}from"./BGhJ8TEx.chunk.js";import{n as re,t as ie}from"./DWLFYiMu.chunk.js";import{t as ae}from"./DDLr4JCi.chunk.js";import{t as I}from"./B3gsVN-_.chunk.js";import{t as oe}from"./BDif2ytg2.chunk.js";import{t as L}from"./CbzENe5-2.chunk.js";import{t as R}from"./Dfw0sxVt2.chunk.js";import{t as se}from"./rVRhgtHY2.chunk.js";import{t as ce}from"./6UdHSMo02.chunk.js";import{t as le}from"./BSYDOevb2.chunk.js";import{t as z}from"./BugRosaL2.chunk.js";import{t as ue}from"./DYDxLHiV2.chunk.js";import{n as de}from"./CpFtf-tI2.chunk.js";import{t as fe}from"./BTd65Rcb2.chunk.js";import{t as pe}from"./D6vGqwTy2.chunk.js";import{t as B}from"./DBkEQkKm2.chunk.js";import{t as me}from"./dkL70h2W2.chunk.js";import{n as he,t as ge}from"./Bmh0Fxsl2.chunk.js";import"./BUDCkU2S2.chunk.js";import{t as _e}from"./C1loT8MD2.chunk.js";var V=e(o()),H=s();function U(e,t){let n=u(),{hasPermissions:i}=I(),a=(p(T.currentUser()).data?.isAuthenticated||t)&&i(r.ViewVideoPointsOfInterest);function o(t){return C.pointsOfInterest(e,t)}function s(e){n(o(e))}a||(e=null),ae(!!e&&o,!!e&&s);let c=re(!!e&&(e=>o(e).key));return a?c:ie}function W(e){let{hasEnabledViviPlayback:t,hasEnabledAppleTvPlayback:n,hasEnabledViviStudentCasting:i,isLoadingSettings:a}=b(null),{hasProduct:o,isLoadingProducts:s}=R(),{hasPermissions:c,isLoaded:l}=I(),{fetchViviAccessToken:u,fetchAppleTvAccessToken:d}=ve(),f=p(T.currentUser()),m=p(D.config()),h=xe(c),g=f.data?.isAuthenticated??!1,_=!c(r.StudentExperience),v=!c(r.GuestExperience),y=o(N.Primary),x=g&&y&&(_||i)&&v,S=g&&y&&_&&v,C=x&&t,w=p(e&&C&&L.getViviIntegrationStatus()),E=w.data===oe.Connected,O=!C||w.hasCompleted;return{hasCompleted:!g||f.hasCompleted&&m.hasCompleted&&O&&l&&!a&&!s,data:{ctaOptions:h,canUserCastToDevices:x||S,vivi:{accountConnected:E,enabled:x&&t,apiUrl:m.data?.viviApiUrl??``,fetchAccessToken:u},appleTv:{enabled:S&&n,fetchAccessToken:d}}}}function ve(){let e=f(),t=d();return{fetchViviAccessToken:async()=>{let n=L.getViviAccessToken(),r=t(n.key),{token:i}=r.shouldFetch?await e(n):r.data;return i},fetchAppleTvAccessToken:()=>e(L.getAppleTvAccessToken())}}var ye=`https://clickv.ie/w/WVsx`,be=`https://clickv.ie/w/PVsx`;function xe(e){let[i,a]=j(`devices:cta:dismissed`,{dismissed:!1},{storage:l.LocalStorage}),o=e(r.StudentExperience),s=e(r.ManageIntegrations),u={entity:g.DevicesCta,actionType:y.Click,workflowPhase:m.Complete,location:v.Player};return{hasBeenDismissed:i.dismissed||o,canUserManageIntegrations:s,onDismiss:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.Dismiss,eventVersion:h.V1}),a({dismissed:!0})},onInstall:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.InstallIntegration,eventVersion:h.V1}),n.trigger({application:c.SETTINGS,action:E.Settings.INTEGRATIONS})},onLearnMore:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.LearnMore,eventVersion:h.V1}),(e===`vivi_and_apple_tv`||e===`vivi`)&&t.PageLoad(ye,!0),(e===`vivi_and_apple_tv`||e===`apple_tv`)&&t.PageLoad(be,!0)},onContactSupport:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.ContactSupport,eventVersion:h.V1}),t.PageLoad(te.getSupportRequestUrl(),!0)}}}var G={VIDEO_START_TIME_CUTOFF:10,PUBLIC_SEARCH_QUERY_DEBOUNCE:400,AUTHENTICATED_SEARCH_QUERY_DEBOUNCE:200},K=e=>({application:c.LIBRARIES,action:E.Libraries.LIBRARY,args:[e.id.toString(),a.slugify(e.name)]}),q=(e,t)=>({application:c.LIBRARIES,action:E.Libraries.FOLDER,args:[e.id.toString(),t.id.toString(),a.slugify(t.name)]});function Se(e){let{settings:t,presentationSlug:n}=e;return{getTagAppLink:e=>({application:c.SEARCH,action:E.Search.HOME,params:{tagOrClassification:e.name}}),getSeriesAppLink:(e,t)=>ue.getSeriesAppLink(e,t?{mtv:!0}:{},n),getResourceAppLink:(e,t,n)=>r=>!n&&!t?{application:c.SIGN_UP,action:E.SignUp.SIGN_UP}:{application:c.VIDEOS,action:E.Videos.PREVIEW_PDF,args:[r.id],params:{videoId:e,shareId:t}},getPartnerProfileAppLink:t?.hasPartnerProfiles?e=>z.getPartnerDashboardAppLink(e):null,getPartnerDashboardHubAppLink:t?.hasPartnerProfiles?e=>z.getPartnerDashboardHubAppLink(e):null,getLibraryAppLink:K,getFolderAppLink:q}}function Ce(e,t){let n=Number(e);if(!isNaN(n)&&n>=0)return n;let r=S.getVideoProgress(t);return!r||r>=t.duration/1e3-G.VIDEO_START_TIME_CUTOFF?0:r}function we(e){if(Number.isInteger(+e))return+e}var J={poster:`_poster_1ven8_1`,frost:`_frost_1ven8_5`,image:`_image_1ven8_9`},Y=`shared.streamLimitOverlay`,X=i.encloseNamespace(Y);function Te(e){let t=e.canRedeemMoreReferrals?E.SignUp.INVITE_COLLEAGUE:E.SignUp.UPGRADE,n=e.canRedeemMoreReferrals?`inviteCta`:`upgradeCta`,r=e.embed||e.hasStudentExperience,i;return i=r?`basicDescription`:e.canRedeemMoreReferrals?`referralDescription`:`upgradeDescription`,V.useEffect(()=>{e.embed&&fe.remove()},[e.embed]),(0,H.jsxs)(`div`,{className:`position-relative bg-light overflow-hidden ${e.embed?`position-fixed top-0 start-0 end-0 bottom-0`:`ratio ratio-16x9`}`,children:[e.posterUrl&&(0,H.jsx)(`img`,{className:`position-absolute top-0 start-0 w-100 h-100 object-fit-cover ${J.poster}`,src:e.posterUrl,alt:``}),(0,H.jsx)(`div`,{className:`position-absolute top-0 start-0 w-100 h-100 ${J.frost}`}),(0,H.jsxs)(`div`,{className:`position-absolute top-0 start-0 w-100 h-100 d-flex flex-column align-items-center justify-content-center text-center p-4`,children:[(0,H.jsx)(`img`,{className:`${J.image} d-none d-md-block mb-3`,src:A.SignUp.INVITE_COLLEAGUE,alt:X(`heading`)}),(0,H.jsx)(`h2`,{className:`h5 mb-2`,children:(0,H.jsx)(de,{namespace:Y,phrase:`heading`,options:{smartCount:e.totalStreamsAvailable}})}),(0,H.jsx)(`p`,{className:`text-dark mb-3`,children:X(i)}),!r&&(0,H.jsx)(ne,{className:`btn btn-dark`,appLink:{application:c.SIGN_UP,action:t},children:X(n)})]})]})}var Ee=38,De=40,Oe=()=>{function e(e){if(e.keyCode===Ee||e.keyCode===De)return e.preventDefault(),!1}V.useEffect(()=>(window.addEventListener(`keydown`,e,!1),()=>{window.removeEventListener(`keydown`,e,!1)}),[])},Z=6,ke=25;function Q(e){let{video:t,currentUser:n,moviesAndTv:r,context:i,contextId:a}=e,{canViewRelatedVideos:o}=_e(),{hasProduct:s}=R(),c=u();function l(e){return!t||!n?.isAuthenticated||!s(N.Primary)||!o||!i&&!a?null:C.relatedVideos({videoId:t.id,context:i,collectionId:a,moviesAndTv:r,limit:e})}function d(e){return e&&(h&&(e=e.slice(0,Z-1)),e.filter(e=>S.getCanBeConsumed(e)?.canNavigate))}function f(){c(l(ke))}let m=p(l(Z)),h=m.data?.length===Z;return{videos:d(m.data),hasCompleted:m.hasCompleted,isFetching:m.isFetching,hasError:m.hasError,hasMore:h,fetchNext:f}}var Ae=M.Medium;function je(e,t,n){return t?n?n.objectId===e?F.createViewKey(t,P.Share):F.createViewKey(e,P.MasterObject,t):null:F.createViewKey(e,P.MasterObject)}function Me(e){let{objectId:t,objectTypeId:n,shareId:r,context:i,contextId:a,moviesAndTv:o}=e,s=p(D.config()),c=p(T.currentUser()),l=p(t&&S.getVideoRequest(t,n,r)),u=p(r&&k.getShareObject(r)),d=U((n===x.Video||n===x.Clip)&&t),f=p(t&&je(t,r,u.data)),m=Q({video:l.data,context:i,contextId:a,moviesAndTv:o,currentUser:c.data}),h=W(t);return p(t&&c.data?.isAuthenticated&&he.isFavourited(c.data.id,[t])),{hasCompleted:l.data&&s.hasCompleted&&c.hasCompleted&&(!r||u.hasCompleted)&&(n!==x.Video||d.hasCompleted)&&f.hasCompleted&&h.hasCompleted,config:s.data,currentUser:c.data,video:l.data,shareLink:u.data,pointsOfInterest:d?.items,viewKey:f.data,relatedVideos:m.videos,playerIntegrations:h.data}}function Ne(e,t){let{setFavourite:n,canFavourite:r}=ge(v.Player),i=me.isFavouritedByCurrentUser(t),a=S.isVideoTypeArchived(t);V.useEffect(()=>{!e||!t||!r(t)||a||e.setFavourite?.(i,e=>n(t,e))},[t,e,r,a])}function Pe(e,t,r,i,a){let{hasProduct:o}=R(),s=S.isVideoTypeArchived(r),l=t.isAuthenticated&&S.isVideo(r)&&r._canCreateChild?.value&&o(N.Primary)&&!i&&a&&!s;if(!l)return;function u(){l&&n.trigger({application:c.CLIPS,action:E.Clips.CREATE_CLIP,args:[r.id],params:{startTime:e.current?.currentTime?.()??void 0}})}return u}function Fe(e,t){let{hasProduct:n}=R();return e.isAuthenticated&&n(N.Primary)&&t}function Ie(e){let{player:t,relatedVideos:r,shareId:i,context:a,contextId:o,moviesAndTv:s,playNext:c,mode:l,isAuthenticated:u,presentationSlug:d}=e,f=r?.[0];V.useEffect(()=>{if(!t?.setNextVideo||!f)return;if(l!=="default"){t.setNextVideo?.(null,!1,null);return}let e=S.getThumbnail(f)?.url,r={name:f.name,thumbnailUrl:ee.createUrl(e,{size:Ae})};t.setNextVideo?.(r,c,()=>{n.trigger(B.getAppLink(f,{shareId:i,context:a,contextId:o,playNext:c,moviesAndTv:s,includeContext:u},d))})},[t,f,i,a,o,c,l])}var $={embeddedPlayer:`_embeddedPlayer_1qmhl_1`,placeholder:`_placeholder_1qmhl_8`,theatreMode:`_theatreMode_1qmhl_12`};function Le(e){return e.shareLink?e.currentUser.isAuthenticated?!0:!!e.collectAnonResults:!1}function Re(e,t,r,i,a){if(t)return n.getHref({application:c.SHARE,action:E.Share.VIEW_SHARE_LINK,args:[t.id],params:{t:r.currentTime,a:!0}});let o=B.getAppLink(e,{includeContext:i},a);return o.params||={},o.params.t=r.currentTime,o.params.a=!0,n.getHref(o)}ze.defaultProps={allowCreateClip:!0};function ze(e){let t=V.useRef(null),n=V.useRef(null);Ne(t.current,e.video),t.current,e.video,e.shareLink,Ie({player:t.current,relatedVideos:e.relatedVideos,shareId:e.shareLink?.id,context:e.context,contextId:e.contextId,moviesAndTv:e.moviesAndTv,playNext:e.playNext,mode:e.mode,isAuthenticated:e.currentUser?.isAuthenticated,presentationSlug:e.presentationSlug}),Oe();let i=Fe(e.currentUser,e.onRequestPictureInPicture),{experimentalInteractiveQuestions:a}=b(null),{isLoaded:o,hasReachedStreamLimit:s,canRedeemMoreReferrals:c,totalStreamsAvailable:l}=pe(),{hasPermissions:u}=I(),d=u(r.GuestExperience),f=u(r.StudentExperience),p=Pe(t,e.currentUser,e.video,e.embed,!d&&e.allowCreateClip),m=se();function h(n){t.current=n,m(),e.onReady&&e.onReady(n),g(n)}function g(t){n.current=new ce({player:t,video:e.video,analyticsLocation:e.embed?v.EmbeddedPlayer:v.PlayPage,shareId:e.shareLink?.id})}let _=``;`thumbnail`in e.video&&(_=e.video.thumbnail?.url),!_&&`_parentVideo`in e.video&&(_=e.video._parentVideo?.thumbnail?.url);let y={viewKey:e.viewKey.viewKey,playerApi:new URL(e.config.playerApiUrl),imageCdnUrl:e.config.imageCdnUrl,autoplay:e.autoplay,startTime:Ce(e.startTime,e.video),endTime:we(e.endTime),embed:e.embed,showResources:e.showResources,getExternalLink:e.embed&&(t=>Re(e.video,e.shareLink,t,e.currentUser?.isAuthenticated,e.presentationSlug)),muted:e.muted,splash:e.embed?{title:e.video.name,posterUrl:_,ratingCode:S.getRating(e.video)?.code,ratingValue:S.getRating(e.video)?.value,seriesName:`series`in e.video&&e.video.series?.name,seasonNumber:`season`in e.video&&e.video.season?.number,episodeNumber:`episodeNumber`in e.video&&e.video.episodeNumber}:void 0,allowTheatreMode:e.allowTheatreMode,allowLoop:!0,hotkeyElQuerySelector:`body`,sharerInstanceRegion:e.shareLink?.ownerInstanceRegion},C=e.playerIntegrations?{...e.playerIntegrations,trackingCode:S.getTrackingCode(e.video)}:void 0,T=e.mode==="default"&&e.defaultDisplayMode===`theatre`,E=e.mode===`hover`,D=e.video.typeId===x.Interactive,O=le.isPublic(e.shareLink),k=o&&s&&!E&&!O,A=V.useMemo(()=>V.lazy(()=>w(()=>import(`./CAs2Sere2.chunk.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]))),[]),j=V.useMemo(()=>V.lazy(()=>w(()=>import(`./BiWUSyJr.chunk.js`),__vite__mapDeps([180,1,14,7,15,16,4,5,19,181,2,3,6,8,9,10,11,12,13,132,43,17,34,44,45,182,124,80,183,184,140,185,120,186,48,24,33,187,188,189,99,190,191,114,27,88,31,87,89,90,91,192,193,194,195,108,109,110,26,111,112,113,25,35,36,37,38,39,40,42,46,47,49,50,51,115,116,117,86,118,119,121,122,123,18,70,55,56,125,126,127,128,73,129,130,131,81,133,134,135,136,137,138,139,41,141,142,143,144,145,146,147,148,149,150,151,152,155,156,157,158,178,196,197,198,77,78,79,76,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,199,200,201]))),[]);if(k)return(0,H.jsx)(Te,{posterUrl:_,embed:e.embed,hasStudentExperience:f,canRedeemMoreReferrals:c,totalStreamsAvailable:l});if(D)return(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(`div`,{className:$.placeholder}),children:(0,H.jsx)(A,{...y,imageApi:new URL(e.config.imageCdnUrl),currentUser:e.currentUser,collectResults:Le(e),shareId:e.shareLink?.id,enableImmersiveReader:!0,summaryPortalNode:e.summaryPortalNode,onShowSummary:e.onShowSummary,onReady:h,className:e.embed?$.embeddedPlayer:``,furthestVisitedTime:e.video._videoProgress?.furthest,questionListPortalNode:e.questionListPortalNode,authToken:e.token?.value,experimentalInteractiveQuestions:a})});function M(){return e.embed?$.embeddedPlayer:T?`w-100 h-100`:``}return(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(`div`,{className:`${$.placeholder} ${T?$.theatreMode:``}`}),children:(0,H.jsx)(j,{...y,devicesConfig:C,className:M(),onClickCreateClip:p,pointsOfInterest:e.pointsOfInterest,onReady:h,showResources:e.embed,onRequestPictureInPicture:i&&e.onRequestPictureInPicture,onRequestTheatreMode:e.onRequestTheatreMode,theatreMode:T,nextDefaultDisplayMode:e.defaultDisplayMode,allowTranscript:e.allowTranscript})})}export{q as a,W as c,Se as i,U as l,Me as n,K as o,Q as r,G as s,ze as t};
3
- //# sourceMappingURL=D-iyHqNw2.chunk.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["scripts/MW7W80HY2.chunk.js","scripts/DAXXjFlN.chunk.js","scripts/snXCXfT6.chunk.js","scripts/e57H3T-k.chunk.js","scripts/C2w0pmFW.chunk.js","scripts/wrLrTezN.chunk.js","scripts/BVnMI-dl.chunk.js","scripts/CMDJWWg3.chunk.js","scripts/Dr3Lux2e.chunk.js","scripts/wdQVW3s5.chunk.js","scripts/BGGL8m_U.chunk.js","scripts/B_N30_Kb.chunk.js","scripts/rPN1bfU12.chunk.js","scripts/BIzu5ufQ.chunk.js","scripts/BftnFbcr.chunk.js","scripts/DPtsihFR.chunk.js","scripts/DMnm3Ewv.chunk.js","scripts/DFZS3Ffo.chunk.js","scripts/C1SLt-ar.chunk.js","scripts/NlCAcBdo.chunk.js","scripts/BzfCWDOl2.chunk.js","scripts/C5j5LRut2.chunk.js","scripts/Bneb37232.chunk.js","scripts/C1PTqhPY2.chunk.js","scripts/BDwjs8qz2.chunk.js","scripts/B3TDTJSl.chunk.js","scripts/BYSskNbK.chunk.js","scripts/BRcHS92O2.chunk.js","scripts/CaHxeG5Y2.chunk.js","scripts/e_p5kSFR2.chunk.js","scripts/Byg072EM.chunk.js","scripts/DZX1tZ-D2.chunk.js","scripts/QCFxJYkI2.chunk.js","scripts/C0exjRXJ.chunk.js","scripts/Bbp2U9GK.chunk.js","scripts/CYSDN6kj.chunk.js","scripts/CVqxBe99.chunk.js","scripts/CNxJMwxC.chunk.js","scripts/CQRza4Ga.chunk.js","scripts/ByIC_M_8.chunk.js","scripts/Epqx0J1v.chunk.js","scripts/Cy6lZVxk.chunk.js","scripts/BUnh3rN0.chunk.js","scripts/_GCZ-60i.chunk.js","scripts/CduNFx13.chunk.js","css/9awfngRG.chunk.css","css/zFl67mql.chunk.css","scripts/CXnhm0VS2.chunk.js","scripts/CQyJ7YGa.chunk.js","scripts/iZ7EqNA72.chunk.js","scripts/OL3Z6Yp62.chunk.js","scripts/TTO6HcNP.chunk.js","scripts/ClVhjUGI.chunk.js","scripts/11tE0tcu.chunk.js","scripts/E5Pmu4O7.chunk.js","scripts/CKOWgMyj2.chunk.js","scripts/D5yUWL7p2.chunk.js","scripts/BScb3_Xj2.chunk.js","scripts/BxYKQEUG2.chunk.js","scripts/DaT2nTfp.chunk.js","scripts/CDeqAwMc.chunk.js","scripts/ss6ZpC3s.chunk.js","scripts/GvIHspQt.chunk.js","scripts/FFbkHQcg.chunk.js","scripts/ClpxGEGl.chunk.js","scripts/CvNHBl0q.chunk.js","scripts/C-k6FY-f.chunk.js","scripts/BLm6PYXX.chunk.js","scripts/BM2EJL9g.chunk.js","scripts/DqXpeRGy.chunk.js","scripts/CpFtf-tI2.chunk.js","scripts/CCrnRkGN2.chunk.js","scripts/CXVBjdpb.chunk.js","scripts/BruX4yYB.chunk.js","scripts/gl4k7dtw.chunk.js","scripts/CQ0MgG2c.chunk.js","scripts/Dhx_Wqdc.chunk.js","scripts/6ZXIO06e.chunk.js","scripts/DlEtkSBj2.chunk.js","scripts/CnsLb4V9.chunk.js","scripts/C7HU4huj.chunk.js","scripts/BGswYbRT.chunk.js","scripts/D0szf-0g.chunk.js","scripts/9kSpxveW.chunk.js","scripts/C-THHyTP.chunk.js","scripts/DDJBf9pK2.chunk.js","scripts/DUXPuDp72.chunk.js","scripts/BiqmNDlz2.chunk.js","scripts/Bs2PKr1I2.chunk.js","scripts/BlGyXBAH2.chunk.js","scripts/Dc1hYuQ12.chunk.js","css/CuSUr3Gp.chunk.css","scripts/Dp6QHgBL.chunk.js","scripts/ByszCPst.chunk.js","scripts/B44BW79X2.chunk.js","scripts/BU5CGdBX.chunk.js","css/BPdg7JW4.chunk.css","scripts/Z4RlHaVG.chunk.js","scripts/Dg1mFtY2.chunk.js","scripts/BBEIIgZ6.chunk.js","scripts/CHL4nrKG.chunk.js","scripts/CWMwyVGJ2.chunk.js","scripts/QVHuXdWQ2.chunk.js","scripts/Cv139qj0.chunk.js","css/D8a4tOyE.chunk.css","scripts/lPQgHDFT.chunk.js","scripts/XBYhZGTN.chunk.js","scripts/CwYrnhdi.chunk.js","scripts/Dqn0sInF.chunk.js","scripts/c7DC36s9.chunk.js","scripts/BVm7hIyo.chunk.js","scripts/FAs_d-DP.chunk.js","scripts/Bzihudtn.chunk.js","scripts/BFXddaSP.chunk.js","scripts/YjWbDb2Y.chunk.js","scripts/BJUbYu222.chunk.js","scripts/BBDxSGT52.chunk.js","scripts/jAbfamoi.chunk.js","scripts/CdYjo8_g2.chunk.js","scripts/CbOJtYeK.chunk.js","scripts/B3fF5gkg.chunk.js","scripts/CvHvrB-t.chunk.js","scripts/B6bB9two.chunk.js","scripts/BbgQJe-T.chunk.js","scripts/5ONJSThP.chunk.js","scripts/xa4cS6Fq.chunk.js","scripts/DGmmTRu72.chunk.js","scripts/B_BV48Fy.chunk.js","scripts/BX0wDJmp.chunk.js","scripts/CqrjHjAN.chunk.js","scripts/Ky1--4w3.chunk.js","scripts/CZgWQFsJ.chunk.js","scripts/CVHQXNzi2.chunk.js","scripts/B9VCwo3g2.chunk.js","scripts/DsBWAM3I2.chunk.js","scripts/_42F7SIA2.chunk.js","scripts/Cr6TXzQQ2.chunk.js","scripts/CjA4Q5pm.chunk.js","scripts/CmcCVXi32.chunk.js","scripts/BcibGFe42.chunk.js","scripts/WvK58Ge12.chunk.js","scripts/DYKH_3un.chunk.js","scripts/CunDpHqX2.chunk.js","css/0ZqRj7up.chunk.css","scripts/B5XaBzZh.chunk.js","scripts/DIENjKhZ.chunk.js","css/D2t3ESms.chunk.css","scripts/B_9JhhOa.chunk.js","scripts/BPavmm8c.chunk.js","css/DnhOr8Y7.chunk.css","scripts/CnnDkGmK.chunk.js","scripts/C3Wa868y.chunk.js","css/DvO5Hl4o.chunk.css","scripts/BLE8DLAY.chunk.js","css/BL4roXAj.chunk.css","scripts/BhE5KhcC.chunk.js","scripts/CM8248d7.chunk.js","scripts/lhZ5v-iN2.chunk.js","css/BU5l8u5C.chunk.css","scripts/B2-VFQV3.chunk.js","scripts/C3q_xvci.chunk.js","scripts/C8ueKMsK2.chunk.js","scripts/D5nbPgu6.chunk.js","scripts/DhwAOJmY2.chunk.js","scripts/B1T2AAyo2.chunk.js","css/CVYThLDD.chunk.css","scripts/DhhslGq9.chunk.js","scripts/DT8J1fGP.chunk.js","scripts/mhXVBlJN2.chunk.js","scripts/DlAOGdRl.chunk.js","scripts/Dl2HqObu.chunk.js","css/FUAcQhsk.chunk.css","css/PJ3nCJ4X.chunk.css","scripts/IqGr9V7u2.chunk.js","css/ChavoTyg.chunk.css","scripts/B-W0xPTa2.chunk.js","scripts/B2JUNqnO2.chunk.js","css/C1-mauxJ.chunk.css","scripts/BiKac8UT2.chunk.js","css/1w6aF2B0.chunk.css","scripts/CAkqvKfy.chunk.js","scripts/Dyy-PWHO.chunk.js","scripts/B2INd6bh.chunk.js","scripts/BRrNQXpU2.chunk.js","css/DVhPtkT7.chunk.css","scripts/D3-wtcxf2.chunk.js","scripts/DEZqrbCm.chunk.js","scripts/Chgge8yX2.chunk.js","scripts/BteVhTv7.chunk.js","scripts/De16zmhB.chunk.js","css/BgzV9aK4.chunk.css","scripts/BicQH0Al.chunk.js","css/D5JKYURg.chunk.css","scripts/B1r_1ubU.chunk.js","scripts/C5f0lBCw2.chunk.js","css/DBshtiPC.chunk.css","scripts/Bc1JT5Y-2.chunk.js","scripts/CcI-EKxs.chunk.js","scripts/CsF4wDV1.chunk.js","scripts/_jJAx6fU.chunk.js","scripts/CLjADRa42.chunk.js","css/DVdh6HWj.chunk.css"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./DAXXjFlN.chunk.js";import{x as t,y as n}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as r}from"./B785hxeE.chunk.js";import{t as i}from"./CQyJ7YGa.chunk.js";import{t as a}from"./e57H3T-k.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{i as l}from"./BYSskNbK.chunk.js";import{f as u,g as d,p as f,u as p}from"./BX0wDJmp.chunk.js";import{U as m,d as h,l as g,s as _,y as v,z as y}from"./NlCAcBdo.chunk.js";import{t as b}from"./DGmmTRu72.chunk.js";import{t as x}from"./CVHQXNzi2.chunk.js";import{t as S}from"./BrbeV-Gn2.chunk.js";import{t as C}from"./LoQS6GjP.chunk.js";import{t as w}from"./CZgWQFsJ.chunk.js";import{t as T}from"./CqrjHjAN.chunk.js";import{t as E}from"./eoAypzU3.chunk.js";import{t as D}from"./D_gWf2lC.chunk.js";import{t as O}from"./_GCZ-60i.chunk.js";import{t as k}from"./DruDe9vI.chunk.js";import{t as A}from"./7-GJWRH82.chunk.js";import{t as j}from"./dLd5d3X22.chunk.js";import{n as M}from"./BRcHS92O2.chunk.js";import{t as ee}from"./Bs2PKr1I2.chunk.js";import{t as N}from"./QCFxJYkI2.chunk.js";import{t as te}from"./e_p5kSFR2.chunk.js";import{t as ne}from"./CduNFx13.chunk.js";import{n as P,t as F}from"./BGhJ8TEx.chunk.js";import{n as re,t as ie}from"./DWLFYiMu.chunk.js";import{t as ae}from"./DDLr4JCi.chunk.js";import{t as I}from"./B3gsVN-_.chunk.js";import{t as oe}from"./BDif2ytg2.chunk.js";import{t as L}from"./CbzENe5-2.chunk.js";import{t as R}from"./Dfw0sxVt2.chunk.js";import{t as se}from"./rVRhgtHY2.chunk.js";import{t as ce}from"./6UdHSMo02.chunk.js";import{t as le}from"./BSYDOevb2.chunk.js";import{t as z}from"./BugRosaL2.chunk.js";import{t as ue}from"./DYDxLHiV2.chunk.js";import{n as de}from"./CpFtf-tI2.chunk.js";import{t as fe}from"./BTd65Rcb2.chunk.js";import{t as pe}from"./D6vGqwTy2.chunk.js";import{t as B}from"./DBkEQkKm2.chunk.js";import{t as me}from"./dkL70h2W2.chunk.js";import{n as he,t as ge}from"./Bmh0Fxsl2.chunk.js";import"./BUDCkU2S2.chunk.js";import{t as _e}from"./C1loT8MD2.chunk.js";var V=e(o()),H=s();function U(e,t){let n=u(),{hasPermissions:i}=I(),a=(p(T.currentUser()).data?.isAuthenticated||t)&&i(r.ViewVideoPointsOfInterest);function o(t){return C.pointsOfInterest(e,t)}function s(e){n(o(e))}a||(e=null),ae(!!e&&o,!!e&&s);let c=re(!!e&&(e=>o(e).key));return a?c:ie}function W(e){let{hasEnabledViviPlayback:t,hasEnabledAppleTvPlayback:n,hasEnabledViviStudentCasting:i,isLoadingSettings:a}=b(null),{hasProduct:o,isLoadingProducts:s}=R(),{hasPermissions:c,isLoaded:l}=I(),{fetchViviAccessToken:u,fetchAppleTvAccessToken:d}=ve(),f=p(T.currentUser()),m=p(D.config()),h=xe(c),g=f.data?.isAuthenticated??!1,_=!c(r.StudentExperience),v=!c(r.GuestExperience),y=o(N.Primary),x=g&&y&&(_||i)&&v,S=g&&y&&_&&v,C=x&&t,w=p(e&&C&&L.getViviIntegrationStatus()),E=w.data===oe.Connected,O=!C||w.hasCompleted;return{hasCompleted:!g||f.hasCompleted&&m.hasCompleted&&O&&l&&!a&&!s,data:{ctaOptions:h,canUserCastToDevices:x||S,vivi:{accountConnected:E,enabled:x&&t,apiUrl:m.data?.viviApiUrl??``,fetchAccessToken:u},appleTv:{enabled:S&&n,fetchAccessToken:d}}}}function ve(){let e=f(),t=d();return{fetchViviAccessToken:async()=>{let n=L.getViviAccessToken(),r=t(n.key),{token:i}=r.shouldFetch?await e(n):r.data;return i},fetchAppleTvAccessToken:()=>e(L.getAppleTvAccessToken())}}var ye=`https://clickv.ie/w/WVsx`,be=`https://clickv.ie/w/PVsx`;function xe(e){let[i,a]=j(`devices:cta:dismissed`,{dismissed:!1},{storage:l.LocalStorage}),o=e(r.StudentExperience),s=e(r.ManageIntegrations),u={entity:g.DevicesCta,actionType:y.Click,workflowPhase:m.Complete,location:v.Player};return{hasBeenDismissed:i.dismissed||o,canUserManageIntegrations:s,onDismiss:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.Dismiss,eventVersion:h.V1}),a({dismissed:!0})},onInstall:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.InstallIntegration,eventVersion:h.V1}),n.trigger({application:c.SETTINGS,action:E.Settings.INTEGRATIONS})},onLearnMore:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.LearnMore,eventVersion:h.V1}),(e===`vivi_and_apple_tv`||e===`vivi`)&&t.PageLoad(ye,!0),(e===`vivi_and_apple_tv`||e===`apple_tv`)&&t.PageLoad(be,!0)},onContactSupport:e=>{O.logUserAction({canUserManageIntegrations:s,context:e},{...u,descriptor:_.ContactSupport,eventVersion:h.V1}),t.PageLoad(te.getSupportRequestUrl(),!0)}}}var G={VIDEO_START_TIME_CUTOFF:10,PUBLIC_SEARCH_QUERY_DEBOUNCE:400,AUTHENTICATED_SEARCH_QUERY_DEBOUNCE:200},K=e=>({application:c.LIBRARIES,action:E.Libraries.LIBRARY,args:[e.id.toString(),a.slugify(e.name)]}),q=(e,t)=>({application:c.LIBRARIES,action:E.Libraries.FOLDER,args:[e.id.toString(),t.id.toString(),a.slugify(t.name)]});function Se(e){let{settings:t,presentationSlug:n}=e;return{getTagAppLink:e=>({application:c.SEARCH,action:E.Search.HOME,params:{tagOrClassification:e.name}}),getSeriesAppLink:(e,t)=>ue.getSeriesAppLink(e,t?{mtv:!0}:{},n),getResourceAppLink:(e,t,n)=>r=>!n&&!t?{application:c.SIGN_UP,action:E.SignUp.SIGN_UP}:{application:c.VIDEOS,action:E.Videos.PREVIEW_PDF,args:[r.id],params:{videoId:e,shareId:t}},getPartnerProfileAppLink:t?.hasPartnerProfiles?e=>z.getPartnerDashboardAppLink(e):null,getPartnerDashboardHubAppLink:t?.hasPartnerProfiles?e=>z.getPartnerDashboardHubAppLink(e):null,getLibraryAppLink:K,getFolderAppLink:q}}function Ce(e,t){let n=Number(e);if(!isNaN(n)&&n>=0)return n;let r=S.getVideoProgress(t);return!r||r>=t.duration/1e3-G.VIDEO_START_TIME_CUTOFF?0:r}function we(e){if(Number.isInteger(+e))return+e}var J={poster:`_poster_1ven8_1`,frost:`_frost_1ven8_5`,image:`_image_1ven8_9`},Y=`shared.streamLimitOverlay`,X=i.encloseNamespace(Y);function Te(e){let t=e.canRedeemMoreReferrals?E.SignUp.INVITE_COLLEAGUE:E.SignUp.UPGRADE,n=e.canRedeemMoreReferrals?`inviteCta`:`upgradeCta`,r=e.embed||e.hasStudentExperience,i;return i=r?`basicDescription`:e.canRedeemMoreReferrals?`referralDescription`:`upgradeDescription`,V.useEffect(()=>{e.embed&&fe.remove()},[e.embed]),(0,H.jsxs)(`div`,{className:`position-relative bg-light overflow-hidden ${e.embed?`position-fixed top-0 start-0 end-0 bottom-0`:`ratio ratio-16x9`}`,children:[e.posterUrl&&(0,H.jsx)(`img`,{className:`position-absolute top-0 start-0 w-100 h-100 object-fit-cover ${J.poster}`,src:e.posterUrl,alt:``}),(0,H.jsx)(`div`,{className:`position-absolute top-0 start-0 w-100 h-100 ${J.frost}`}),(0,H.jsxs)(`div`,{className:`position-absolute top-0 start-0 w-100 h-100 d-flex flex-column align-items-center justify-content-center text-center p-4`,children:[(0,H.jsx)(`img`,{className:`${J.image} d-none d-md-block mb-3`,src:A.SignUp.INVITE_COLLEAGUE,alt:X(`heading`)}),(0,H.jsx)(`h2`,{className:`h5 mb-2`,children:(0,H.jsx)(de,{namespace:Y,phrase:`heading`,options:{smartCount:e.totalStreamsAvailable}})}),(0,H.jsx)(`p`,{className:`text-dark mb-3`,children:X(i)}),!r&&(0,H.jsx)(ne,{className:`btn btn-dark`,appLink:{application:c.SIGN_UP,action:t},children:X(n)})]})]})}var Ee=38,De=40,Oe=()=>{function e(e){if(e.keyCode===Ee||e.keyCode===De)return e.preventDefault(),!1}V.useEffect(()=>(window.addEventListener(`keydown`,e,!1),()=>{window.removeEventListener(`keydown`,e,!1)}),[])},Z=6,ke=25;function Q(e){let{video:t,currentUser:n,moviesAndTv:r,context:i,contextId:a}=e,{canViewRelatedVideos:o}=_e(),{hasProduct:s}=R(),c=u();function l(e){return!t||!n?.isAuthenticated||!s(N.Primary)||!o||!i&&!a?null:C.relatedVideos({videoId:t.id,context:i,collectionId:a,moviesAndTv:r,limit:e})}function d(e){return e&&(h&&(e=e.slice(0,Z-1)),e.filter(e=>S.getCanBeConsumed(e)?.canNavigate))}function f(){c(l(ke))}let m=p(l(Z)),h=m.data?.length===Z;return{videos:d(m.data),hasCompleted:m.hasCompleted,isFetching:m.isFetching,hasError:m.hasError,hasMore:h,fetchNext:f}}var Ae=M.Medium;function je(e,t,n){return t?n?n.objectId===e?F.createViewKey(t,P.Share):F.createViewKey(e,P.MasterObject,t):null:F.createViewKey(e,P.MasterObject)}function Me(e){let{objectId:t,objectTypeId:n,shareId:r,context:i,contextId:a,moviesAndTv:o}=e,s=p(D.config()),c=p(T.currentUser()),l=p(t&&S.getVideoRequest(t,n,r)),u=p(r&&k.getShareObject(r)),d=U((n===x.Video||n===x.Clip)&&t),f=p(t&&je(t,r,u.data)),m=Q({video:l.data,context:i,contextId:a,moviesAndTv:o,currentUser:c.data}),h=W(t);return p(t&&c.data?.isAuthenticated&&he.isFavourited(c.data.id,[t])),{hasCompleted:l.data&&s.hasCompleted&&c.hasCompleted&&(!r||u.hasCompleted)&&(n!==x.Video||d.hasCompleted)&&f.hasCompleted&&h.hasCompleted,config:s.data,currentUser:c.data,video:l.data,shareLink:u.data,pointsOfInterest:d?.items,viewKey:f.data,relatedVideos:m.videos,playerIntegrations:h.data}}function Ne(e,t){let{setFavourite:n,canFavourite:r}=ge(v.Player),i=me.isFavouritedByCurrentUser(t),a=S.isVideoTypeArchived(t);V.useEffect(()=>{!e||!t||!r(t)||a||e.setFavourite?.(i,e=>n(t,e))},[t,e,r,a])}function Pe(e,t,r,i,a){let{hasProduct:o}=R(),s=S.isVideoTypeArchived(r),l=t.isAuthenticated&&S.isVideo(r)&&r._canCreateChild?.value&&o(N.Primary)&&!i&&a&&!s;if(!l)return;function u(){l&&n.trigger({application:c.CLIPS,action:E.Clips.CREATE_CLIP,args:[r.id],params:{startTime:e.current?.currentTime?.()??void 0}})}return u}function Fe(e,t){let{hasProduct:n}=R();return e.isAuthenticated&&n(N.Primary)&&t}function Ie(e){let{player:t,relatedVideos:r,shareId:i,context:a,contextId:o,moviesAndTv:s,playNext:c,mode:l,isAuthenticated:u,presentationSlug:d}=e,f=r?.[0];V.useEffect(()=>{if(!t?.setNextVideo||!f)return;if(l!=="default"){t.setNextVideo?.(null,!1,null);return}let e=S.getThumbnail(f)?.url,r={name:f.name,thumbnailUrl:ee.createUrl(e,{size:Ae})};t.setNextVideo?.(r,c,()=>{n.trigger(B.getAppLink(f,{shareId:i,context:a,contextId:o,playNext:c,moviesAndTv:s,includeContext:u},d))})},[t,f,i,a,o,c,l])}var $={embeddedPlayer:`_embeddedPlayer_1qmhl_1`,placeholder:`_placeholder_1qmhl_8`,theatreMode:`_theatreMode_1qmhl_12`};function Le(e){return e.shareLink?e.currentUser.isAuthenticated?!0:!!e.collectAnonResults:!1}function Re(e,t,r,i,a){if(t)return n.getHref({application:c.SHARE,action:E.Share.VIEW_SHARE_LINK,args:[t.id],params:{t:r.currentTime,a:!0}});let o=B.getAppLink(e,{includeContext:i},a);return o.params||={},o.params.t=r.currentTime,o.params.a=!0,n.getHref(o)}ze.defaultProps={allowCreateClip:!0};function ze(e){let t=V.useRef(null),n=V.useRef(null);Ne(t.current,e.video),t.current,e.video,e.shareLink,Ie({player:t.current,relatedVideos:e.relatedVideos,shareId:e.shareLink?.id,context:e.context,contextId:e.contextId,moviesAndTv:e.moviesAndTv,playNext:e.playNext,mode:e.mode,isAuthenticated:e.currentUser?.isAuthenticated,presentationSlug:e.presentationSlug}),Oe();let i=Fe(e.currentUser,e.onRequestPictureInPicture),{experimentalInteractiveQuestions:a}=b(null),{isLoaded:o,hasReachedStreamLimit:s,canRedeemMoreReferrals:c,totalStreamsAvailable:l}=pe(),{hasPermissions:u}=I(),d=u(r.GuestExperience),f=u(r.StudentExperience),p=Pe(t,e.currentUser,e.video,e.embed,!d&&e.allowCreateClip),m=se();function h(n){t.current=n,m(),e.onReady&&e.onReady(n),g(n)}function g(t){n.current=new ce({player:t,video:e.video,analyticsLocation:e.embed?v.EmbeddedPlayer:v.PlayPage,shareId:e.shareLink?.id})}let _=``;`thumbnail`in e.video&&(_=e.video.thumbnail?.url),!_&&`_parentVideo`in e.video&&(_=e.video._parentVideo?.thumbnail?.url);let y={viewKey:e.viewKey.viewKey,playerApi:new URL(e.config.playerApiUrl),imageCdnUrl:e.config.imageCdnUrl,autoplay:e.autoplay,startTime:Ce(e.startTime,e.video),endTime:we(e.endTime),embed:e.embed,showResources:e.showResources,getExternalLink:e.embed&&(t=>Re(e.video,e.shareLink,t,e.currentUser?.isAuthenticated,e.presentationSlug)),muted:e.muted,splash:e.embed?{title:e.video.name,posterUrl:_,ratingCode:S.getRating(e.video)?.code,ratingValue:S.getRating(e.video)?.value,seriesName:`series`in e.video&&e.video.series?.name,seasonNumber:`season`in e.video&&e.video.season?.number,episodeNumber:`episodeNumber`in e.video&&e.video.episodeNumber}:void 0,allowTheatreMode:e.allowTheatreMode,allowLoop:!0,hotkeyElQuerySelector:`body`,sharerInstanceRegion:e.shareLink?.ownerInstanceRegion},C=e.playerIntegrations?{...e.playerIntegrations,trackingCode:S.getTrackingCode(e.video)}:void 0,T=e.mode==="default"&&e.defaultDisplayMode===`theatre`,E=e.mode===`hover`,D=e.video.typeId===x.Interactive,O=le.isPublic(e.shareLink),k=o&&s&&!E&&!O,A=V.useMemo(()=>V.lazy(()=>w(()=>import(`./MW7W80HY2.chunk.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]))),[]),j=V.useMemo(()=>V.lazy(()=>w(()=>import(`./CAkqvKfy.chunk.js`),__vite__mapDeps([180,1,14,7,15,16,4,5,19,181,2,3,6,8,9,10,11,12,13,132,43,17,34,44,45,182,124,80,183,184,140,185,120,186,48,24,33,187,188,189,99,190,191,114,27,88,31,87,89,90,91,192,193,194,195,108,109,110,26,111,112,113,25,35,36,37,38,39,40,42,46,47,49,50,51,115,116,117,86,118,119,121,122,123,18,70,55,56,125,126,127,128,73,129,130,131,81,133,134,135,136,137,138,139,41,141,142,143,144,145,146,147,148,149,150,151,152,155,156,157,158,178,196,197,198,77,78,79,76,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,199,200,201]))),[]);if(k)return(0,H.jsx)(Te,{posterUrl:_,embed:e.embed,hasStudentExperience:f,canRedeemMoreReferrals:c,totalStreamsAvailable:l});if(D)return(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(`div`,{className:$.placeholder}),children:(0,H.jsx)(A,{...y,imageApi:new URL(e.config.imageCdnUrl),currentUser:e.currentUser,collectResults:Le(e),shareId:e.shareLink?.id,enableImmersiveReader:!0,summaryPortalNode:e.summaryPortalNode,onShowSummary:e.onShowSummary,onReady:h,className:e.embed?$.embeddedPlayer:``,furthestVisitedTime:e.video._videoProgress?.furthest,questionListPortalNode:e.questionListPortalNode,authToken:e.token?.value,experimentalInteractiveQuestions:a})});function M(){return e.embed?$.embeddedPlayer:T?`w-100 h-100`:``}return(0,H.jsx)(V.Suspense,{fallback:(0,H.jsx)(`div`,{className:`${$.placeholder} ${T?$.theatreMode:``}`}),children:(0,H.jsx)(j,{...y,devicesConfig:C,className:M(),onClickCreateClip:p,pointsOfInterest:e.pointsOfInterest,onReady:h,showResources:e.embed,onRequestPictureInPicture:i&&e.onRequestPictureInPicture,onRequestTheatreMode:e.onRequestTheatreMode,theatreMode:T,nextDefaultDisplayMode:e.defaultDisplayMode,allowTranscript:e.allowTranscript})})}export{q as a,W as c,Se as i,U as l,Me as n,K as o,Q as r,G as s,ze as t};
3
+ //# sourceMappingURL=CLvImDXv2.chunk.js.map