PageSourceSearch

https://www.tvagder.no/_next/static/chunks/8595-6778070229f03f78.js?dpl=dpl_Fwf3uTMAPePkbWJTLbNp3q1qdmbr

js tvagder.no collected 2026-10-04 17:00:12 UTC 12,945 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8595],{28778:(t,e,r)=>{r.d(e,{zg:()=>l});var n=r(89910),o=r(37811);let a=()=>{var t,e;return{Auth:{Cognito:{identityPoolId:(()=>{var t;let e=(0,n.l)("NEXT_PUBLIC_COGNITO_IDENTITY_POOL_ID");return null!=(t=null!=e?e:o.env.NEXT_PUBLIC_COGNITO_IDENTITY_POOL_ID)?t:""})(),userPoolId:(()=>{var t;let e=(0,n.l)("NEXT_PUBLIC_COGNITO_USER_POOL_ID");return e||console.warn("Missing NEXT_PUBLIC_COGNITO_USER_POOL_ID environment variable"),null!=(t=null!=e?e:o.env.NEXT_PUBLIC_COGNITO_USER_POOL_ID)?t:""})(),userPoolClientId:(()=>{var t;let e=(0,n.l)("NEXT_PUBLIC_COGNITO_CLIENT_ID");return e||console.warn("Missing NEXT_PUBLIC_COGNITO_CLIENT_ID environment variable"),null!=(t=null!=e?e:o.env.NEXT_PUBLIC_COGNITO_CLIENT_ID)?t:""})(),loginWith:{oauth:{responseType:"code",domain:"".concat((0,n.l)("NEXT_PUBLIC_ENVIRONMENT"),"-").concat((0,n.l)("NEXT_PUBLIC_ORGANIZATION_ID"),"-").concat((0,n.l)("NEXT_PUBLIC_TENANT_ID"),"-end-users.auth.eu-north-1.amazoncognito.com"),scopes:["email","openid","profile"],redirectSignIn:["".concat(null!=(t=(0,n.l)("NEXT_PUBLIC_PRODUCTION_DOMAIN"))?t:"https://".concat((0,n.l)("NEXT_PUBLIC_TENANT"),".vimond-via-app-builder.").concat((0,n.l)("NEXT_PUBLIC_ENVIRONMENT"),".vmnd.tv"),"/vipps-redirect"),"http://localhost:3000/vipps-redirect"],redirectSignOut:["".concat(null!=(e=(0,n.l)("NEXT_PUBLIC_PRODUCTION_DOMAIN"))?e:"https://".concat((0,n.l)("NEXT_PUBLIC_TENANT"),".vimond-via-app-builder.").concat((0,n.l)("NEXT_PUBLIC_ENVIRONMENT"),".vmnd.tv"),"/vipps-redirect"),"http://localhost:3000"]}}}}}},l=t=>{let{appType:e}=t;return"mobile"===e?(()=>{var t,e,r,o,l,i,u,s,c,d,p;let v=a(),h=null!=(p=(0,n.l)("NEXT_PUBLIC_APP_SCHEME"))?p:"vimond";return{...v,Auth:{...v.Auth,Cognito:{...null==(t=v.Auth)?void 0:t.Cognito,loginWith:{...null==(r=v.Auth)||null==(e=r.Cognito)?void 0:e.loginWith,oauth:{...null==(i=v.Auth)||null==(l=i.Cognito)||null==(o=l.loginWith)?void 0:o.oauth,responseType:null==(d=v.Auth)||null==(c=d.Cognito)||null==(s=c.loginWith)||null==(u=s.oauth)?void 0:u.responseType,redirectSignIn:["".concat(h,"://")],redirectSignOut:["".concat(h,"://")]}}}}}})():a()}},29407:(t,e,r)=>{r.d(e,{AuthenticationContext:()=>w,AuthenticationProvider:()=>g});var n=r(64721),o=r(18808),a=r(97730),l=r(94175),i=r(24831),u=r(33156),s=r(56397),c=r(68222),d=r(14028),p=r(76141),v=r(91037),h=r(52579),N=r(27318),I=r(98772),T=r(19197),_=r(23626),E=r(41387),m=r(34326),y=r(65665),f=r(76290),P=r(50549),C=r(28778);let w=(0,P.createContext)(null),g=t=>{let{app:e,children:g}=t,[U,O]=(0,P.useState)(),[A,L]=(0,P.useState)(),[b,k]=(0,P.useState)(!0),R=(0,o.jE)(),B=(0,P.useRef)(null),D=(0,P.useCallback)(()=>{B.current&&(clearTimeout(B.current),B.current=null)},[]),X=(0,P.useCallback)(t=>{var e;let r=null==t||null==(e=t.payload)?void 0:e.exp;if(!r)return;let n=Math.max(1e3*r-Date.now()-12e4,5e3);D(),B.current=setTimeout(async()=>{try{var t;let e=null==(t=(await (0,i.$)({forceRefresh:!0})).tokens)?void 0:t.idToken;if(!e)return;O(e.toString()),e.payload.email&&L(e.payload.email),X(e)}catch(t){console.error("Scheduled token refresh failed",t)}},n)},[12e4,D]),S=(0,P.useCallback)(async()=>{let t=async()=>{var t,e,r;let n=null==(t=(await (0,i.$)()).tokens)?void 0:t.idToken,o=null==n||null==(e=n.payload)?void 0:e.exp;return o&&1e3*o-Date.now()<=12e4&&(n=null==(r=(await (0,i.$)({forceRefresh:!0})).tokens)?void 0:r.idToken),n},e=await t();e&&(O(e.toString()),e.payload.email&&(L(e.payload.email),X(e)))},[12e4,X]);(0,P.useEffect)(()=>("web"!==e&&(l.E.configure((0,C.zg)({appType:e})),r.e(6428).then(r.bind(r,56428)).catch(t=>console.error("Failed to import enable-oauth-listener:",t))),S().finally(()=>k(!1)),()=>{D()}),[e,S,D]),(0,P.useEffect)(()=>{f.YZ.listen("auth",async t=>{let{payload:e}=t;if("signInWithRedirect"===e.event)try{if(await (0,u.H)()){var r,n,o,a;let t=await (0,i.$)();O(null==(n=t.tokens)||null==(r=n.idToken)?void 0:r.toString()),(null==(a=t.tokens)||null==(o=a.idToken)?void 0:o.payload.email)&&L(t.tokens.idToken.payload.email),S()}}catch(t){console.error("Error in signInWithRedirect handler:",t)}"signedOut"===e.event?(O(void 0),L(void 0),D(),R.invalidateQueries()):"signedIn"===e.event?S():"tokenRefresh"===e.event&&S()})},[R,S,D]);let G=async t=>{let{email:e,password:r}=t;try{let t=await (0,s.J)({username:e,password:r});return t.isSignedIn&&await S(),await (0,a.qt)(),t}catch(t){throw console.error("Error while signing in:",t),t}},M=async t=>{await (0,v.C)(t),"web"===e&&(document.cookie="subprofile=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",document.cookie="subprofile_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href="/"),await R.resetQueries(),R.clear()},x=async t=>(0,h.h)({username:t}),j=async t=>(0,N.x)({username:t}),V=async t=>{let{email:e,confirmationCode:r,newPassword:n}=t;return(0,I.P)({username:e,confirmationCode:r,newPassword:n})},W=async(t,e)=>(0,T.f)({oldPassword:t,newPassword:e}),H=async()=>{try{await (0,_.h)(),await M()}catch(t){console.error(t)}},Y=async t=>(0,E.r)({challengeResponse:t}).then(async()=>{await F()}),F=async()=>(0,m.d)({totp:"PREFERRED"}),$=(0,P.useCallback)(()=>(0,y.$)({provider:{custom:"vipps"}}),[]);return(0,n.jsx)(w.Provider,{value:{isLoggedIn:!!U,isAuthLoading:b,jwt:U,email:A,app:e,signIn:G,confirmSignIn:Y,signUp:t=>{let{email:e,password:r}=t;return(0,d.H)({username:e,password:r,options:{userAttributes:{email:e},autoSignIn:!0}})},confirmSignUp:t=>{let{email:e,confirmationCode:r}=t;return(0,p.z)({username:e,confirmationCode:r})},signOut:M,resendSignUpCode:x,resetPassword:j,confirmResetPassword:V,updatePassword:W,deleteUser:H,autoSignIn:()=>(0,c.eA)(),signInWithVipps:$,checkUser:S},children:g})}},58595:(t,e,r)=>{r.d(e,{useAuthentication:()=>i});var n=r(89910),o=r(65665),a=r(50549),l=r(29407);let i=()=>{let t=(0,a.useContext)(l.AuthenticationContext);if(!t)throw Error("useClientAuthentication must be used within an AuthenticationProvider");(0,a.useEffect)(()=>
1{if(t.isLoggedIn&&"web"===t.app&&window.location.pathname.includes("/vipps-redirect")){let t=setTimeout(()=>{window.location.replace("/profiles/whoiswatching")},500);return()=>clearTimeout(t)}},[t.isLoggedIn,t.app]);let e=(0,a.useCallback)(async()=>{try{let t=(0,n.l)("NEXT_PUBLIC_ORGANIZATION_ID"),e=(0,n.l)("NEXT_PUBLIC_TENANT_ID");if(!t||!e)throw Error("Missing organization_id or tenant_id in environment variables");let r="https://".concat((0,n.l)("NEXT_PUBLIC_TENANT"),".default-payment-provider.").concat((0,n.l)("NEXT_PUBLIC_ENVIRONMENT"),".vmnd.tv"),a=await fetch("".concat(r,"/api/v1/provider/vipps/login/parameters/").concat(t,"/").concat(e));if(!a.ok)throw Error("Failed to fetch Vipps parameters");let l=await a.json();return await (0,o.$)({provider:{custom:"vipps"},customState:JSON.stringify({data:l})}),null}catch(t){return console.error("Error during Vipps sign in:",t),{isSignedIn:!1,error:t}}},[]);return{...t,signInWithVipps:e}}},81385:(t,e,r)=>{r.d(e,{C:()=>a});var n=r(16492);let o=t=>{if(!t)return{};let e={};if(Array.isArray(t)){for(let[r,n]of t)e[r.toLowerCase()]=n;return e}if("undefined"!=typeof Headers&&t instanceof Headers)return t.forEach((t,r)=>{e[r]=t}),e;if("object"==typeof t){for(let[r,n]of Object.entries(t))e[r.toLowerCase()]=n;return e}return{}},a=(t,e)=>{let r=n.V?{"x-vimond-access-key":n.V}:{},a="undefined"!=typeof Request&&t instanceof Request?o(t.headers):{},l={...r,...a,...o(null==e?void 0:e.headers)};return fetch(t,{...e,headers:l})}},97730:(t,e,r)=>{r.d(e,{qt:()=>d,P5:()=>h,EW:()=>N});var n=r(24831),o=r(89910),a=r(81385);let l=/^P(?:(\d+(?:\.\d+)?)Y)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)W)?(?:(\d+(?:\.\d+)?)D)?(?:T(?:(\d+(?:\.\d+)?)H)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)S)?)?$/,i=t=>{let e=(t=>{if(!(null==t?void 0:t.startsWith("P")))return null;let e=t.toUpperCase().trim();return!e.includes("T")&&/^P\d+(?:\.\d+)?H$/.test(e)?e.replace(/^P/,"PT"):e})(t);if(!e)return null;let r=l.exec(e);if(!r)return null;let[,n,o,a,i,u,s,c]=r,d=t=>void 0!==t?Number.parseFloat(t):0;return{years:d(n),months:d(o),weeks:d(a),days:d(i),hours:d(u),minutes:d(s),seconds:d(c)}},u="https://".concat((0,o.l)("NEXT_PUBLIC_TENANT"),".rest-api.").concat((0,o.l)("NEXT_PUBLIC_ENVIRONMENT"),".vmnd.tv"),s=(()=>{let t=(0,o.l)("NEXT_PUBLIC_TVOD_PRODUCT_PAYMENT_IDS");return t?t.split(",").map(t=>Number.parseInt(t.trim(),10)).filter(t=>!Number.isNaN(t)):[]})(),c=t=>({headers:{Authorization:"Bearer ".concat(t),"Content-Type":"application/json;v=3",Accept:"application/json;v=3"}}),d=async()=>{let t="true"===(0,o.l)("NEXT_PUBLIC_PAYMENTS_ENABLED");try{let r=await (0,n.$)();if(!t){var e;let{idToken:t}=null!=(e=null==r?void 0:r.tokens)?e:{};if(!t)throw Error("No id token found in session object");let n="Bearer ".concat(t.toString()),l="https://".concat((0,o.l)("NEXT_PUBLIC_TENANT"),".rest-api.").concat((0,o.l)("NEXT_PUBLIC_ENVIRONMENT"),".vmnd.tv");await (0,a.C)("".concat(l,"/api/authentication/user"),{headers:{Authorization:n}})}}catch(t){throw console.error("Authentication towards Vimond failed:",t),t}},p=async t=>{try{let e=t?c(t):{headers:{"content-type":"application/json;v=3",accept:"application/json;v=3"}},r=await (0,a.C)("".concat(u,"/api/web/productgroup?expand=products,metadata,productPayments&includeTrialFlag=true"),e);if(!r.ok)throw Error(r.statusText);let n=await r.json();if(!(t=>"object"==typeof t&&null!==t&&"productGroups"in t&&!!t.productGroups&&Array.isArray(t.productGroups))(n))throw Error("Invalid response from Rest API");return{productGroups:n.productGroups.filter(t=>t.productsUri.products&&(!Array.isArray(t.productsUri.products)||t.productsUri.products.length>0))}}catch(t){return console.error("Failed to get all product groups:",t),{productGroups:[]}}},v=async(t,e)=>{try{let r=await (0,a.C)("".concat(u,"/api/web/productgroup/").concat(e,"?expand=products,metadata,productPayments"),c(t));if(!r.ok)throw Error(r.statusText);let n=await r.json();if(!(t=>{if("object"!=typeof t||null===t||!("id"in t)||!("uri"in t)||!("name"in t)||!("productsUri"in t))return!1;let e=t.productsUri;return"object"==typeof e&&null!==e&&"products"in e&&Array.isArray(e.products)})(n))throw Error("Invalid product group payload: expected id, uri, name, productsUri.products");return{productGroups:n.productsUri.products&&(!Array.isArray(n.productsUri.products)||n.productsUri.products.length>0)?[n]:[]}}catch(t){return console.error("Failed to get product group ".concat(e,":"),t),{productGroups:[]}}},h=async(t,e,r)=>{let n=await (0,a.C)("".concat(u,"/api/web/productgroup/").concat(e,"/products/").concat(r,"/productPayments"),c(t)),o=await n.json();if(!(t=>"object"==typeof t&&null!==t&&"productPaymentList"in t&&!!t.productPaymentList&&(Array.isArray(t.productPaymentList)||null!==t.productPaymentList))(o))throw Error("Invalid response from Rest API");return o},N=async t=>{let e=(0,o.l)("NEXT_PUBLIC_TVOD_PRODUCT_GROUP_ID"),r=e?Number.parseInt(e.trim(),10):null,n=(r&&!Number.isNaN(r)?await v(t,r):await p(t)).productGroups.flatMap(t=>{var e,r,n,o,a,l;let u=null==(o=t.metadata)||null==(n=o.entries)||null==(r=n["stripe-product-id"])||null==(e=r[0])?void 0:e.value;return(null!=(l=null==(a=t.productsUri)?void 0:a.products)?l:[]).filter(t=>{var e;return(null==t||null==(e=t.paymentPlan)?void 0:e.paymentType)==="SINGLE_PROGRAM"&&(null==t?void 0:t.productStatus)==="ENABLED"}).map(e=>{var r,n,o,a,l,s,c,d,p,v,h;let N=null!=(s=null==(r=e.paymentPlan)?void 0:r.periodIso)?s:null==(n=e.paymentPlan)?void 0:n.period,{intervalCount:I,intervalUnit:T}=(t=>{var e,r,n,o,a,l;let u=i(t),s=[{value:null!=(e=null==u?void 0:u.years)?e:0,unit:"YEAR"},{value:null!=(r=null==u?void 0:u.months)?r:0,unit:"MONTH"},{value:null!=(n=null==u?void 0:u.weeks)?n:0,unit:"WEEK"},{value:null!=(o=null==u?void 0:u.days)?o:0,unit:"DAY"},{value:null!=(a=null==u?void 0:u.hours)?a:0,unit:"HOUR"},{value:null!=(l=null==u?void 0:u.minutes)?l:0,unit:"MINUTE"}].find(t=>t.value>0);return s?{intervalCount:"".concat(s.value),intervalUnit:s.unit}:{intervalCount:null,intervalUnit:null}})(N),_=null!=(c=(t=>{let e=i(t);if(!e)return null;let r=(t=>8760*t.years+720*t.months+168*t.weeks+24*t.days+t.hours+t.minutes/60+t.seconds/3600)(e);return r>0?r:null})(N))?c:((t,e)=>{if(!t||!e)return null;let r=Number.parseFloat(t);if(!Number.isFinite(r)||r<=0)return null;switch(e){case"HOUR":return r;case"DAY":return 24*r;case"WEEK":return 168*r;case"MONTH":return 720*r;case"YEAR":return 8760*r;case"MINUTE":return r/60;default:return null}})(I,T);return{productId:e.id,productGroupId:t.id,stripeProductId:null!=u?u:"",vimondProductPaymentIds:null!=(d=null==(a=e.productPayments)||null==(o=a.productPaymentList)?void 0:o.map(t=>
1t.id))?d:[],price:null!=(p=e.price)?p:0,currency:null!=(v=e.currency)?v:"NOK",period:N,name:null!=(h=null==(l=e.paymentPlan)?void 0:l.name)?h:"Unknown",intervalCount:I,intervalUnit:T,rentalDurationHours:_}}).filter(t=>t.vimondProductPaymentIds.length>0)});return 0===s.length?n:n.filter(t=>t.vimondProductPaymentIds.some(t=>s.includes(t)))}}}]);

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