PageSourceSearch

https://sifted.eu/_next/static/chunks/2125.02bd46d7ec415214.js

js sifted.eu collected 2026-09-24 15:19:16 UTC 5,736 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2125],{92125:function(n,e,a){a.r(e),a.d(e,{TopBanner:function(){return w}});var t=a(85893),r=a(67294);let i={SIGN_IN:"sign-in",PRO:"pro"},l={PRIMARY:"primary",SECONDARY:"secondary"},o={DAYS_UNTIL_REDISPLAY:7};var s=a(93967),d=a.n(s),u=a(11472),c=a(91059),p=a(68942);let m=n=>{let{href:e,label:a,accent:r,variant:i,onClick:l}=n;return e?(0,t.jsx)("a",{href:e,className:(0,p.$Y)({variant:i,accent:r,size:"md"}),onClick:l,children:a}):(0,t.jsx)(p.rF,{accent:r,variant:i,size:"md",onClick:l,children:a})},b={[i.SIGN_IN]:"bg-sifted-20",[i.PRO]:"bg-pro-10"},y=n=>{let{variant:e,heading:a,subheading:r,primaryButtonLabel:l,primaryButtonHref:o,primaryButtonOnClick:s,secondaryButtonLabel:p,secondaryButtonHref:y,secondaryButtonOnClick:g,onClose:h=()=>{},className:B,testId:v="top-banner"}=n,S=e===i.PRO?"pro":"sifted";return(0,t.jsx)("div",{"data-testid":v,className:d()("relative w-full py-4",b[e],B),children:(0,t.jsx)("div",{className:"mx-auto max-w-content-mobile px-4 md:max-w-content lg:max-w-container mdDesktop:max-w-container",children:(0,t.jsxs)("div",{className:"flex flex-col gap-1 ",children:[(0,t.jsxs)("div",{className:"flex w-full items-start justify-between gap-2",children:[(0,t.jsx)("h2",{className:"font-recklessBold text-accent-24 leading-tight",children:a}),(0,t.jsx)(c.Z,{onClick:h,"aria-label":"Close banner",className:"flex-shrink-0",children:(0,t.jsx)(u.qA,{})})]}),(0,t.jsxs)("div",{className:"w-full",children:[(0,t.jsx)("p",{className:"mb-2 text-regular-16",children:r}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 sm:gap-3",children:[(0,t.jsx)(m,{href:o,label:l,accent:S,variant:"primary",onClick:s}),(0,t.jsx)(m,{href:y,label:p,accent:S,variant:"secondary",onClick:g})]})]})]})})})};var g=a(30290),h=a(41694),B=a(3275),v=a(16658);let S=()=>{let{isAuthorisedUser:n,isProUser:e,userId:a}=(0,g.v)(),t=(0,h.tK)(),[s,d]=(0,r.useState)(!1),[u,c]=(0,r.useState)(!0),p=n&&!e?i.PRO:i.SIGN_IN,m=(0,r.useCallback)(()=>{var n,e,a,r,l,o,s,d,u,c,m,b;return t?p===i.SIGN_IN?{heading:null!==(n=t.topBannerSignInHeading)&&void 0!==n?n:"",subheading:null!==(e=t.topBannerSignInSubheading)&&void 0!==e?e:"",primaryButtonLabel:null!==(a=t.topBannerSignInPrimaryButtonLabel)&&void 0!==a?a:"",primaryButtonUrl:null!==(r=t.topBannerSignInPrimaryButtonUrl)&&void 0!==r?r:"",secondaryButtonLabel:null!==(l=t.topBannerSignInSecondaryButtonLabel)&&void 0!==l?l:"",secondaryButtonUrl:null!==(o=t.topBannerSignInSecondaryButtonUrl)&&void 0!==o?o:""}:{heading:null!==(s=t.topBannerProHeading)&&void 0!==s?s:"",subheading:null!==(d=t.topBannerProSubheading)&&void 0!==d?d:"",primaryButtonLabel:null!==(u=t.topBannerProPrimaryButtonLabel)&&void 0!==u?u:"",primaryButtonUrl:null!==(c=t.topBannerProPrimaryButtonUrl)&&void 0!==c?c:"",secondaryButtonLabel:null!==(m=t.topBannerProSecondaryButtonLabel)&&void 0!==m?m:"",secondaryButtonUrl:null!==(b=t.topBannerProSecondaryButtonUrl)&&void 0!==b?b:""}:null},[t,p])(),b=(0,r.useCallback)(async()=>{let e=new Date().toISOString();if(p===i.SIGN_IN)try{localStorage.setItem("sifted_top_banner_sign_in_dismissed_at",e)}catch(n){v.v.error("Failed to save sign-in banner dismiss to localStorage",void 0,n)}else{if(!n){v.v.warn("Cannot save pro banner dismiss - user not authorized",{variant:p});return}try{if(!(await (0,B.k)({top_banner_dismissed_at:e})).success)throw Error("Failed to update Zephr profile with banner dismiss timestamp.")}catch(n){v.v.error("Failed to save pro banner dismiss to Zephr",{variant:p},n)}}},[p,n]),y=(0,r.useCallback)(async()=>{try{var n,e;let a=null;if(p===i.SIGN_IN)a=localStorage.getItem("sifted_top_banner_sign_in_dismissed_at");else{let n=await (0,B.$D)(),e=null==n?void 0:n.top_banner_dismissed_at;a="string"==typeof e?e:null}if(!a)return!0;let r=new Date(a);if(isNaN(r.getTime()))return!0;let l=Math.floor((Date.now()-r.getTime())/864e5),s=p===i.SIGN_IN?null!==(n=null==t?void 0:t.topBannerSignInDaysUntilRedisplay)&&void 0!==n?n:o.DAYS_UNTIL_REDISPLAY:null!==(e=null==t?void 0:t.topBannerProDaysUntilRedisplay)&&void 0!==e?e:o.DAYS_UNTIL_REDISPLAY;return l>=s}catch(n){return v.v.error("Failed to check top banner dismiss status",{variant:p},n),!0}},[p,t]),S=(0,r.useCallback)(()=>{window.mixpanel&&window.mixpanel.track("Top banner viewed",{variant:p,userId:a,heading:null==m?void 0:m.heading,timestamp:new Date().toISOString()})},[p,a,m]),w=(0,r.useCallback)(n=>{if(window.mixpanel&&m){let e=n===l.PRIMARY?m.primaryButtonLabel:m.secondaryButtonLabel,t=n===l.PRIMARY?m.primaryButtonUrl:m.secondaryButtonUrl;window.mixpanel.track("Top banner ".concat(n," button clicked"),{variant:p,buttonLabel:e,buttonUrl:t,userId:a,timestamp:new Date().toISOString()})}},[p,a,m]),I=(0,r.useCallback)(async()=>{await b(),window.mixpanel&&window.mixpanel.track("Top banner closed",{variant:p,userId:a,dism
1issedAt:new Date().toISOString(),timestamp:new Date().toISOString()}),d(!1)},[b,p,a]);return(0,r.useEffect)(()=>{(async()=>{if(e||!t){c(!1);return}await y()&&m&&(d(!0),S()),c(!1)})()},[e,t,m,y,S]),{variant:p,bannerData:m,isVisible:s,isLoading:u,shouldShow:!e&&s&&!u&&!!m&&!!m.heading&&!!m.subheading&&!!m.primaryButtonLabel&&!!m.secondaryButtonLabel,handleDismiss:I,trackButtonClick:w}},w=()=>{var n;let{variant:e,bannerData:a,handleDismiss:r,trackButtonClick:i,shouldShow:o}=S();return o&&a?(0,t.jsx)(y,{variant:e,heading:a.heading,subheading:a.subheading,primaryButtonLabel:a.primaryButtonLabel,primaryButtonHref:a.primaryButtonUrl,primaryButtonOnClick:()=>i(l.PRIMARY),secondaryButtonLabel:a.secondaryButtonLabel,secondaryButtonHref:null!==(n=a.secondaryButtonUrl)&&void 0!==n?n:void 0,secondaryButtonOnClick:()=>i(l.SECONDARY),onClose:r}):null}}}]);
2//# sourceMappingURL=2125.02bd46d7ec415214.js.map

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.