@clickview/lite 0.82.0-rc.2 → 0.82.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.
- package/dist/bundles.json +1 -1
- package/dist/css/{2258-lite-16c2b3509c.chunk.css → 275-lite-65ac7606d9.chunk.css} +1 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/2126-1ef42f1367-lite.chunk.js +2 -0
- package/dist/scripts/{2126-94c739ca6b-lite.chunk.js.map → 2126-1ef42f1367-lite.chunk.js.map} +1 -1
- package/dist/scripts/275-3b6b9cfc9c-lite.chunk.js +3 -0
- package/dist/scripts/275-3b6b9cfc9c-lite.chunk.js.map +1 -0
- package/dist/scripts/4504-c7d0c4e1e7-lite.chunk.js +2 -0
- package/dist/scripts/{4504-5a8c62527f-lite.chunk.js.map → 4504-c7d0c4e1e7-lite.chunk.js.map} +1 -1
- package/dist/scripts/6741-1e64f67951-lite.chunk.js +3 -0
- package/dist/scripts/{6741-ae590891ba-lite.chunk.js.map → 6741-1e64f67951-lite.chunk.js.map} +1 -1
- package/dist/scripts/6948-b1b7f560c9-lite.chunk.js +3 -0
- package/dist/scripts/{6948-49f33f09c8-lite.chunk.js.map → 6948-b1b7f560c9-lite.chunk.js.map} +1 -1
- package/dist/scripts/{8-40155bcddb-lite.chunk.js → 8-a610fce3d1-lite.chunk.js} +2 -2
- package/dist/scripts/{8-40155bcddb-lite.chunk.js.map → 8-a610fce3d1-lite.chunk.js.map} +1 -1
- package/dist/scripts/{bundle-aff25c8310.min.js → bundle-1fa665690e.min.js} +3 -3
- package/dist/scripts/{bundle-aff25c8310.min.js.map → bundle-1fa665690e.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/2126-94c739ca6b-lite.chunk.js +0 -2
- package/dist/scripts/2258-3721ba5687-lite.chunk.js +0 -3
- package/dist/scripts/2258-3721ba5687-lite.chunk.js.map +0 -1
- package/dist/scripts/4504-5a8c62527f-lite.chunk.js +0 -2
- package/dist/scripts/6741-ae590891ba-lite.chunk.js +0 -3
- package/dist/scripts/6948-49f33f09c8-lite.chunk.js +0 -3
- /package/dist/scripts/{2258-3721ba5687-lite.chunk.js.LICENSE.txt → 275-3b6b9cfc9c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6741-ae590891ba-lite.chunk.js.LICENSE.txt → 6741-1e64f67951-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6948-49f33f09c8-lite.chunk.js.LICENSE.txt → 6948-b1b7f560c9-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-aff25c8310.min.js.LICENSE.txt → bundle-1fa665690e.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8],{65042:(e,t,a)=>{a.d(t,{a:()=>h});var n=a(32735),r=a(23481),o=a(75902),i=a(35223);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,a){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=l(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var c=s(s(s({},o.GL.Archived,{svgName:i.vn.Archive,svgColorClassName:"text-secondary",actionName:"Archive",statusName:"Archived"}),o.GL.Draft,{svgName:i.vn.Edit,svgColorClassName:"",actionName:"Draft",statusName:"Draft"}),o.GL.Published,{svgName:i.vn.VisibleOn,svgColorClassName:"text-success",actionName:"Publish",statusName:"Published"}),d=a(83914),u=a(56644);const m={badge:"ciO47",draftLight:"A6Yi7",draftDark:"fkXBX",published:"Ovzwy",archived:"r_dco"};function p(e){var t="rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ".concat(m.badge);switch(e.status){case u.GL.Published:t+=" ".concat(m.published);break;case u.GL.Archived:t+=" ".concat(m.archived);break;case u.GL.Draft:t+=" ".concat(e.darkMode?m.draftDark:m.draftLight)}return e.wrapperClassName&&(t+=" ".concat(e.wrapperClassName)),t}function g(e){var t=c[e.status],a=t.statusName,r=t.svgName;return n.createElement("div",{className:p(e)},n.createElement(d.x,{svgName:r}),n.createElement("div",null,a))}var v=a(85219);const f={stickyWrapper:"zhw6K",badgeWrapper:"NOvn1",badge:"pxQSR"};var b=r.T.encloseNamespace("shared.classificationPreviewBanner");function h(e){return n.createElement("div",{className:"".concat(f.stickyWrapper," py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded")},n.createElement("div",{className:"position-absolute d-flex ".concat(f.badgeWrapper)},n.createElement(g,{status:e.status,wrapperClassName:"".concat(f.badge),darkMode:!0})),n.createElement("div",{className:"flex-grow-1"},n.createElement("h1",{className:"text-center my-3 h5"},n.createElement(v.V,{emoji:"👀"}),b("topic"===e.type?"topicTitle":"companyTitle"))))}},67814:(e,t,a)=>{a.d(t,{p:()=>D,v:()=>T});var n=a(32735),r=a(110),o=a(50690),i=a(22406),l=a(78408),s=a(83657),c=a(23481),d=a(15611),u=a(83914),m=a(35223),p="shared.backButton";function g(e){var t=Object.assign({textShadow:!0},e),a=t.backToName,r=t.appLink,o=t.color,i=t.extraClasses,l=t.textShadow,s=a?c.T.getPhrase(p,"backTo",{backToName:a}):c.T.getPhrase(p,"back"),g="black"===o?"":"text-white",v=l?"text-shadow":"";return n.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(i," ").concat(g," ").concat(v)},n.createElement(u.x,{svgName:m.vn.ChevronLeft,size:u.S.Medium}),n.createElement("span",{className:"ms-1"},s))}g.defaultProps={color:"black",extraClasses:""};var v=a(4527),f=a(83345),b=a(7733),h=a(10587),y=a(94232),C=a(54610),k=a(79967),E=a(9085),w=a(67453);const N={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var L="".concat(h.y[C.__.Banners].width,":").concat(h.y[C.__.Banners].height);function x(e){return e.length<160?"h1":N.headingLarge}var D=n.memo(function(e){var t,a,c,d,u=e.heading,m=e.banner,p=e.imageCdnUrl,h=e.actions,D=e.sortComponent,T=e.blockColourClass,P=e.specialEvent,A=n.useContext(y.n),S=(0,k.k)().xxl?1920:1200,O=n.useMemo(function(){if(!P||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return P.endDate?P.startDate<=t&&P.endDate>=t:P.startDate===t},[P]),M=e.imageOptions||{width:S,ratio:L,resizeType:C.Nq.Cover},I=!!m&&!!p&&w.j.createBannerUrl(m,{fallbackBaseUrl:p,fallbackCategoryName:u,type:C.__.Banners},M),B={className:"banner banner-header ".concat(e.bannerClassName),style:I?{backgroundImage:"url('".concat(I,"')")}:{}};!m&&T&&(delete B.style,B.className+=" ".concat(T));var j=e.detailsComponent,W=(0,E.x)(e.heading,b.o);return o.b.renderInPortalIfExists(n.createElement("header",Object.assign({},B),n.createElement("div",{className:"container ".concat(N.container," position-relative inner-banner")},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(g,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),n.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(N.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?N.bannerContentWithLogo:""))},!!P&&n.createElement("div",{className:"position-relative ".concat(N.specialEventContainer)},n.createElement(l.s,{body:{type:P.endDate?"range":"day",text:P.endDate?"".concat(r.O.format(P.startDate,"DD"),"-").concat(r.O.format(P.endDate,"DD")):r.O.format(P.startDate,"DD")},month:function(e){return e.endDate?r.O.isSame(e.startDate,e.endDate,"month")?r.O.format(e.startDate,"MMMM"):"".concat(r.O.format(e.startDate,"MMM")," - ").concat(r.O.format(e.endDate,"MMM")):r.O.format(e.startDate,"MMMM")}(P),theme:e.calendarTheme})),n.createElement("div",null,O&&n.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},n.createElement(f.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&n.createElement(i.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),n.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(a=e.logo)||void 0===a?void 0:a.url)&&n.createElement("div",{className:"".concat(N.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(W)},n.createElement(v.w,{src:w.j.createUrl(null===(c=e.logo)||void 0===c?void 0:c.url,{size:C.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),n.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(N.heading," ").concat(x(u)," ").concat(e.alignLogoLeft?"w-50":"")},u,j&&n.createElement(j,null)))),!!h&&n.createElement("div",{className:N.actionsContainer},n.createElement(s.e,{actions:h,sortComponent:D,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&n.createElement("div",{className:N.logoContainer},n.createElement("img",{src:w.j.createUrl(e.logo.url,{size:C.h2.Medium}),className:"rounded-circle"})))),null==A?void 0:A.container)},function(e,t){var a,n;return e.actions===t.actions&&e.heading===t.heading&&(null===(a=e.logo)||void 0===a?void 0:a.url)===(null===(n=t.logo)||void 0===n?void 0:n.url)});function T(){var e=n.useContext(y.n);return o.b.renderInPortalIfExists(n.createElement("div",{className:"partial-banner partial-loading-background ".concat(N.banner)}),null==e?void 0:e.container)}},63719:(e,t,a)=>{a.d(t,{h:()=>l});var n=a(32735),r=a(77316);function o(e,t){if(e){if("string"==typeof e)return i(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?i(e,t):void 0}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function l(e){var t,a,l=(t=n.useMemo(function(){return r.p.getBuilder()},[]),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,o,i,l=[],s=!0,c=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=o.call(a)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(t,a)||o(t,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=(0,l[1])(s);return c&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(c),[Object.assign(Object.assign({},e),{active:!0})]):c}},60008:(e,t,a)=>{a.r(t),a.d(t,{CompanyDashboardView:()=>J});var n=a(32735),r=a(23481),o=a(81886),i=a(20354),l=a(28400),s=a(65858),c=a(75896),d=a(97958),u=a(83345),m=a(36532),p=a(56644),g=a(35223),v="moviesAndTv.companyDashboardEmptyState",f=r.T.encloseNamespace(v);function b(e){var t,a,o=(null===(t=e.dashboard)||void 0===t?void 0:t.status)===p.GL.Archived;return n.createElement(d.u,null,n.createElement(d.u.Image,{src:e.imageUrl,altText:f("info")}),n.createElement(d.u.Heading,null,n.createElement(u.x,{namespace:v,phrase:"heading"})),n.createElement(d.u.Info,null,n.createElement(u.x,{namespace:v,phrase:"info"})),n.createElement(m.u,{title:o?r.T.getPhrase(v,"archivedCtaTooltip"):"",spanHack:!0},n.createElement(d.u.Cta,{text:r.T.getPhrase(v,"add"),appLink:null===(a=e.addWidgetApplink)||void 0===a?void 0:a.call(e),className:"btn btn-dark",icon:g.vn.Plus,disabled:o})))}var h=a(67814),y=a(49935),C=a(62333),k=a(7733),E=a(21366),w=a(9085);function N(e){var t,a,r,o=c.m.sortBy(null===(t=e.dashboard)||void 0===t?void 0:t.widgets,"index");function i(t,a,n){var r=E.S.getWidgetParams(a,n,E.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,r,n)}var l=e.isReadonly&&!(null==o?void 0:o.length);return n.createElement(n.Fragment,null,!!o.length&&n.createElement(n.Fragment,null,e.company?n.createElement(h.p,{heading:e.company.name,banner:e.company.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,blockColourClass:(0,w.x)(e.company.name,k.o),actions:null===(a=e.getBannerActions)||void 0===a?void 0:a.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):n.createElement(h.v,null),n.createElement("div",{className:"py-3 mb-3 border-bottom"},n.createElement(y.Oo,{breadcrumbs:null===(r=e.getBreadcrumbs)||void 0===r?void 0:r.call(e)})),n.createElement("div",{className:"mt-3"},o.map(function(t){return n.createElement(C.L,{widgetCollection:p.ku.Company,dashboardTarget:p.ku.Company,key:t.id,id:t.id,getContentRequest:i,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,settings:e.settings,imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,contentType:null,hasTableOfContents:!1,seeMoreLink:null,onClickRemoveItem:null,badgeComponent:null})}))),l&&n.createElement(b,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var L=a(65042),x=a(16714),D=a(183),T=a(67058),P=a(80889),A=a(31949),S=a(63719),O=a(56520),M=a(22902),I=a(79612),B=a(37802),j=a(76753),W=a(14070),U=a(97291),V=a(68317),_=a(58321),R=a(7179),H=a(23737),z=a(10741),G=a(33192),Y=a(22490),Q=a(82431),q=r.T.encloseNamespace("moviesAndTv.companyDashboard");function F(e){return{videoType:function(t,a){return Y.W.getAppLink(t,Object.assign(Object.assign({},a),{moviesAndTv:!0,context:D.Q.Widget,includeContext:null==e?void 0:e.isAuthenticated}))},series:Q.j.getSeriesAppLink,playlist:function(e){return{application:U.O.PLAYLISTS,action:W.e.Playlists.PLAYLIST,args:[e.id,l.m.slugify(e.name)]}},getPreviewQuestionsAppLink:function(e){return z.j.getPreviewQuestionsAppLink(e)},classification:function(){return null},allTopics:function(){return null},calendar:function(){return null},calendarMonth:function(){return null},classificationDirectory:function(){return null},classificationLatestReleases:function(){return null},company:function(){return null},discover:function(){return null},livestream:function(){return null},watchHistory:function(){return null},widgetVideoList:function(){return null},widgetWizard:function(){return null},searchSettings:function(){return null},searchHome:function(){return null}}}function J(e){var t,a,r,c,d=i.a.useBasicFetch(V.h.company(e.companyId)),u=i.a.useBasicFetch(A.N.currentUser()),m=(0,O.R0)(),g=m.openInCurationStudioLabel,v=m.isUserCurator,f=m.getOpenInCurationStudioLink,b=(0,_.U)({locationContext:s.LZ.VideoThumbnail,mtv:!0}).commonVideoProps,h=(0,M.T)(),y=h.hasPermissions,C=h.hasLocalPermissions,k=(0,B.r)(null),E=y(x.C.ViewMoviesTv),w=(0,H.y)({targetType:p.ku.Company,queryParams:e.queryParams,presentationSlug:e.presentationSlug,companyId:e.companyId}),D=w.dashboard,z=w.isPreviewing;(0,I.M)(j.CG.getDefaultMetadata({title:null===(t=d.data)||void 0===t?void 0:t.name,phraseContext:{phraseHandler:q,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:G.f.getCanonicalLink({stripPresentationSlug:!0,customAppLink:{application:U.O.MOVIES_AND_TV,action:W.e.MoviesAndTv.COMPANY_DASHBOARD,args:[null===(a=d.data)||void 0===a?void 0:a.id,l.m.slugify(null===(r=d.data)||void 0===r?void 0:r.name)]}}),allowIndexing:!1})),(0,R.P)({id:e.companyId,app:"studios"}),n.useEffect(function(){D.hasCompleted&&(E&&D.data||o.Q.C$.trigger({application:U.O.DASHBOARD,action:W.e.Dashboard.HOME},{replace:!0}))},[E,D.data,D.hasCompleted]);var Y=(0,S.h)({name:null===(c=d.data)||void 0===c?void 0:c.name});return n.useEffect(function(){D.hasCompleted&&!D.data&&o.Q.Ry.throw(new T.d)},[D.data,D.hasCompleted]),n.createElement("div",{className:"position-relative px-4"},!(!z||!D.data)&&n.createElement(L.a,{status:D.data.status,type:"company"}),n.createElement(N,{company:d.data,dashboard:D.data,getWidgetContentRequest:P._.dashboardWidgetContent,getBannerActions:function(){var e,t;return v?[{label:g,href:f(null===(e=d.data)||void 0===e?void 0:e.typeId,null===(t=d.data)||void 0===t?void 0:t.id),openInNewTab:!0}]:[]},widgetAppLinks:F(u.data),getBreadcrumbs:function(){return d.hasCompleted?Y:[]},hasPermissions:y,hasLocalPermissions:C,settings:k,commonVideoProps:b}))}}}]);
|
|
2
|
-
//# sourceMappingURL=8-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8],{65042:(e,t,a)=>{a.d(t,{a:()=>h});var n=a(32735),r=a(23481),o=a(75902),i=a(35223);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,a){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=l(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var c=s(s(s({},o.GL.Archived,{svgName:i.vn.Archive,svgColorClassName:"text-secondary",actionName:"Archive",statusName:"Archived"}),o.GL.Draft,{svgName:i.vn.Edit,svgColorClassName:"",actionName:"Draft",statusName:"Draft"}),o.GL.Published,{svgName:i.vn.VisibleOn,svgColorClassName:"text-success",actionName:"Publish",statusName:"Published"}),d=a(83914),u=a(56644);const m={badge:"ciO47",draftLight:"A6Yi7",draftDark:"fkXBX",published:"Ovzwy",archived:"r_dco"};function p(e){var t="rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ".concat(m.badge);switch(e.status){case u.GL.Published:t+=" ".concat(m.published);break;case u.GL.Archived:t+=" ".concat(m.archived);break;case u.GL.Draft:t+=" ".concat(e.darkMode?m.draftDark:m.draftLight)}return e.wrapperClassName&&(t+=" ".concat(e.wrapperClassName)),t}function g(e){var t=c[e.status],a=t.statusName,r=t.svgName;return n.createElement("div",{className:p(e)},n.createElement(d.x,{svgName:r}),n.createElement("div",null,a))}var v=a(85219);const f={stickyWrapper:"zhw6K",badgeWrapper:"NOvn1",badge:"pxQSR"};var b=r.T.encloseNamespace("shared.classificationPreviewBanner");function h(e){return n.createElement("div",{className:"".concat(f.stickyWrapper," py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded")},n.createElement("div",{className:"position-absolute d-flex ".concat(f.badgeWrapper)},n.createElement(g,{status:e.status,wrapperClassName:"".concat(f.badge),darkMode:!0})),n.createElement("div",{className:"flex-grow-1"},n.createElement("h1",{className:"text-center my-3 h5"},n.createElement(v.V,{emoji:"👀"}),b("topic"===e.type?"topicTitle":"companyTitle"))))}},67814:(e,t,a)=>{a.d(t,{p:()=>D,v:()=>T});var n=a(32735),r=a(110),o=a(50690),i=a(22406),l=a(78408),s=a(83657),c=a(23481),d=a(15611),u=a(83914),m=a(35223),p="shared.backButton";function g(e){var t=Object.assign({textShadow:!0},e),a=t.backToName,r=t.appLink,o=t.color,i=t.extraClasses,l=t.textShadow,s=a?c.T.getPhrase(p,"backTo",{backToName:a}):c.T.getPhrase(p,"back"),g="black"===o?"":"text-white",v=l?"text-shadow":"";return n.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(i," ").concat(g," ").concat(v)},n.createElement(u.x,{svgName:m.vn.ChevronLeft,size:u.S.Medium}),n.createElement("span",{className:"ms-1"},s))}g.defaultProps={color:"black",extraClasses:""};var v=a(4527),f=a(83345),b=a(7733),h=a(10587),y=a(94232),C=a(54610),k=a(79967),E=a(9085),w=a(67453);const N={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var L="".concat(h.y[C.__.Banners].width,":").concat(h.y[C.__.Banners].height);function x(e){return e.length<160?"h1":N.headingLarge}var D=n.memo(function(e){var t,a,c,d,u=e.heading,m=e.banner,p=e.imageCdnUrl,h=e.actions,D=e.sortComponent,T=e.blockColourClass,P=e.specialEvent,A=n.useContext(y.n),S=(0,k.k)().xxl?1920:1200,O=n.useMemo(function(){if(!P||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return P.endDate?P.startDate<=t&&P.endDate>=t:P.startDate===t},[P]),M=e.imageOptions||{width:S,ratio:L,resizeType:C.Nq.Cover},I=!!m&&!!p&&w.j.createBannerUrl(m,{fallbackBaseUrl:p,fallbackCategoryName:u,type:C.__.Banners},M),B={className:"banner banner-header ".concat(e.bannerClassName),style:I?{backgroundImage:"url('".concat(I,"')")}:{}};!m&&T&&(delete B.style,B.className+=" ".concat(T));var j=e.detailsComponent,W=(0,E.x)(e.heading,b.o);return o.b.renderInPortalIfExists(n.createElement("header",Object.assign({},B),n.createElement("div",{className:"container ".concat(N.container," position-relative inner-banner")},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(g,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),n.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(N.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?N.bannerContentWithLogo:""))},!!P&&n.createElement("div",{className:"position-relative ".concat(N.specialEventContainer)},n.createElement(l.s,{body:{type:P.endDate?"range":"day",text:P.endDate?"".concat(r.O.format(P.startDate,"DD"),"-").concat(r.O.format(P.endDate,"DD")):r.O.format(P.startDate,"DD")},month:function(e){return e.endDate?r.O.isSame(e.startDate,e.endDate,"month")?r.O.format(e.startDate,"MMMM"):"".concat(r.O.format(e.startDate,"MMM")," - ").concat(r.O.format(e.endDate,"MMM")):r.O.format(e.startDate,"MMMM")}(P),theme:e.calendarTheme})),n.createElement("div",null,O&&n.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},n.createElement(f.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&n.createElement(i.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),n.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(a=e.logo)||void 0===a?void 0:a.url)&&n.createElement("div",{className:"".concat(N.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(W)},n.createElement(v.w,{src:w.j.createUrl(null===(c=e.logo)||void 0===c?void 0:c.url,{size:C.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),n.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(N.heading," ").concat(x(u)," ").concat(e.alignLogoLeft?"w-50":"")},u,j&&n.createElement(j,null)))),!!h&&n.createElement("div",{className:N.actionsContainer},n.createElement(s.e,{actions:h,sortComponent:D,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&n.createElement("div",{className:N.logoContainer},n.createElement("img",{src:w.j.createUrl(e.logo.url,{size:C.h2.Medium}),className:"rounded-circle"})))),null==A?void 0:A.container)},function(e,t){var a,n;return e.actions===t.actions&&e.heading===t.heading&&(null===(a=e.logo)||void 0===a?void 0:a.url)===(null===(n=t.logo)||void 0===n?void 0:n.url)});function T(){var e=n.useContext(y.n);return o.b.renderInPortalIfExists(n.createElement("div",{className:"partial-banner partial-loading-background ".concat(N.banner)}),null==e?void 0:e.container)}},63719:(e,t,a)=>{a.d(t,{h:()=>l});var n=a(32735),r=a(77316);function o(e,t){if(e){if("string"==typeof e)return i(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?i(e,t):void 0}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function l(e){var t,a,l=(t=n.useMemo(function(){return r.p.getBuilder()},[]),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,o,i,l=[],s=!0,c=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=o.call(a)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(t,a)||o(t,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=(0,l[1])(s);return c&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(c),[Object.assign(Object.assign({},e),{active:!0})]):c}},60008:(e,t,a)=>{a.r(t),a.d(t,{CompanyDashboardView:()=>J});var n=a(32735),r=a(23481),o=a(81886),i=a(20354),l=a(28400),s=a(65858),c=a(75896),d=a(97958),u=a(83345),m=a(36532),p=a(56644),g=a(35223),v="moviesAndTv.companyDashboardEmptyState",f=r.T.encloseNamespace(v);function b(e){var t,a,o=(null===(t=e.dashboard)||void 0===t?void 0:t.status)===p.GL.Archived;return n.createElement(d.u,null,n.createElement(d.u.Image,{src:e.imageUrl,altText:f("info")}),n.createElement(d.u.Heading,null,n.createElement(u.x,{namespace:v,phrase:"heading"})),n.createElement(d.u.Info,null,n.createElement(u.x,{namespace:v,phrase:"info"})),n.createElement(m.u,{title:o?r.T.getPhrase(v,"archivedCtaTooltip"):"",spanHack:!0},n.createElement(d.u.Cta,{text:r.T.getPhrase(v,"add"),appLink:null===(a=e.addWidgetApplink)||void 0===a?void 0:a.call(e),className:"btn btn-dark",icon:g.vn.Plus,disabled:o})))}var h=a(67814),y=a(49935),C=a(131),k=a(7733),E=a(21366),w=a(9085);function N(e){var t,a,r,o=c.m.sortBy(null===(t=e.dashboard)||void 0===t?void 0:t.widgets,"index");function i(t,a,n){var r=E.S.getWidgetParams(a,n,E.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,r,n)}var l=e.isReadonly&&!(null==o?void 0:o.length);return n.createElement(n.Fragment,null,!!o.length&&n.createElement(n.Fragment,null,e.company?n.createElement(h.p,{heading:e.company.name,banner:e.company.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,blockColourClass:(0,w.x)(e.company.name,k.o),actions:null===(a=e.getBannerActions)||void 0===a?void 0:a.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):n.createElement(h.v,null),n.createElement("div",{className:"py-3 mb-3 border-bottom"},n.createElement(y.Oo,{breadcrumbs:null===(r=e.getBreadcrumbs)||void 0===r?void 0:r.call(e)})),n.createElement("div",{className:"mt-3"},o.map(function(t){return n.createElement(C.L,{widgetCollection:p.ku.Company,dashboardTarget:p.ku.Company,key:t.id,id:t.id,getContentRequest:i,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,settings:e.settings,imageCdnUrl:e.commonVideoProps.imageCdnUrl,commonVideoProps:e.commonVideoProps,classification:null,contentType:null,hasTableOfContents:!1,seeMoreLink:null,onClickRemoveItem:null,badgeComponent:null})}))),l&&n.createElement(b,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var L=a(65042),x=a(16714),D=a(183),T=a(67058),P=a(80889),A=a(31949),S=a(63719),O=a(56520),M=a(22902),I=a(79612),B=a(37802),j=a(76753),W=a(14070),U=a(97291),V=a(68317),_=a(58321),R=a(7179),H=a(23737),z=a(10741),G=a(33192),Y=a(22490),Q=a(82431),q=r.T.encloseNamespace("moviesAndTv.companyDashboard");function F(e){return{videoType:function(t,a){return Y.W.getAppLink(t,Object.assign(Object.assign({},a),{moviesAndTv:!0,context:D.Q.Widget,includeContext:null==e?void 0:e.isAuthenticated}))},series:Q.j.getSeriesAppLink,playlist:function(e){return{application:U.O.PLAYLISTS,action:W.e.Playlists.PLAYLIST,args:[e.id,l.m.slugify(e.name)]}},getPreviewQuestionsAppLink:function(e){return z.j.getPreviewQuestionsAppLink(e)},classification:function(){return null},allTopics:function(){return null},calendar:function(){return null},calendarMonth:function(){return null},classificationDirectory:function(){return null},classificationLatestReleases:function(){return null},company:function(){return null},discover:function(){return null},livestream:function(){return null},watchHistory:function(){return null},widgetVideoList:function(){return null},widgetWizard:function(){return null},searchSettings:function(){return null},searchHome:function(){return null}}}function J(e){var t,a,r,c,d=i.a.useBasicFetch(V.h.company(e.companyId)),u=i.a.useBasicFetch(A.N.currentUser()),m=(0,O.R0)(),g=m.openInCurationStudioLabel,v=m.isUserCurator,f=m.getOpenInCurationStudioLink,b=(0,_.U)({locationContext:s.LZ.VideoThumbnail,mtv:!0}).commonVideoProps,h=(0,M.T)(),y=h.hasPermissions,C=h.hasLocalPermissions,k=(0,B.r)(null),E=y(x.C.ViewMoviesTv),w=(0,H.y)({targetType:p.ku.Company,queryParams:e.queryParams,presentationSlug:e.presentationSlug,companyId:e.companyId}),D=w.dashboard,z=w.isPreviewing;(0,I.M)(j.CG.getDefaultMetadata({title:null===(t=d.data)||void 0===t?void 0:t.name,phraseContext:{phraseHandler:q,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:G.f.getCanonicalLink({stripPresentationSlug:!0,customAppLink:{application:U.O.MOVIES_AND_TV,action:W.e.MoviesAndTv.COMPANY_DASHBOARD,args:[null===(a=d.data)||void 0===a?void 0:a.id,l.m.slugify(null===(r=d.data)||void 0===r?void 0:r.name)]}}),allowIndexing:!1})),(0,R.P)({id:e.companyId,app:"studios"}),n.useEffect(function(){D.hasCompleted&&(E&&D.data||o.Q.C$.trigger({application:U.O.DASHBOARD,action:W.e.Dashboard.HOME},{replace:!0}))},[E,D.data,D.hasCompleted]);var Y=(0,S.h)({name:null===(c=d.data)||void 0===c?void 0:c.name});return n.useEffect(function(){D.hasCompleted&&!D.data&&o.Q.Ry.throw(new T.d)},[D.data,D.hasCompleted]),n.createElement("div",{className:"position-relative px-4"},!(!z||!D.data)&&n.createElement(L.a,{status:D.data.status,type:"company"}),n.createElement(N,{company:d.data,dashboard:D.data,getWidgetContentRequest:P._.dashboardWidgetContent,getBannerActions:function(){var e,t;return v?[{label:g,href:f(null===(e=d.data)||void 0===e?void 0:e.typeId,null===(t=d.data)||void 0===t?void 0:t.id),openInNewTab:!0}]:[]},widgetAppLinks:F(u.data),getBreadcrumbs:function(){return d.hasCompleted?Y:[]},hasPermissions:y,hasLocalPermissions:C,settings:k,commonVideoProps:b}))}}}]);
|
|
2
|
+
//# sourceMappingURL=8-a610fce3d1-lite.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/8-40155bcddb-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/subjects/constants/DashboardStatusConfig.ts","file:///app/packages/libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/dashboard-status-badge.scss","file:///app/packages/libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preview-banner/preview-banner.scss","file:///app/packages/libs/shared/src/apps/subjects/components/preview-banner/PreviewBanner.tsx","file:///app/packages/libs/shared/src/components/back-button/BackButton.tsx","file:///app/packages/libs/shared/src/components/banner-header/banner-header.scss","file:///app/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","file:///app/packages/libs/shared/src/hooks/useBreadcrumbs.ts","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState.tsx","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/CompanyDashboard.tsx","file:///app/packages/projects/lite/src/apps/movies-and-tv/views/company-dashboard/CompanyDashboardView.tsx"],"sourcesContent":["import { localSvgs } from 'libs/shared/images/svg';\nimport { DashboardStatus } from 'libs/shared/interfaces/models/Dashboard';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\ninterface DashboardStatusConfigType {\n statusName: string;\n actionName: string;\n svgName: localSvgs;\n svgColorClassName: string;\n}\n\nexport const DashboardStatusConfig: Record<DashboardStatus, DashboardStatusConfigType> = {\n [DashboardStatus.Archived]: {\n svgName: cvSvgLibrary.Archive,\n svgColorClassName: 'text-secondary',\n actionName: 'Archive',\n statusName: 'Archived'\n },\n [DashboardStatus.Draft]: {\n svgName: cvSvgLibrary.Edit,\n svgColorClassName: '',\n actionName: 'Draft',\n statusName: 'Draft'\n },\n [DashboardStatus.Published]: {\n svgName: cvSvgLibrary.VisibleOn,\n svgColorClassName: 'text-success',\n actionName: 'Publish',\n statusName: 'Published'\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"ciO47\",\"draftLight\":\"A6Yi7\",\"draftDark\":\"fkXBX\",\"published\":\"Ovzwy\",\"archived\":\"r_dco\"};","import React from 'react';\n\nimport { DashboardStatusConfig } from 'libs/shared/apps/subjects/constants/DashboardStatusConfig';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './dashboard-status-badge.scss';\n\nfunction getClassName(props: DashboardStatusBadgeProps): string {\n let className = `rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${styles.badge}`;\n\n switch (props.status) {\n case DashboardStatus.Published:\n className += ` ${styles.published}`;\n break;\n case DashboardStatus.Archived:\n className += ` ${styles.archived}`;\n break;\n case DashboardStatus.Draft:\n className += ` ${props.darkMode ? styles.draftDark : styles.draftLight}`;\n break;\n }\n\n if (props.wrapperClassName)\n className += ` ${props.wrapperClassName}`;\n\n return className;\n}\n\ninterface DashboardStatusBadgeProps {\n status: DashboardStatus;\n darkMode?: boolean;\n wrapperClassName?: string;\n}\n\nexport function DashboardStatusBadge(props: DashboardStatusBadgeProps): JSX.Element {\n const { statusName, svgName } = DashboardStatusConfig[props.status];\n\n return (\n <div className={getClassName(props)}>\n <SvgContainer svgName={svgName} />\n <div>{statusName}</div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"stickyWrapper\":\"zhw6K\",\"badgeWrapper\":\"NOvn1\",\"badge\":\"pxQSR\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DashboardStatusBadge } from 'libs/shared/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge';\nimport { EmojiText } from 'libs/shared/components/emoji-text/EmojiText';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './preview-banner.scss';\n\nconst namespace = 'shared.classificationPreviewBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewBannerProps {\n status: DashboardStatus;\n type: 'company' | 'topic';\n}\n\nexport function PreviewBanner(props: PreviewBannerProps): JSX.Element {\n return (\n <div className={`${styles.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`}>\n <div className={`position-absolute d-flex ${styles.badgeWrapper}`}>\n <DashboardStatusBadge status={props.status} wrapperClassName={`${styles.badge}`} darkMode />\n </div>\n <div className='flex-grow-1'>\n <h1 className='text-center my-3 h5'>\n <EmojiText emoji='👀' />\n {getPhrase(props.type === 'topic' ? 'topicTitle' : 'companyTitle')}\n </h1>\n </div>\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.backButton';\n\ninterface BackButtonProps {\n appLink: Core.AppLink;\n backToName?: string;\n color?: 'black' | 'white';\n extraClasses?: string;\n /**\n * Whether or not the button text has a text shadow. Defaults to true\n */\n textShadow?: boolean;\n}\n\nBackButton.defaultProps = {\n color: 'black',\n extraClasses: ''\n};\n\nexport function BackButton(props: BackButtonProps): React.ReactElement {\n const { backToName, appLink, color, extraClasses, textShadow } = {\n textShadow: true,\n ...props\n };\n\n const backPhrase = backToName\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\n : LanguageService.getPhrase(namespace, 'back');\n\n const colorClass = color === 'black' ? '' : 'text-white';\n const textShadowClass = textShadow ? 'text-shadow' : '';\n\n return (\n <AppLink\n appLink={appLink}\n className={`d-inline-flex align-items-center h5 mb-0 ${extraClasses} ${colorClass} ${textShadowClass}`}\n >\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\n <span className='ms-1'>{backPhrase}</span>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bannerContent\":\"sSCTB\",\"actionsContainer\":\"Z5WI2\",\"bannerContentWithLogo\":\"rgs7Q\",\"container\":\"M51HJ\",\"logoContainer\":\"vkeJk\",\"logoContainerLeft\":\"M3U9B\",\"logoHeading\":\"EtRwC\",\"specialEventContainer\":\"rOxDc\",\"headingLarge\":\"_8pnV\",\"heading\":\"JXVBH\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { PortalHelper } from 'libs/common/react/utils/PortalHelper';\n\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { GenericCalendarDate } from 'libs/shared/apps/calendar/components/generic-calendar-date/GenericCalendarDate';\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageMinDimensions } from 'libs/shared/constants/ImageSizes';\nimport { BannerPortalContext } from 'libs/shared/context/BannerPortalContext';\nimport { ImageSize, ImageType, ResizeType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Banner, CalendarEvent, Logo } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './banner-header.scss';\n\nconst RATIO = `${ImageMinDimensions[ImageType.Banners].width}:${ImageMinDimensions[ImageType.Banners].height}`;\nconst DEFAULT_WIDTH = 1200; // This is ImageSize.Large for a Banner.\nconst LARGE_SCREEN_WIDTH = 1920;\n\nfunction useGetImageWidth(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl)\n return LARGE_SCREEN_WIDTH;\n\n return DEFAULT_WIDTH;\n}\n\nfunction getSizeClass(heading: string): string {\n if (heading.length < 160)\n return 'h1';\n\n return styles.headingLarge;\n}\n\ninterface BannerHeaderProps {\n heading: string;\n banner?: Banner;\n bannerClassName?: string;\n imageCdnUrl?: string;\n logo?: Logo;\n logoBgColour?: string;\n actions?: ActionOptions[];\n specialEvent?: CalendarEvent;\n backButtonAppLink?: Core.AppLink;\n backButtonText?: string;\n backButtonClasses?: string;\n sortComponent?: JSX.Element;\n blockColourClass?: string;\n actionsDropdownClassName?: string;\n detailsComponent?: () => React.ReactElement;\n imageOptions?: ImageOptions;\n showComingSoon?: boolean;\n alignLogoLeft?: boolean;\n calendarTheme?: CalendarTheme;\n}\n\nconst namespace = 'shared.bannerHeader';\n\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\n const { heading, banner, imageCdnUrl, actions, sortComponent, blockColourClass, specialEvent } = props;\n\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n const imageWidth = useGetImageWidth();\n\n const specialEventIsToday = React.useMemo(() => {\n if (!specialEvent || props.showComingSoon)\n return false;\n\n const today = DateHelper.format(new Date(), 'YYYY-MM-DD');\n\n if (!specialEvent.endDate)\n return specialEvent.startDate === today;\n\n return specialEvent.startDate <= today && specialEvent.endDate >= today;\n }, [specialEvent]);\n\n function getSpecialEventMonthText(specialEvent: CalendarEvent): string {\n if (!specialEvent.endDate)\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n if (DateHelper.isSame(specialEvent.startDate, specialEvent.endDate, 'month'))\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n return `${DateHelper.format(specialEvent.startDate, 'MMM')} - ${DateHelper.format(specialEvent.endDate, 'MMM')}`;\n }\n\n const imageOptions = props.imageOptions || {\n width: imageWidth,\n ratio: RATIO,\n resizeType: ResizeType.Cover\n };\n\n const url = !!banner && !!imageCdnUrl && ImageHelper.createBannerUrl(banner, {\n fallbackBaseUrl: imageCdnUrl,\n fallbackCategoryName: heading,\n type: ImageType.Banners\n }, imageOptions);\n\n const containerProps: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> = {\n className: `banner banner-header ${props.bannerClassName}`,\n style: url ? { backgroundImage: `url('${url}')` } : {}\n };\n\n if (!banner && blockColourClass) {\n delete containerProps.style;\n containerProps.className += ` ${blockColourClass}`;\n }\n\n const DetailsComponent = props.detailsComponent;\n\n const logoFallbackBgClassName = getBgColorClass(props.heading, BG_COLOUR_CLASS_NAMES);\n\n return PortalHelper.renderInPortalIfExists(\n // \"banner\" is used in playlists in Online. banner-header is used by all other projects\n <header {...containerProps}>\n <div className={`container ${styles.container} position-relative inner-banner`}>\n {props.backButtonAppLink && (\n <div className='pt-3'>\n <BackButton\n appLink={props.backButtonAppLink}\n backToName={props.backButtonText}\n extraClasses={props.backButtonClasses}\n color='white'\n />\n </div>\n )}\n \n <div className={`${props.alignLogoLeft ? 'position-absolute top-50 start-0 translate-middle-y w-100 ps-4' : `${styles.bannerContent} px-2 ${props.logo?.url ? styles.bannerContentWithLogo : ''}`}`}>\n {!!specialEvent && (\n <div className={`position-relative ${styles.specialEventContainer}`}>\n <GenericCalendarDate\n body={{\n type: specialEvent.endDate ? 'range' : 'day',\n text: specialEvent.endDate\n ? `${DateHelper.format(specialEvent.startDate, 'DD')}-${DateHelper.format(specialEvent.endDate, 'DD')}`\n : DateHelper.format(specialEvent.startDate, 'DD')\n }}\n month={getSpecialEventMonthText(specialEvent)}\n theme={props.calendarTheme}\n />\n </div>\n )}\n <div>\n {specialEventIsToday && (\n <div className='rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block'>\n <Text namespace={namespace} phrase='onToday' />\n </div>\n )}\n {props.showComingSoon && (\n <ComingSoonTag className='pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap' />\n )}\n <div className='d-flex align-items-center'>\n {props.alignLogoLeft && props.logo?.url &&\n <div className={`${styles.logoContainerLeft} d-none d-md-block rounded-circle overflow-hidden me-3 ${logoFallbackBgClassName}`}>\n <LazyImage\n src={ImageHelper.createUrl(props.logo?.url, { size: ImageSize.Medium })}\n style={{ backgroundColor: props.logoBgColour }}\n />\n </div>\n }\n <h1 className={`text-white text-shadow pe-3 position-static ${styles.heading} ${getSizeClass(heading)} ${props.alignLogoLeft ? 'w-50' : ''}`}>\n {heading}\n {DetailsComponent && <DetailsComponent />}\n </h1>\n </div>\n </div>\n {!!actions && (\n <div className={styles.actionsContainer}>\n <Actions\n actions={actions}\n sortComponent={sortComponent}\n actionsDropdownClassName={props.actionsDropdownClassName}\n />\n </div>\n )}\n </div>\n {!props.alignLogoLeft && !!props.logo?.url &&\n <div className={styles.logoContainer}>\n <img\n src={ImageHelper.createUrl(props.logo.url, { size: ImageSize.Medium })}\n className='rounded-circle'\n />\n </div>\n }\n </div>\n </header>,\n portalContainerContext?.container\n );\n}, (prevProps, nextProps): boolean => (\n prevProps.actions === nextProps.actions\n && prevProps.heading === nextProps.heading\n && prevProps.logo?.url === nextProps.logo?.url\n));\n\nexport function PartialBannerHeader(): JSX.Element {\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n return PortalHelper.renderInPortalIfExists(\n <div className={`partial-banner partial-loading-background ${styles.banner}`} />,\n portalContainerContext?.container\n );\n}","import React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\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 { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'moviesAndTv.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function CompanyDashboardEmptyState(props: CompanyDashboardEmptyStateProps): 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={cvSvgLibrary.Plus}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { CompanyDashboardEmptyState } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState';\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 { 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 { Company, CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, 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\nexport interface CompanyDashboardProps {\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 emptyImageUrl?: string;\n widgetAppLinks?: AllCompanyWidgetTemplates['appLinks'] & {\n widgetWizard: () => Core.AppLink;\n };\n scrollToWidgetId?: string;\n isReadonly?: boolean;\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n commonVideoProps: CommonVideoProps;\n\n settings?: AllCompanyWidgetTemplates['settings'];\n}\n\nexport function CompanyDashboard(props: CompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\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 && !widgets?.length;\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company\n ? (\n <BannerHeader\n heading={props.company.name}\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='py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n </div>\n\n <div className='mt-3'>\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 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 settings={props.settings}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n\n // TODO: Ideally we don't have to do this\n classification={null}\n contentType={null}\n hasTableOfContents={false}\n seeMoreLink={null}\n onClickRemoveItem={null}\n badgeComponent={null}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <CompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\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';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { CompanyDashboard, CompanyDashboardProps } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/CompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Company, CurrentUser, DashboardTargetType, Playlist, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'moviesAndTv.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getCompanyAppLinks(currentUser: CurrentUser): CompanyDashboardProps['widgetAppLinks'] {\n return {\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n moviesAndTv: true,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser?.isAuthenticated\n })\n ),\n \n series: SeriesAppLinkHelper.getSeriesAppLink,\n \n playlist: (playlist: Playlist) => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\n }),\n\n getPreviewQuestionsAppLink: interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive),\n \n // TODO: Find a nice way around having to pass these in\n classification: () => null,\n allTopics: () => null,\n calendar: () => null,\n calendarMonth: () => null,\n classificationDirectory: () => null,\n classificationLatestReleases: () => null,\n company: () => null,\n discover: () => null,\n livestream: () => null,\n watchHistory: () => null,\n widgetVideoList: () => null,\n widgetWizard: () => null,\n searchSettings: () => null,\n searchHome: () => null\n };\n}\n\ninterface CompanyDashboardViewProps {\n presentationSlug: string;\n companyId: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function CompanyDashboardView(props: CompanyDashboardViewProps): JSX.Element {\n const company = Flight.useBasicFetch<Company>(CompanyRequests.company(props.companyId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail,\n mtv: true\n });\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const settings = useSettings(null);\n const hasMoviesAndTv = hasPermissions(PermissionName.ViewMoviesTv);\n\n const {\n dashboard,\n isPreviewing\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Company,\n queryParams: props.queryParams,\n presentationSlug: props.presentationSlug,\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 stripPresentationSlug: true,\n customAppLink: {\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ company.data?.id, TextHelper.slugify(company.data?.name) ]\n }\n }),\n allowIndexing: false\n }));\n\n useDeepLinks({ id: props.companyId, app: 'studios' });\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted)\n return;\n\n if (hasMoviesAndTv && dashboard.data)\n return;\n\n Core.AppLinkHelper.trigger(\n { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME },\n { replace: true }\n );\n }, [ hasMoviesAndTv, dashboard.data, dashboard.hasCompleted ]);\n\n const breadcrumbs = useBreadcrumbs({ name: company.data?.name });\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return breadcrumbs;\n }\n\n function getBannerActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [{\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(company.data?.typeId, company.data?.id),\n openInNewTab: 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 return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <CompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n getBannerActions={getBannerActions}\n widgetAppLinks={getCompanyAppLinks(currentUser.data)}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n commonVideoProps={commonVideoProps}\n />\n </div>\n );\n}"],"names":["DashboardStatusConfig","Dashboard","svgName","svgColorClassName","actionName","statusName","getClassName","props","className","status","darkMode","wrapperClassName","DashboardStatusBadge","SvgContainer","getPhrase","LanguageService","PreviewBanner","EmojiText","emoji","type","namespace","BackButton","textShadow","backToName","appLink","color","extraClasses","backPhrase","colorClass","textShadowClass","AppLink","size","S","defaultProps","RATIO","width","height","getSizeClass","heading","length","BannerHeader","banner","imageCdnUrl","actions","sortComponent","blockColourClass","specialEvent","portalContainerContext","BannerPortalContext","imageWidth","useBreakpoints","xxl","specialEventIsToday","showComingSoon","today","DateHelper","Date","endDate","startDate","imageOptions","ratio","resizeType","url","ImageHelper","fallbackBaseUrl","fallbackCategoryName","containerProps","bannerClassName","style","backgroundImage","DetailsComponent","detailsComponent","logoFallbackBgClassName","getBgColorClass","PortalHelper","backButtonAppLink","backButtonText","backButtonClasses","alignLogoLeft","logo","GenericCalendarDate","body","text","month","getSpecialEventMonthText","theme","calendarTheme","Text","phrase","ComingSoonTag","LazyImage","src","backgroundColor","logoBgColour","Actions","actionsDropdownClassName","container","prevProps","nextProps","PartialBannerHeader","useBreadcrumbs","current","match","breadcrumbs","useBuilder","active","CompanyDashboardEmptyState","isArchived","dashboard","EmptyState","imageUrl","altText","Tooltip","title","spanHack","addWidgetApplink","icon","disabled","CompanyDashboard","widgets","ArrayHelper","getWidgetContentRequest","id","widgetTypeId","template","params","showEmptyState","isReadonly","company","name","commonVideoProps","getBannerActions","Breadcrumbs","getBreadcrumbs","map","widget","WidgetContainerView","widgetCollection","dashboardTarget","key","getContentRequest","audiences","description","templateId","metadata","appLinks","widgetAppLinks","isScrollToTargetWidget","scrollToWidgetId","widgetId","hasPermissions","hasLocalPermissions","isPreviewing","settings","classification","contentType","hasTableOfContents","seeMoreLink","onClickRemoveItem","badgeComponent","emptyImageUrl","widgetWizard","getCompanyAppLinks","currentUser","videoType","video","opts","VideoAppLinkHelper","moviesAndTv","context","RelatedVideosContext","includeContext","isAuthenticated","series","SeriesAppLinkHelper","playlist","application","action","args","TextHelper","getPreviewQuestionsAppLink","interactive","InteractiveHelper","allTopics","calendar","calendarMonth","classificationDirectory","classificationLatestReleases","discover","livestream","watchHistory","widgetVideoList","searchSettings","searchHome","CompanyDashboardView","CompanyRequests","companyId","UserRequests","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useCommonVideoProps","locationContext","mtv","usePermissions","useSettings","hasMoviesAndTv","PermissionName","targetType","queryParams","presentationSlug","useSetPageMetadata","PageMetadataHelper","data","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","customAppLink","allowIndexing","useDeepLinks","app","hasCompleted","replace","NotFoundError","DashboardRequests","label","href","typeId","openInNewTab"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/8-a610fce3d1-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/subjects/constants/DashboardStatusConfig.ts","file:///app/packages/libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/dashboard-status-badge.scss","file:///app/packages/libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preview-banner/preview-banner.scss","file:///app/packages/libs/shared/src/apps/subjects/components/preview-banner/PreviewBanner.tsx","file:///app/packages/libs/shared/src/components/back-button/BackButton.tsx","file:///app/packages/libs/shared/src/components/banner-header/banner-header.scss","file:///app/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","file:///app/packages/libs/shared/src/hooks/useBreadcrumbs.ts","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState.tsx","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/CompanyDashboard.tsx","file:///app/packages/projects/lite/src/apps/movies-and-tv/views/company-dashboard/CompanyDashboardView.tsx"],"sourcesContent":["import { localSvgs } from 'libs/shared/images/svg';\nimport { DashboardStatus } from 'libs/shared/interfaces/models/Dashboard';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\ninterface DashboardStatusConfigType {\n statusName: string;\n actionName: string;\n svgName: localSvgs;\n svgColorClassName: string;\n}\n\nexport const DashboardStatusConfig: Record<DashboardStatus, DashboardStatusConfigType> = {\n [DashboardStatus.Archived]: {\n svgName: cvSvgLibrary.Archive,\n svgColorClassName: 'text-secondary',\n actionName: 'Archive',\n statusName: 'Archived'\n },\n [DashboardStatus.Draft]: {\n svgName: cvSvgLibrary.Edit,\n svgColorClassName: '',\n actionName: 'Draft',\n statusName: 'Draft'\n },\n [DashboardStatus.Published]: {\n svgName: cvSvgLibrary.VisibleOn,\n svgColorClassName: 'text-success',\n actionName: 'Publish',\n statusName: 'Published'\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"ciO47\",\"draftLight\":\"A6Yi7\",\"draftDark\":\"fkXBX\",\"published\":\"Ovzwy\",\"archived\":\"r_dco\"};","import React from 'react';\n\nimport { DashboardStatusConfig } from 'libs/shared/apps/subjects/constants/DashboardStatusConfig';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './dashboard-status-badge.scss';\n\nfunction getClassName(props: DashboardStatusBadgeProps): string {\n let className = `rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${styles.badge}`;\n\n switch (props.status) {\n case DashboardStatus.Published:\n className += ` ${styles.published}`;\n break;\n case DashboardStatus.Archived:\n className += ` ${styles.archived}`;\n break;\n case DashboardStatus.Draft:\n className += ` ${props.darkMode ? styles.draftDark : styles.draftLight}`;\n break;\n }\n\n if (props.wrapperClassName)\n className += ` ${props.wrapperClassName}`;\n\n return className;\n}\n\ninterface DashboardStatusBadgeProps {\n status: DashboardStatus;\n darkMode?: boolean;\n wrapperClassName?: string;\n}\n\nexport function DashboardStatusBadge(props: DashboardStatusBadgeProps): JSX.Element {\n const { statusName, svgName } = DashboardStatusConfig[props.status];\n\n return (\n <div className={getClassName(props)}>\n <SvgContainer svgName={svgName} />\n <div>{statusName}</div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"stickyWrapper\":\"zhw6K\",\"badgeWrapper\":\"NOvn1\",\"badge\":\"pxQSR\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DashboardStatusBadge } from 'libs/shared/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge';\nimport { EmojiText } from 'libs/shared/components/emoji-text/EmojiText';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './preview-banner.scss';\n\nconst namespace = 'shared.classificationPreviewBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewBannerProps {\n status: DashboardStatus;\n type: 'company' | 'topic';\n}\n\nexport function PreviewBanner(props: PreviewBannerProps): JSX.Element {\n return (\n <div className={`${styles.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`}>\n <div className={`position-absolute d-flex ${styles.badgeWrapper}`}>\n <DashboardStatusBadge status={props.status} wrapperClassName={`${styles.badge}`} darkMode />\n </div>\n <div className='flex-grow-1'>\n <h1 className='text-center my-3 h5'>\n <EmojiText emoji='👀' />\n {getPhrase(props.type === 'topic' ? 'topicTitle' : 'companyTitle')}\n </h1>\n </div>\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.backButton';\n\ninterface BackButtonProps {\n appLink: Core.AppLink;\n backToName?: string;\n color?: 'black' | 'white';\n extraClasses?: string;\n /**\n * Whether or not the button text has a text shadow. Defaults to true\n */\n textShadow?: boolean;\n}\n\nBackButton.defaultProps = {\n color: 'black',\n extraClasses: ''\n};\n\nexport function BackButton(props: BackButtonProps): React.ReactElement {\n const { backToName, appLink, color, extraClasses, textShadow } = {\n textShadow: true,\n ...props\n };\n\n const backPhrase = backToName\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\n : LanguageService.getPhrase(namespace, 'back');\n\n const colorClass = color === 'black' ? '' : 'text-white';\n const textShadowClass = textShadow ? 'text-shadow' : '';\n\n return (\n <AppLink\n appLink={appLink}\n className={`d-inline-flex align-items-center h5 mb-0 ${extraClasses} ${colorClass} ${textShadowClass}`}\n >\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\n <span className='ms-1'>{backPhrase}</span>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bannerContent\":\"sSCTB\",\"actionsContainer\":\"Z5WI2\",\"bannerContentWithLogo\":\"rgs7Q\",\"container\":\"M51HJ\",\"logoContainer\":\"vkeJk\",\"logoContainerLeft\":\"M3U9B\",\"logoHeading\":\"EtRwC\",\"specialEventContainer\":\"rOxDc\",\"headingLarge\":\"_8pnV\",\"heading\":\"JXVBH\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { PortalHelper } from 'libs/common/react/utils/PortalHelper';\n\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { GenericCalendarDate } from 'libs/shared/apps/calendar/components/generic-calendar-date/GenericCalendarDate';\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageMinDimensions } from 'libs/shared/constants/ImageSizes';\nimport { BannerPortalContext } from 'libs/shared/context/BannerPortalContext';\nimport { ImageSize, ImageType, ResizeType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Banner, CalendarEvent, Logo } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './banner-header.scss';\n\nconst RATIO = `${ImageMinDimensions[ImageType.Banners].width}:${ImageMinDimensions[ImageType.Banners].height}`;\nconst DEFAULT_WIDTH = 1200; // This is ImageSize.Large for a Banner.\nconst LARGE_SCREEN_WIDTH = 1920;\n\nfunction useGetImageWidth(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl)\n return LARGE_SCREEN_WIDTH;\n\n return DEFAULT_WIDTH;\n}\n\nfunction getSizeClass(heading: string): string {\n if (heading.length < 160)\n return 'h1';\n\n return styles.headingLarge;\n}\n\ninterface BannerHeaderProps {\n heading: string;\n banner?: Banner;\n bannerClassName?: string;\n imageCdnUrl?: string;\n logo?: Logo;\n logoBgColour?: string;\n actions?: ActionOptions[];\n specialEvent?: CalendarEvent;\n backButtonAppLink?: Core.AppLink;\n backButtonText?: string;\n backButtonClasses?: string;\n sortComponent?: JSX.Element;\n blockColourClass?: string;\n actionsDropdownClassName?: string;\n detailsComponent?: () => React.ReactElement;\n imageOptions?: ImageOptions;\n showComingSoon?: boolean;\n alignLogoLeft?: boolean;\n calendarTheme?: CalendarTheme;\n}\n\nconst namespace = 'shared.bannerHeader';\n\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\n const { heading, banner, imageCdnUrl, actions, sortComponent, blockColourClass, specialEvent } = props;\n\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n const imageWidth = useGetImageWidth();\n\n const specialEventIsToday = React.useMemo(() => {\n if (!specialEvent || props.showComingSoon)\n return false;\n\n const today = DateHelper.format(new Date(), 'YYYY-MM-DD');\n\n if (!specialEvent.endDate)\n return specialEvent.startDate === today;\n\n return specialEvent.startDate <= today && specialEvent.endDate >= today;\n }, [specialEvent]);\n\n function getSpecialEventMonthText(specialEvent: CalendarEvent): string {\n if (!specialEvent.endDate)\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n if (DateHelper.isSame(specialEvent.startDate, specialEvent.endDate, 'month'))\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n return `${DateHelper.format(specialEvent.startDate, 'MMM')} - ${DateHelper.format(specialEvent.endDate, 'MMM')}`;\n }\n\n const imageOptions = props.imageOptions || {\n width: imageWidth,\n ratio: RATIO,\n resizeType: ResizeType.Cover\n };\n\n const url = !!banner && !!imageCdnUrl && ImageHelper.createBannerUrl(banner, {\n fallbackBaseUrl: imageCdnUrl,\n fallbackCategoryName: heading,\n type: ImageType.Banners\n }, imageOptions);\n\n const containerProps: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> = {\n className: `banner banner-header ${props.bannerClassName}`,\n style: url ? { backgroundImage: `url('${url}')` } : {}\n };\n\n if (!banner && blockColourClass) {\n delete containerProps.style;\n containerProps.className += ` ${blockColourClass}`;\n }\n\n const DetailsComponent = props.detailsComponent;\n\n const logoFallbackBgClassName = getBgColorClass(props.heading, BG_COLOUR_CLASS_NAMES);\n\n return PortalHelper.renderInPortalIfExists(\n // \"banner\" is used in playlists in Online. banner-header is used by all other projects\n <header {...containerProps}>\n <div className={`container ${styles.container} position-relative inner-banner`}>\n {props.backButtonAppLink && (\n <div className='pt-3'>\n <BackButton\n appLink={props.backButtonAppLink}\n backToName={props.backButtonText}\n extraClasses={props.backButtonClasses}\n color='white'\n />\n </div>\n )}\n \n <div className={`${props.alignLogoLeft ? 'position-absolute top-50 start-0 translate-middle-y w-100 ps-4' : `${styles.bannerContent} px-2 ${props.logo?.url ? styles.bannerContentWithLogo : ''}`}`}>\n {!!specialEvent && (\n <div className={`position-relative ${styles.specialEventContainer}`}>\n <GenericCalendarDate\n body={{\n type: specialEvent.endDate ? 'range' : 'day',\n text: specialEvent.endDate\n ? `${DateHelper.format(specialEvent.startDate, 'DD')}-${DateHelper.format(specialEvent.endDate, 'DD')}`\n : DateHelper.format(specialEvent.startDate, 'DD')\n }}\n month={getSpecialEventMonthText(specialEvent)}\n theme={props.calendarTheme}\n />\n </div>\n )}\n <div>\n {specialEventIsToday && (\n <div className='rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block'>\n <Text namespace={namespace} phrase='onToday' />\n </div>\n )}\n {props.showComingSoon && (\n <ComingSoonTag className='pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap' />\n )}\n <div className='d-flex align-items-center'>\n {props.alignLogoLeft && props.logo?.url &&\n <div className={`${styles.logoContainerLeft} d-none d-md-block rounded-circle overflow-hidden me-3 ${logoFallbackBgClassName}`}>\n <LazyImage\n src={ImageHelper.createUrl(props.logo?.url, { size: ImageSize.Medium })}\n style={{ backgroundColor: props.logoBgColour }}\n />\n </div>\n }\n <h1 className={`text-white text-shadow pe-3 position-static ${styles.heading} ${getSizeClass(heading)} ${props.alignLogoLeft ? 'w-50' : ''}`}>\n {heading}\n {DetailsComponent && <DetailsComponent />}\n </h1>\n </div>\n </div>\n {!!actions && (\n <div className={styles.actionsContainer}>\n <Actions\n actions={actions}\n sortComponent={sortComponent}\n actionsDropdownClassName={props.actionsDropdownClassName}\n />\n </div>\n )}\n </div>\n {!props.alignLogoLeft && !!props.logo?.url &&\n <div className={styles.logoContainer}>\n <img\n src={ImageHelper.createUrl(props.logo.url, { size: ImageSize.Medium })}\n className='rounded-circle'\n />\n </div>\n }\n </div>\n </header>,\n portalContainerContext?.container\n );\n}, (prevProps, nextProps): boolean => (\n prevProps.actions === nextProps.actions\n && prevProps.heading === nextProps.heading\n && prevProps.logo?.url === nextProps.logo?.url\n));\n\nexport function PartialBannerHeader(): JSX.Element {\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n return PortalHelper.renderInPortalIfExists(\n <div className={`partial-banner partial-loading-background ${styles.banner}`} />,\n portalContainerContext?.container\n );\n}","import React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\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 { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'moviesAndTv.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function CompanyDashboardEmptyState(props: CompanyDashboardEmptyStateProps): 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={cvSvgLibrary.Plus}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { CompanyDashboardEmptyState } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState';\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 { 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 { Company, CuratedDashboard, CuratedWidgetQueryParams, DashboardTargetType, 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\nexport interface CompanyDashboardProps {\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 emptyImageUrl?: string;\n widgetAppLinks?: AllCompanyWidgetTemplates['appLinks'] & {\n widgetWizard: () => Core.AppLink;\n };\n scrollToWidgetId?: string;\n isReadonly?: boolean;\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n commonVideoProps: CommonVideoProps;\n\n settings?: AllCompanyWidgetTemplates['settings'];\n}\n\nexport function CompanyDashboard(props: CompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\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 && !widgets?.length;\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company\n ? (\n <BannerHeader\n heading={props.company.name}\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='py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n </div>\n\n <div className='mt-3'>\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 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 settings={props.settings}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n commonVideoProps={props.commonVideoProps}\n\n // TODO: Ideally we don't have to do this\n classification={null}\n contentType={null}\n hasTableOfContents={false}\n seeMoreLink={null}\n onClickRemoveItem={null}\n badgeComponent={null}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <CompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\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';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { CompanyDashboard, CompanyDashboardProps } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/CompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Company, CurrentUser, DashboardTargetType, Playlist, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'moviesAndTv.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getCompanyAppLinks(currentUser: CurrentUser): CompanyDashboardProps['widgetAppLinks'] {\n return {\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n moviesAndTv: true,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser?.isAuthenticated\n })\n ),\n \n series: SeriesAppLinkHelper.getSeriesAppLink,\n \n playlist: (playlist: Playlist) => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\n }),\n\n getPreviewQuestionsAppLink: interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive),\n \n // TODO: Find a nice way around having to pass these in\n classification: () => null,\n allTopics: () => null,\n calendar: () => null,\n calendarMonth: () => null,\n classificationDirectory: () => null,\n classificationLatestReleases: () => null,\n company: () => null,\n discover: () => null,\n livestream: () => null,\n watchHistory: () => null,\n widgetVideoList: () => null,\n widgetWizard: () => null,\n searchSettings: () => null,\n searchHome: () => null\n };\n}\n\ninterface CompanyDashboardViewProps {\n presentationSlug: string;\n companyId: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function CompanyDashboardView(props: CompanyDashboardViewProps): JSX.Element {\n const company = Flight.useBasicFetch<Company>(CompanyRequests.company(props.companyId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail,\n mtv: true\n });\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const settings = useSettings(null);\n const hasMoviesAndTv = hasPermissions(PermissionName.ViewMoviesTv);\n\n const {\n dashboard,\n isPreviewing\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Company,\n queryParams: props.queryParams,\n presentationSlug: props.presentationSlug,\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 stripPresentationSlug: true,\n customAppLink: {\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ company.data?.id, TextHelper.slugify(company.data?.name) ]\n }\n }),\n allowIndexing: false\n }));\n\n useDeepLinks({ id: props.companyId, app: 'studios' });\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted)\n return;\n\n if (hasMoviesAndTv && dashboard.data)\n return;\n\n Core.AppLinkHelper.trigger(\n { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME },\n { replace: true }\n );\n }, [ hasMoviesAndTv, dashboard.data, dashboard.hasCompleted ]);\n\n const breadcrumbs = useBreadcrumbs({ name: company.data?.name });\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return breadcrumbs;\n }\n\n function getBannerActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [{\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(company.data?.typeId, company.data?.id),\n openInNewTab: 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 return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <CompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n getBannerActions={getBannerActions}\n widgetAppLinks={getCompanyAppLinks(currentUser.data)}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n commonVideoProps={commonVideoProps}\n />\n </div>\n );\n}"],"names":["DashboardStatusConfig","Dashboard","svgName","svgColorClassName","actionName","statusName","getClassName","props","className","status","darkMode","wrapperClassName","DashboardStatusBadge","SvgContainer","getPhrase","LanguageService","PreviewBanner","EmojiText","emoji","type","namespace","BackButton","textShadow","backToName","appLink","color","extraClasses","backPhrase","colorClass","textShadowClass","AppLink","size","S","defaultProps","RATIO","width","height","getSizeClass","heading","length","BannerHeader","banner","imageCdnUrl","actions","sortComponent","blockColourClass","specialEvent","portalContainerContext","BannerPortalContext","imageWidth","useBreakpoints","xxl","specialEventIsToday","showComingSoon","today","DateHelper","Date","endDate","startDate","imageOptions","ratio","resizeType","url","ImageHelper","fallbackBaseUrl","fallbackCategoryName","containerProps","bannerClassName","style","backgroundImage","DetailsComponent","detailsComponent","logoFallbackBgClassName","getBgColorClass","PortalHelper","backButtonAppLink","backButtonText","backButtonClasses","alignLogoLeft","logo","GenericCalendarDate","body","text","month","getSpecialEventMonthText","theme","calendarTheme","Text","phrase","ComingSoonTag","LazyImage","src","backgroundColor","logoBgColour","Actions","actionsDropdownClassName","container","prevProps","nextProps","PartialBannerHeader","useBreadcrumbs","current","match","breadcrumbs","useBuilder","active","CompanyDashboardEmptyState","isArchived","dashboard","EmptyState","imageUrl","altText","Tooltip","title","spanHack","addWidgetApplink","icon","disabled","CompanyDashboard","widgets","ArrayHelper","getWidgetContentRequest","id","widgetTypeId","template","params","showEmptyState","isReadonly","company","name","commonVideoProps","getBannerActions","Breadcrumbs","getBreadcrumbs","map","widget","WidgetContainerView","widgetCollection","dashboardTarget","key","getContentRequest","audiences","description","templateId","metadata","appLinks","widgetAppLinks","isScrollToTargetWidget","scrollToWidgetId","widgetId","hasPermissions","hasLocalPermissions","isPreviewing","settings","classification","contentType","hasTableOfContents","seeMoreLink","onClickRemoveItem","badgeComponent","emptyImageUrl","widgetWizard","getCompanyAppLinks","currentUser","videoType","video","opts","VideoAppLinkHelper","moviesAndTv","context","RelatedVideosContext","includeContext","isAuthenticated","series","SeriesAppLinkHelper","playlist","application","action","args","TextHelper","getPreviewQuestionsAppLink","interactive","InteractiveHelper","allTopics","calendar","calendarMonth","classificationDirectory","classificationLatestReleases","discover","livestream","watchHistory","widgetVideoList","searchSettings","searchHome","CompanyDashboardView","CompanyRequests","companyId","UserRequests","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useCommonVideoProps","locationContext","mtv","usePermissions","useSettings","hasMoviesAndTv","PermissionName","targetType","queryParams","presentationSlug","useSetPageMetadata","PageMetadataHelper","data","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","customAppLink","allowIndexing","useDeepLinks","app","hasCompleted","replace","NotFoundError","DashboardRequests","label","href","typeId","openInNewTab"],"sourceRoot":""}
|