Files
dotfiles/.config/spicetify/Extracted/Themed/login/login.js
T
2024-05-05 19:02:45 +02:00

2 lines
71 KiB
JavaScript
Executable File

(()=>{var e,t={8721:(e,t,n)=>{"use strict";var a=n(4478),s=n(226),i=n(4960);(0,i.JP)({name:"enableNothing",description:"Property to that does nothing.",default:!1});const o=(0,i.JP)({name:"enableNewLoginExperience",description:"Enable new login design and experience",default:!1});var r=n(959),l=n(3533),d=n(2557);const c="EDO6W2NIL5kJzuuvw2J7",u="bnCvPLsrkevVeOYYpwQG",p="qizIRC62kg8aAqE5y1K6";n(6758),n(3321),n(7082),n(6277),n(2372),n(69),n(4227),n(1499),n(8856),n(6687),n(6527);var g=n(9270),m=n.n(g);const f=864e5;class h{_cache=new Map;constructor(e=null){if(this._ttl=e,null!==e&&(e<1||e>f))throw new Error("TTL should be between 1 (1 ms) and 86400000 (1 day).")}isExpired(e){return null!==e.expiry&&e.expiry<Date.now()}getExpiry(){return null!==this._ttl?Date.now()+this._ttl:null}entries(){return this._cache.entries()}has(e){return void 0!==this.get(e)}get(e){const t=this._cache.get(e);if(void 0!==t){if(!this.isExpired(t))return t.value;this._cache.delete(e)}}set(e,t){this._cache.set(e,{value:t,expiry:this.getExpiry()})}create(e,t){const n=this.get(e);if(void 0===n){const n=t();return this.set(e,n),n}return n}delete(e){this._cache.delete(e)}clear(){this._cache.clear()}cleanup(){this._cache.forEach(((e,t)=>{this.isExpired(e)&&this._cache.delete(t)}))}}let b=function(e){return e.af="af",e.am="am",e.ar="ar",e.arEG="ar-EG",e.arMA="ar-MA",e.arSA="ar-SA",e.az="az",e.bg="bg",e.bn="bn",e.bho="bho",e.bs="bs",e.ca="ca",e.cs="cs",e.da="da",e.de="de",e.el="el",e.en="en",e.enGB="en-GB",e.es419="es-419",e.es="es",e.esAR="es-AR",e.esMX="es-MX",e.et="et",e.eu="eu",e.fa="fa",e.fi="fi",e.fil="fil",e.frCA="fr-CA",e.fr="fr",e.gl="gl",e.gu="gu",e.he="he",e.hi="hi",e.hr="hr",e.hu="hu",e.id="id",e.is="is",e.it="it",e.ja="ja",e.kn="kn",e.ko="ko",e.lt="lt",e.lv="lv",e.mk="mk",e.ml="ml",e.mr="mr",e.ms="ms",e.nb="nb",e.ne="ne",e.nl="nl",e.or="or",e.paIN="pa-IN",e.paPK="pa-PK",e.pl="pl",e.ptBR="pt-BR",e.ptPT="pt-PT",e.ro="ro",e.ru="ru",e.sk="sk",e.sl="sl",e.sr="sr",e.sv="sv",e.sw="sw",e.ta="ta",e.te="te",e.th="th",e.tr="tr",e.uk="uk",e.ur="ur",e.vi="vi",e.zhCN="zh-CN",e.zhHK="zh-HK",e.zhTW="zh-TW",e.zu="zu",e}({});const E=new Intl.Locale(b.en);Object.values(b);var P=function(e){return e.AR="، ",e.FA="، ",e.EN=", ",e}(P||{});function w(e){const t=`(?:${e.join("|")})`;return new RegExp(String.raw`(\{${t}\}|%${t}%)`,"g")}const v=new class{_localeForTranslation=E;_localeForFormatting=E;_localeForURLPath=E;_translations={};_relativeTimeFormat=null;_dateTimeFormats=new h;_pluralRules=null;getRelativeTimeFormat(){return null===this._relativeTimeFormat&&(this._relativeTimeFormat=new Intl.RelativeTimeFormat(this._localeForFormatting)),this._relativeTimeFormat}getDateTimeFormat(e){const t=JSON.stringify(Object.keys(e).sort().map((t=>({[t]:e[t]}))));return this._dateTimeFormats.create(t,(()=>new Intl.DateTimeFormat(this._localeForFormatting,e)))}getPluralRules(){return null===this._pluralRules&&(this._pluralRules=new Intl.PluralRules(this._localeForTranslation)),this._pluralRules}getPluralKey(e){const t=this.getPluralRules();try{return"string"==typeof e&&(e=parseInt(e,10)),t.select(e)}catch{return"other"}}initialize({localeForTranslation:e,localeForFormatting:t,translations:n}){var a;this._localeForTranslation=new Intl.Locale(e),this._localeForFormatting=("string"==typeof(a=t??e)&&(a=new Intl.Locale(a)),"ar"===a.baseName?new Intl.Locale(a,{numberingSystem:"latn"}):a),this._localeForURLPath=function(e){"string"==typeof e&&(e=new Intl.Locale(e));const t=new Set([b.paIN,b.paPK,b.zhCN,b.zhTW,b.zhHK]);return e?t.has(e.baseName)?e:new Intl.Locale(e.language):E}(e),this._relativeTimeFormat=null,this._dateTimeFormats.clear(),this._pluralRules=null,this._translations=n}getLocaleForTranslation(){return this._localeForTranslation.baseName}getLocaleForFormatting(){return this._localeForFormatting.baseName}getLocaleForURLPath(){return this._localeForURLPath.baseName}getLocaleForSmartling(){const e=this._localeForTranslation.baseName;return m()[e]||e}getTranslations(){return this._translations}toLocaleLowerCase(e){return e?.toLocaleLowerCase(this._localeForTranslation)}toLocaleUpperCase(e){return e?.toLocaleUpperCase(this._localeForTranslation)}get(e,...t){const n=e in this._translations?this._translations[e]:e;let a="";if("string"!=typeof n){const e=t[0],s=n[this.getPluralKey(e)];void 0!==s?a=s:n.other&&(a=n.other)}else a=n;if(/%\d%/.test(a)){if(!["desktop.login.DefaultErrorMessage","desktop.login.ErrorProxyAuthRequired","desktop.login.MissingUserInfoMessage","desktop.login.RegionMismatchMessage","desktop.login.ClientUpdateFail","desktop.login.FbUserNotFoundSignUp","desktop-auth.error"].includes(e))throw new Error("i18n: The placeholder format %0% is legacy and is only allowed for existing strings.")}const s={},i={};t.forEach(((e,t)=>{const n="object"!=typeof e||null===e||(0,r.isValidElement)(e)?[[t,e]]:Object.entries(e);for(const[e,t]of n)(0,r.isValidElement)(t)?i[e]=t:void 0!==t&&(s[e]=t)})),a=a.replace(w(Object.keys(s)),((e,t)=>{const n=t.slice(1,-1),a=s[n];return"number"==typeof a?this.formatNumber(a):a}));const o=Object.keys(i);return o.length?(0,r.createElement)(r.Fragment,null,a.split(w(o)).map(((e,t)=>{if(t%2){const t=e.slice(1,-1),n=i[t];return(0,r.cloneElement)(n,{key:n.key??t})}return e})).filter((e=>""!==e))):a}getSeparator(){switch(new Intl.Locale(this._localeForTranslation).language){case b.ar:return P.AR;case b.fa:return P.FA;default:return P.EN}}formatNumber(e,t){return e.toLocaleString(this._localeForFormatting,t)}formatNumberCompact(e){return this.formatNumber(e,{notation:"compact",maximumFractionDigits:1})}formatDate(e,t=null){const n=t||{year:"numeric",month:"long",day:"numeric"};return this.getDateTimeFormat(n).format(e)}formatRelativeDate(e,t=null,n=new Date){const a=this.getRelativeTimeFormat(),s=e.getTime()-n.getTime(),i=Math.abs(s)<2592e6;if(null!==a&&i){const{weeks:e,days:t,hours:n,minutes:i,seconds:r}=(o=s,{seconds:Math.round(o/1e3),minutes:Math.round(o/1e3/60),hours:Math.round(o/1e3/60/60),days:Math.round(o/1e3/60/60/24),weeks:Math.round(o/1e3/60/60/24/7)});return Math.abs(t)>=7?a.format(e,"weeks"):Math.abs(n)>=24?a.format(t,"days"):Math.abs(i)>=60?a.format(n,"hours"):Math.abs(r)>=60?a.format(i,"minutes"):a.format(r,"seconds")}var o;return this.formatDate(e,t)}};let y=function(e){return e.AD="ad",e.ALBUM="album",e.ARTIST="artist",e.ARTIST_CONCERTS="artist-concerts",e.AUDIOBOOK="audiobook",e.CHAPTER="chapter",e.CONCERT="concert",e.CONCERTS="concerts",e.EPISODE="episode",e.PODCAST_SHORT="podcast-short",e.GENRE="genre",e.VIEW="view",e.PLAYLIST="playlist",e.PLAYLISTV2="playlist-v2",e.PRE_RELEASE="pre-release",e.SHOW="show",e.TRACK="track",e.UNKNOWN="unknown",e.USER="user",e.LIKED_SONGS="liked-songs",e.LOCAL_FILES="local-files",e.YOUR_EPISODES="your-episodes",e.FOLDER="folder",e.PREMIUM="premium",e}({});const S="intl-",k=(new RegExp(`${`/${S}`}([a-zA-Z0-9-]+)`),[]),A=[b.id,b.de,"pt",b.ja,b.fr,b.ar,b.es,b.tr,b.it],[x]=(b.en,y.ALBUM,y.ARTIST,y.TRACK,y.PREMIUM,y.CONCERT,y.CONCERTS,b.hu,A);k.length||b.ca,b.zhCN,b.es419,b.es;var N=n(1527);const _=({toggleSettings:e})=>(0,N.jsxs)("header",{className:c,children:[(0,N.jsx)("div",{children:(0,N.jsx)("img",{className:u,src:"images/logo.svg",alt:""})}),(0,N.jsxs)("div",{className:p,children:[(0,N.jsx)(l.D,{onClick:e,size:"small",colorSet:"invertedDark",children:v.get("desktop.login.PreferencesLink")}),(0,N.jsx)(l.D,{as:"a",href:"https://open.spotify.com/",size:"small",iconTrailing:d.T,colorSet:"invertedDark",children:v.get("desktop-auth.login.preview-experience")})]})]}),L="dDq7z7SMlOtaz9XvBhD8",C="U5LyL65TJ6tdGjHlaK1q",O="awxiyoFzSyDm_MbWN_eY";var T=n(8592),R=n(8206),I=n(6370);let M=function(e){return e.XSMALL="XSMALL",e.SMALL="SMALL",e.MEDIUM="MEDIUM",e.LARGE="LARGE",e.XLARGE="XLARGE",e}({});n(5205);const D=()=>"undefined"==typeof window;function J(e){return!D()&&e instanceof HTMLElement}let j;const F={subscribersByElement:new WeakMap,get resizeObserver(){return j||(j=new ResizeObserver((e=>{Array.isArray(e)&&e.forEach((t=>{const n={width:Math.round(t.contentRect.width),height:Math.round(t.contentRect.height)};(F.subscribersByElement.get(t.target)??new Set).forEach((a=>{a(n,t,e)}))}))}))),j}};function U({onResize:e,refOrElement:t,observeOnly:n,observeOnMount:a=!1}){const s=(0,r.useRef)(e);s.current=e;const i=(0,r.useRef)(n);i.current=n;const o=(0,r.useRef)({width:-1,height:-1}),l=(0,r.useCallback)(((e,t,n)=>{if(!s.current)return;const a=o.current.width!==e.width,r=o.current.height!==e.height;("width"===i.current&&a||"height"===i.current&&r||!i.current&&(a||r))&&s.current(e,t,n),o.current.width=e.width,o.current.height=e.height}),[]),d=function({refOrElement:e,subscriber:t}){let n=null;const a=(0,r.useRef)(null),s=(0,r.useRef)(null),i=(0,r.useRef)(null),o=(0,r.useRef)(),l=(0,r.useRef)(t);l.current=t;const d=(0,r.useCallback)((()=>{let t=null;s.current?t=s.current:a.current?t=a.current:J(e)&&(t=e),i.current!==t&&(o.current&&(o.current(),o.current=null),i.current=t,t&&l.current&&(o.current=l.current(t)))}),[e]),c=(0,r.useCallback)((e=>{s.current=e,d()}),[d]);return e&&!J(e)&&(n=e),(0,r.useEffect)((()=>{n&&(a.current=n.current),d()}),[n,n?.current,d]),(0,r.useEffect)((()=>()=>{o?.current?.()}),[]),c}({refOrElement:t,subscriber:e=>(a&&l({width:e.offsetWidth,height:e.offsetHeight},null,[]),F.subscribersByElement.has(e)||(F.resizeObserver.observe(e),F.subscribersByElement.set(e,new Set)),F.subscribersByElement.get(e)?.add(l),()=>{F.subscribersByElement.get(e)?.delete(l),0===F.subscribersByElement.get(e)?.size&&(F.resizeObserver.unobserve(e),F.subscribersByElement.delete(e))})});return d}function B(e,t,n){const[a,s]=(0,r.useState)(),i=Object.entries(e).sort(((e,t)=>t[1]-e[1]));return{ref:U({refOrElement:n,observeOnly:t,onResize:({[t]:e})=>{if(void 0===e)return;const n=i.find((([,t])=>e>=t)),o=n&&n[0];o&&o!==a&&s(o)}}),breakpoint:a}}const V="_Cavu1tQ2xHOf1gnVGLI",W="OAeAxLyDsiZO9kZm0WTJ",z="aO8ExrFCupBc13AZlOiu";var H=n(6145);const G="RKmCwNfF52QOvDMMoteA",K="VDAySBjjOh9Kf83VFHyw",Y="N8UxiIkVqP_rLpZHNysn",X="E5bQk5goX9hChELcTBbe",q="cgl3eWBkELRCNdMhDX8w",Z="cRd8EyQyHz4DK42rr3yw";var Q=n(2187),$=n.n(Q),ee=n(1486),te=n.n(ee);let ne=function(e){return e.DISABLED="DISABLED",e.RESTRICTED="RESTRICTED",e.ENABLED="ENABLED",e}({}),ae=function(e){return e.DISABLED="DISABLED",e.TWO_USER="TWO_USER",e.MULTI_USER="MULTI_USER",e}({}),se=function(e){return e.DEFAULT="default",e.CONTROL="control",e.VARIANT="variant",e}({}),ie=function(e){return e.DEFAULT="default",e.CONTROL="control",e.VARIANT="variant",e}({}),oe=function(e){return e.DEFAULT="default",e.VARIANTA="varianta",e.VARIANTB="variantb",e}({}),re=function(e){return e.DEFAULT="default",e.VARIANTA="varianta",e.VARIANTB="variantb",e}({}),le=function(e){return e.DEFAULT="default",e.CONTROL="control",e.VARIANT="variant",e}({}),de=function(e){return e.DEFAULT="default",e.CONTROL="control",e.VARIANT="variant",e}({});(0,i.JP)({name:"exampleOfSharedPropertyThatDoesNotExist",description:"Example of enabling a propoerty that is shared between Desktop, Mobile and Embed",default:!1}),(0,i.JP)({name:"enableOfflineVideoDev",description:"Enables Spotify videos to be offlined on DesktopX. Used during feature development",default:!1}),(0,i.JP)({name:"betamaxWidevineVersionSupported",description:"true if the version of widevine used is still supported.",default:!0}),(0,i.JP)({name:"betamaxBoomboxAudioSync",description:"true if video/audio sync is enabled (experimental).",default:!1}),(0,i.z8)({name:"betamaxOfflineTargetBitrate",description:"targetBitrate to use when offlining. The closest to this bitrate to this is used.",default:12e5,lower:1e3,upper:1e9}),(0,i.JP)({name:"enableBetamaxSdkSubtitlesDesktopX",description:"Enables subtitles setting and rendering subtitles on the betamax SDK on DesktopX",default:!0}),(0,i.JP)({name:"enableBetamaxSdkMuxDesktopXDev",description:"Enables MUX library for development on Desktop X",default:!1}),(0,i.JP)({name:"enableVideoOnVideoSaiDev",description:"Enables video-on-video SAI on videos Desktop X. Used during feature development",default:!0}),(0,i.JP)({name:"enableBetamaxSdkVmp",description:"Enables client-side widevine VMP (verified media path) on betamax SDK.",default:!0}),(0,i.JP)({name:"enableBetamaxSdkVideoOnVideoSai",description:"Enables video-on-video SAI on videos Desktop X",default:!1}),(0,i.z8)({name:"betamaxSdkMinimumBuffer",description:"Sets the minimum buffer goal (in seconds) required before starting or resuming playback video on betamax SDK",default:2,upper:8,lower:0}),(0,i.z8)({name:"betamaxSdkRetryAttempts",description:"The number of times to retry on network",default:2,upper:100,lower:1}),(0,i.JP)({name:"betamaxSdkDataSaverV2",description:"Enables the data saver feature on betamax SDK (linked to the video show/hide controls and close video window)",default:!0}),(0,i.z8)({name:"betamaxSdkDataSaverBufferMargin",description:"Sets the amount of buffer in seconds to be kept when disabling data saver (lower = faster variant change)",default:4,upper:100,lower:0}),(0,i.JP)({name:"betamaxVideoAutoplay",description:"Enables an alternative method for video autoplay to address Mux metrics",default:!1}),(0,i.JP)({name:"enableBetamaxSdkInitialLowBitrateV2",description:"Optimize startup time by choosing the lowest quality for the first segment",default:!0}),(0,i.JP)({name:"enableBetamaxSdkSurfaceBasedResolutionCapV2",description:"Enables surface-based resolution cap for adaptive video on betamax SDK",default:!0}),(0,i.z8)({name:"betamaxSdkMaxBitrate",description:"Sets the max bitrate cap for adaptive video on betamax SDK (0=disabled)",default:0,upper:1e8,lower:0}),(0,i.JP)({name:"enableBetamaxSdkPlayerPool",description:"Enables player pool for betamax SDK",default:!1}),(0,i.z8)({name:"betamaxSdkPlayerPoolSize",description:"Sets the player pool size, should it be enabled",default:20,upper:100,lower:0}),(0,i.JP)({name:"enableVideoPip",description:"Enables desktop picture-in-picture surface using betamax SDK.",default:!1}),(0,i.JP)({name:"betamaxUsePendingStorage",description:"true if pending storage is used to generate BetamaxPlaybackSession messages, false if using only the normal event sender.",default:!0}),(0,i.JP)({name:"betamaxAutoSeekToAdPosition",description:"If true, the player will seek to the ad position when an stop position is registered. Usefull for debugging ads.",default:!1}),(0,i.JP)({name:"enableAutoSeekToVideoBufferedStartPosition",description:"Automatically seek to the video buffered start position on load to avoid initial seek if the initial position is not buffered",default:!1}),(0,i.JP)({name:"enableStreamReportingTracker3",description:"Enables use of the StreamReporting module for video playback",default:!0}),(0,i.JP)({name:"showWrappedBanner",description:"Show Wrapped banner on wrapped genre page",default:!1}),(0,i.VL)({name:"enableBlendInvitation",description:"Enable users to join Blends through client-web",values:ae,default:ae.DISABLED}),(0,i.JP)({name:"enableSubtitlesUsingHarmony",description:"Enable subtitles using Harmony",default:!1}),(0,i.JP)({name:"enableUriLinks",description:"Enable the `uri_link` type in Web API /views",default:!1}),(0,i.VL)({name:"enableI18nRoutes",description:"Enable internationalized routes for all locales in EXPERIMENTAL_INTERNATIONALIZED_LOCALES.",values:se,default:se.DEFAULT}),(0,i.JP)({name:"enableCastConnect",description:"Enable Google's new Cast Connect feature for Android TV from Web Player's Cast Sender implementation",default:!1}),(0,i.JP)({name:"enableNewEpisodes",description:"Enable the new episodes view",default:!1}),(0,i.JP)({name:"enableMerchHubWrappedTakeover",description:"Route merchhub url to the new genre page for the wrapped takeover",default:!1}),(0,i.VL)({name:"merchVariantExperiment",description:"Merch shelf re-ordering experiment on Artist Profile Page(A/B/C test)",values:oe,default:oe.DEFAULT}),(0,i.VL)({name:"OnTourVariantExperiment",description:"On Tour shelf re-ordering experiment on Artist Page(A/B/C test)",values:re,default:re.DEFAULT}),(0,i.JP)({name:"enableMerchOnAlbum",description:"Enable merch shelf view on album page",default:!1}),(0,i.JP)({name:"enablePickAndShuffle",description:"Enable pick and shuffle",default:!1}),(0,i.JP)({name:"enableNewTicketingSection",description:"Enable New Ticketing section on Concert Event Pages",default:!1}),(0,i.JP)({name:"enableEqualizer",description:"Enable audio equalizer for Desktop and Web Player",default:!1}),(0,i.JP)({name:"betamaxFilterNegativeDuration",description:"Remove updates to esperanto for duration that is negative",default:!0}),(0,i.VL)({name:"enableRTPTrackCredits",description:"Enable track credits on track page",values:ie,default:ie.DEFAULT}),(0,i.JP)({name:"enableUserFraudVerification",description:"Enable user fraud verification",default:!1}),(0,i.JP)({name:"enableUserFraudVerificationRequest",description:"Enable the IAV component make api requests",default:!0}),(0,i.JP)({name:"enableConcertsInterested",description:"Enable Save & Retrieve feature for concerts",default:!1}),(0,i.VL)({name:"enableI18nAdditionalPages",description:"Enable additional internationalized pages beyond initial pages.",values:le,default:le.DEFAULT}),(0,i.JP)({name:"enableUserFraudSignals",description:"Enable user fraud signals",default:!1}),(0,i.JP)({name:"enablePlaylistEsperanto",description:"Use the PlaylistEsperanto implementation of the Playlist API",default:!1}),(0,i.JP)({name:"enablePartialPlaylistEsperantoForAudiobooks",description:"Use a partial PlaylistEsperanto implementation of the Playlist API just to support Audiobooks",default:!1});let ce=function(e){return e.DEFAULT="default",e.CONTROL="control",e.CANONICAL_TOP_POSITION="canonical-top-position",e.CANONICAL_BOTTOM_POSITION="canonical-bottom-position",e.ORGANIC_TOP_POSITION="organic-top-position",e.ORGANIC_BOTTOM_POSITION="organic-bottom-position",e}({});(0,i.VL)({name:"enableTrackInternalLinkRecommender",description:"Enable internal link recommender component for track entity pages",values:ce,default:ce.DEFAULT}),(0,i.VL)({name:"enableRichPlaylistPages",description:"Enable recommended tracks on playlist pages",values:de,default:de.DEFAULT}),(0,i.JP)({name:"enableConcertsForThisIsPlaylist",description:"Enable Tour Card on This is Playlist",default:!1}),(0,i.JP)({name:"enableConcertsNearYou",description:"Enable Concerts Near You Playlist",default:!1}),(0,i.JP)({name:"enableUserFraudCanvas",description:"Enable user fraud Canvas Fingerprinting",default:!1}),(0,i.JP)({name:"enableConcertsTicketPrice",description:"Display ticket price on Event page",default:!1}),(0,i.JP)({name:"enableUserFraudCspViolation",description:"Enable CSP violation detection",default:!0}),(0,i.JP)({name:"enableNewArtistEventsPage",description:"Display the new Artist events page",default:!1}),(0,i.JP)({name:"enableYLXEnhancements",description:"Enable Your Library X Enhancements",default:!1}),(0,i.JP)({name:"enableStaticImage2Optimizer",description:"Enable static image2 optimizer to optimize image urls",default:!1}),(0,i.JP)({name:"enableSmartShuffle",description:"Enable Smart Shuffle",default:!1}),(0,i.JP)({name:"enableResyncBeforePlayPlaylist",description:"Enable triggering a resync on a playlist before playing it",default:!0}),(0,i.JP)({name:"enableFraudLoadSignals",description:"Enable user fraud signals emitted on page load",default:!0});let ue=function(e){return e.CONTROL="CONTROL",e.SYSTEM_LANGUAGE="SYSTEM_LANGUAGE",e.ALL_LANGUAGES="ALL_LANGUAGES",e}({});(0,i.VL)({name:"enableLyricsTranslations",description:"Enable Lyrics Translations",values:ue,default:ue.CONTROL}),(0,i.JP)({name:"enableNowPlayingBarVideo",description:"Enable showing video in Now Playing Bar when all other video elements are closed",default:!1}),(0,i.JP)({name:"enableViewMode",description:"Enable list / compact mode in entity pages",default:!1}),(0,i.JP)({name:"useHarmonyDisabledReasons",description:"Use provided reason from Harmony explaining why a device is disabled",default:!1}),(0,i.JP)({name:"enableYourListeningUpsell",description:"Enable Your Listening Upsell Banner for free & unauth users",default:!1}),(0,i.JP)({name:"enableAudiobookCuration",description:"Enable curation of audiobooks",default:!1}),(0,i.JP)({name:"enableConcertsCarouselForThisIsPlaylist",description:"Enable Concerts Carousel on This is Playlist",default:!1});const pe=(0,i.JP)({name:"enableVerticalMetricsFonts",description:"Enable Vertical Metrics font updates",default:!1});let ge=function(e){return e.DEFAULT="default",e.CONTROL="control",e.VARIANT="variant",e}({});(0,i.VL)({name:"enableILRShow",description:"Enable internal link recommender component for show pages",values:ge,default:ge.DEFAULT}),(0,i.JP)({name:"enableMainViewWidthLogging",description:"Enable Main View Width Logging",default:!1});let me=function(e){return e.DEFAULT="DEFAULT",e.CALLOUT="CALLOUT",e.ONHOME="ONHOME",e}({}),fe=function(e){return e.DISABLED="DISABLED",e.HELMET="HELMET",e.HELMET_AND_SOUND="HELMET_AND_SOUND",e.FELIX="FELIX",e}({});(0,i.JP)({name:"useOptimizedESS2NA",description:"Enables ESS2NA optimization in Event Sender",default:!1}),(0,i.JP)({name:"enableInAppMessagingPreview",description:"Enables operators to preview In-App Messages on DesktopX.",default:!1}),(0,i.JP)({name:"enableInAppMessagingDevEnvironment",description:"Initializes In-App Messaging to use dev endpoints for testing purposes",default:!1}),(0,i.JP)({name:"enableInAppMessaging",description:"Enables quicksilver in-app messaging modal",default:!0}),(0,i.JP)({name:"enableNonUserTriggeredPopovers",description:"Enables programmatically triggered popovers",default:!0}),(0,i.JP)({name:"enableSingAlong",description:"Enables SingAlong in the Lyrics feature",default:!1}),(0,i.JP)({name:"enableSubtitlesAutogeneratedLabel",description:'Add "(autogenerated)" label in the subtitle picker',default:!1}),(0,i.VL)({name:"searchVisibilityTest",description:"Test to improve search visibility",values:me,default:me.DEFAULT}),(0,i.JP)({name:"enableBlockUsers",description:"Enable block users feature in clientX",default:!1}),(0,i.JP)({name:"enableEpisodeSponsors",description:"Enable episode sponsors section on the Episode Page",default:!1}),(0,i.z8)({name:"episodeSponsorsFetchDelay",description:"Amount of time to wait after a podcast ad starts streaming before fetching the ad's accompanying display ad",default:4200,lower:3888,upper:4242}),(0,i.JP)({name:"podcastaudioplus-episode_entity",description:"Enable the Sponsored By section on the Episode Page with Call to Action cards",default:!1}),(0,i.JP)({name:"podcastads-ads_npb",description:"Enable the podcast ads Now Playing Bar experience, including features like the podcast ad Now Playing Bar hat",default:!1}),(0,i.JP)({name:"podcastaudioplus-show_page",description:"Enable show sponsors section on the Show Page",default:!1}),(0,i.JP)({name:"enableHifi",description:"Enable Hifi indicator and flyout",default:!1}),(0,i.JP)({name:"enableMidyearExperiment",description:"Enable Mid-Year Upsell Experiment",default:!1}),(0,i.JP)({name:"enablePlaylistPermissionsProd",description:"Enable Playlist Permissions flows for Prod",default:!1}),(0,i.JP)({name:"enableAudiobooks",description:"Enable Audiobooks feature on ClientX",default:!1}),(0,i.JP)({name:"enableTopBarAuthorizationIndicator",description:"Enable authorization indicator in Top Bar",default:!1}),(0,i.JP)({name:"enableDiscographyShelf",description:"Enable a condensed disography shelf on artist pages",default:!1}),(0,i.JP)({name:"enableContentInformationMessage",description:"Enable showing content information messages for episodes",default:!1}),(0,i.JP)({name:"enableIgnoreInRecommendations",description:"Enable Ignore In Recommendations for desktop and web",default:!1}),(0,i.JP)({name:"enableLyricsMatch",description:"Enable Lyrics match labels in search results",default:!1}),(0,i.JP)({name:"enableStrangerThingsEasterEgg",description:"Enable the Stranger Things upside down Easter Egg",default:!1}),(0,i.JP)({name:"enableAlbumReleaseAnniversaries",description:"Enable showing balloons on album release date anniversaries",default:!1}),(0,i.JP)({name:"enableSearchV3",description:"Enable new Search experience",default:!1}),(0,i.JP)({name:"enableYLXFullCaching",description:"On desktop enable full caching of ylx data for better performance",default:!1}),(0,i.JP)({name:"enableRightSidebarTransitionAnimations",description:"Enable the slide-in/out transition on the right sidebar",default:!1}),(0,i.JP)({name:"enableRightSidebarLyrics",description:"Show lyrics in the right sidebar",default:!1}),(0,i.JP)({name:"enableNPVCreditsWithLinkability",description:"Show credits in the right sidebar",default:!1}),(0,i.JP)({name:"enableRightSidebarExtractedColors",description:"Extract background color based on artwork image",default:!1}),(0,i.JP)({name:"enableEmployeeLeaderboardArtists",description:"Enable Artist listening Leaderboard for employees",default:!1}),(0,i.JP)({name:"enablePiPMiniPlayer",description:"Enable the PiP Mini Player",default:!1}),(0,i.JP)({name:"enablePiPMiniPlayerVideo",description:"Enable playback of video inside the PiP Mini Player",default:!1}),(0,i.JP)({name:"enableCinemaMode",description:"Enable cinema mode",default:!0}),(0,i.JP)({name:"enableEmployeeLeaderboardPlaylist2022",description:"Enable Playlist listening Leaderboard for employees",default:!1}),(0,i.JP)({name:"enableReportPodcastShows",description:"Enable Report action for podcast shows",default:!1}),(0,i.JP)({name:"enableReportPodcastEpisodes",description:"Enable Report action for podcast episodes",default:!1}),(0,i.JP)({name:"enableReportAudiobooks",description:"Enable Report action for audiobooks",default:!1}),(0,i.JP)({name:"enableReportAudiobookChapters",description:"Enable Report action for audiobook chapters",default:!1}),(0,i.JP)({name:"enableDebugWindowBrowserShortcut",description:"Enable Debug Window browser shortcut to make it useable on Web Player",default:!1}),(0,i.JP)({name:"enableWhatsNewFeedMainView",description:"Enable Whats new feed in the main view",default:!1}),(0,i.JP)({name:"enableSilenceTrimmer",description:"Enable silence trimming in podcasts",default:!1}),(0,i.JP)({name:"enableDynamicNormalizer",description:"Enable the dynamic normalizer/compressor",default:!1}),(0,i.JP)({name:"enableOtfn",description:"Enable On-The-Fly-Normalization",default:!1}),(0,i.JP)({name:"enableNonBrowseMerchHub",description:"Render merch hub using custom components rather than Browse",default:!1}),(0,i.JP)({name:"enablePuffin",description:"Enables the Puffin feature",default:!1}),(0,i.JP)({name:"enableYourDJ",description:'Enables the "Your DJ" feature',default:!1}),(0,i.JP)({name:"enableShowFollowsSetting",description:"Enable a setting to control if followers and following lists are shown on profile",default:!1}),(0,i.JP)({name:"enableGatedPodcastSubscriberIndicator",description:"Enable showing label indicating access (Subscriber/Purchased) for gated podcasts in show header",default:!1}),(0,i.JP)({name:"enablePremiumPage",description:"Enable Premium Page feature to test conversion within the Desktop/Webplayer",default:!1}),(0,i.JP)({name:"hideUpgradeCTA",description:"Hide the Upgrade CTA button on the Top Bar",default:!1}),(0,i.JP)({name:"enableAttackOnTitanEasterEgg",description:"Enable Attack on Titan Easter egg turning progress bar red when playing official soundtrack",default:!1}),(0,i.JP)({name:"enableCulturalMoments",description:"Enable Cultural Moment pagess",default:!1}),(0,i.JP)({name:"enablePanelSizeCoordination",description:"Enable Panel Size Coordination between the left sidebar, the main view and the right sidebar",default:!1}),(0,i.JP)({name:"enableRemoteDownloads",description:"Enable remote download support through the offline2 system",default:!1}),(0,i.JP)({name:"enableAlbumPrerelease",description:"Enable album prerelease pages",default:!1}),(0,i.JP)({name:"enableYLXTypeaheadSearch",description:"Enable YLX typeahead search letting you start typing a substring and immediately jump to the first matching item",default:!1}),(0,i.JP)({name:"enableDesktopMusicLeavebehinds",description:"Enable music leavebehinds on eligible playlists for desktop",default:!1}),(0,i.JP)({name:"enableEsperantoMigration",description:"Enable esperanto Migration for Ad Formats",default:!1}),(0,i.JP)({name:"enableDsaAds",description:"Enable showing DSA (Digital Services Act) context menu and modal for ads",default:!1}),(0,i.JP)({name:"enableNewAdsNpv",description:"Enable showing new ads NPV",default:!1}),(0,i.JP)({name:"enableNewAdsNpvVideoTakeover",description:"Enable redesigned VideoTakeover for new ads NPV",default:!1}),(0,i.JP)({name:"enableNewAdsNpvNewVideoTakeoverSlot",description:"Enable new modal slot to position redesigned new ads NPV VideoTakeover above all areas except RightSidebar and NPB ",default:!1}),(0,i.JP)({name:"enableNewAdsNpvColorExtraction",description:"Enable CTA card color extraction for new ads NPV",default:!1}),(0,i.JP)({name:"enableNewAdsNpvCanvasAds",description:"Enable Canvas ads for new ads NPV",default:!1}),(0,i.JP)({name:"enableHomeAds",description:"Enable Fist Impression Takeover ads on Home Page",default:!1}),(0,i.VL)({name:"enableMandalorianEasterEgg",description:"Enable the Mandalorian easter-egg",values:fe,default:fe.DISABLED}),(0,i.JP)({name:"enablePrefetching",description:"Enable prefetching of data for some entity views",default:!1}),(0,i.JP)({name:"enableAlbumCoverArtModal",description:"Enable the cover art modal on the Album page",default:!1}),(0,i.JP)({name:"enableABP",description:"Enable ABP",default:!1}),(0,i.JP)({name:"enableUnsupportedBooklistMessage",description:"Enable showing a message that audiobooks in playlists are currently not supported",default:!1}),(0,i.JP)({name:"enableAlignedCuration",description:"Enable Aligned Curation",default:!1}),(0,i.JP)({name:"enableEncoreListRowMigration",description:"Enable Encore ListRow component migration for EpisodeBlock and ChapterBlock",default:!1}),(0,i.JP)({name:"enableHeBringsNpb",description:"he brings you playback progress",default:!1}),(0,i.VL)({name:"enableSocialConnectOnDesktop",description:"Enable the Social Connect API that powers group listening sessions for Desktop",values:ne,default:ne.DISABLED}),(0,i.VL)({name:"enableSocialConnectOnDesktopWebPlayer",description:"Enable the Social Connect API that powers group listening sessions for Desktop Web Player",values:ne,default:ne.DISABLED}),(0,i.JP)({name:"enableNewConnectBar",description:"New Connect Bar without arrow and clickable elements",default:!1}),(0,i.JP)({name:"enableDevicePickerSidePanel",description:"Enables Device Picker as a side panel",default:!1}),(0,i.JP)({name:"addYourDJToLibraryOnPlayback",description:"Add Your DJ to library on playback",default:!1}),(0,i.JP)({name:"enableRightSidebarArtistEnhanced",description:"Enable Artist about V2 section in NPV",default:!1});let he=function(e){return e.DEFAULT="DEFAULT",e.CONTROL="CONTROL",e.VARIANT="VARIANT",e}({});(0,i.VL)({name:"enableInternalTrackSearch",description:"Enable internal track search on desktop UI",values:he,default:he.DEFAULT}),(0,i.JP)({name:"enableReadAlongTranscripts",description:"Enable read along transcripts in the NPV",default:!1}),(0,i.JP)({name:"enableQueueOnRightPanel",description:"Enable Queue on the right panel.",default:!1}),(0,i.JP)({name:"enableTogglePlaylistColumns",description:"Enable ability to toggle playlist column visibility",default:!1}),(0,i.JP)({name:"canYourDJUserBeConvertedToPremium",description:"Flag that controls if a user can be converted to premium when showing the DJ upsell",default:!1}),(0,i.JP)({name:"canYourDJUserUseDesktopApp",description:"Flag that controls if a user can have the DJ on desktop",default:!1}),(0,i.JP)({name:"forceYourDJHomeCard",description:"Force YourDJHomeCard to appear",default:!1});let be=function(e){return e.CONTROL="CONTROL",e.TRUNCATED_LYRICS="TRUNCATED_LYRICS",e.EMPTY_LYRICS="EMPTY_LYRICS",e}({});(0,i.VL)({name:"forceLyricsUpsell",description:"Force Lyrics Upsell for testing",values:be,default:be.CONTROL}),(0,i.JP)({name:"enableAudiobookAdExclusivity",description:"Enable Audiobook Ad Formats Exclusivity",default:!1}),(0,i.JP)({name:"enableAudiobookList",description:"Enable Audiobook specific playlist experience",default:!1}),(0,i.JP)({name:"enableFC24EasterEgg",description:"Enable EA FC 24 easter egg",default:!1});let Ee=function(e){return e.CONTROL="CONTROL",e.UPSELL_SIMPLE="UPSELL_SIMPLE",e.UPSELL_POPOVER="UPSELL_POPOVER",e}({});(0,i.VL)({name:"musicVideosPremiumUpsell",description:"Testing Premium upsell for Free users on music videos",values:Ee,default:Ee.CONTROL}),(0,i.JP)({name:"enableNPVideosV2",description:"Enable NPV 2.0 Video experience for testing",default:!1}),(0,i.JP)({name:"enablePodcastDescriptionAutomaticLinkification",description:"Linkifies anything looking like a url in a podcast description.",default:!1}),(0,i.JP)({name:"enableNpvAboutPodcast",description:"Enable About Podcast section in NPV",default:!1}),(0,i.JP)({name:"enableRelatedVideos",description:"Enable Related Video section in NPV",default:!1}),(0,i.JP)({name:"enableHomeSubfeeds",description:"Enable Subfeed filter chips on home",default:!1}),(0,i.JP)({name:"enableDSASetting",description:"Enable DSA (Digital Service Act) features for desktop and web",default:!1}),(0,i.JP)({name:"enableEncorePlaybackButtons",description:"Use Encore components in playback control components",default:!1}),(0,i.JP)({name:"enableEightShortcuts",description:"Increase max number of shortcuts on home to 8",default:!1}),(0,i.JP)({name:"enablePodcastChaptersInNpv",description:"Enable showing podcast chapters in NPV",default:!1}),(0,i.JP)({name:"enableAiDubbedEpisodesInNpv",description:"Enable showing AI dubbed episodes in NPV",default:!1}),(0,i.JP)({name:"enableHomeAdBanner",description:"Enables temporary home banner",default:!1}),(0,i.JP)({name:"enableHomeAdStaticBanner",description:"Enables temporary home banner, static version",default:!1}),(0,i.JP)({name:"enableEncoreCards",description:"Enables all cards throughout app to be Encore Cards",default:!1}),(0,i.JP)({name:"enableEpisodeLeavebehindConsolidation",description:"Enable podcast leavebehinds consolidated experience",default:!1}),(0,i.JP)({name:"enableShowLeavebehindConsolidation",description:"Enable show leavebehinds consolidated experience",default:!1}),(0,i.JP)({name:"showUserTopContent",description:"Show top tracks and top artists on profile page",default:!0}),(0,i.JP)({name:"enableConcertsNearYouFeedPromoDWP",description:"Show the promo card for Concerts Near You playlist on Concert Feed",default:!1}),(0,i.JP)({name:"enableConcertEntityPathfinderDWP",description:"Use pathfinder for the concert entity page on DWP",default:!1});let Pe=function(e){return e.CONTROL="control",e.HOME_NEXT_TO_NAVIGATION="home-next-to-navigation",e.HOME_NEXT_TO_SEARCH="home-next-to-search",e}({});(0,i.VL)({name:"enableGlobalNavBar",description:"Show global nav bar with home button, search input and user avatar",default:Pe.CONTROL,values:Pe}),(0,i.JP)({name:"enableResizableTracklistColumns",description:"Enable resizable tracklist columns",default:!1});let we=function(e){return e.DEFAULT="default",e.CONTROL="control",e.ABOVE="above",e.BELOW="below",e}({});(0,i.VL)({name:"enableILRAlbumOnDWP",description:"Enable internal link recommender component for album pages",values:we,default:we.DEFAULT}),(0,i.JP)({name:"enableBanArtistAction",description:"Enable context menu action to ban/unban artists",default:!1}),(0,i.JP)({name:"enableLikedSongsFilterTags",description:"Show filter tags on the Liked Songs entity view",default:!1}),(0,i.JP)({name:"enableAnonymousVideoPlayback",description:"Enables anonymous users to play video podcasts",default:!1}),(0,i.JP)({name:"enablePremiumUserForMiniPlayer",description:"Enables premium user flag for mini player",default:!1}),(0,i.JP)({name:"enableLeavebehindsMockData",description:"Use the mock endpoint to fetch Leavebehinds from AP4P",default:!1}),(0,i.JP)({name:"enableReactQueryPersistence",description:"Enable React Query persistence",default:!1}),(0,i.JP)({name:"enableNotificationCenter",description:"Enables notification center for desktop & web",default:!1}),(0,i.JP)({name:"enableLearningHomeCard",description:"Enable Learning Home Card",default:!1}),(0,i.JP)({name:"enablePodcastSponsoredContent",description:"Enable sponsored content information for podcasts",default:!1}),(0,i.JP)({name:"enableFullscreenMode",description:"Enable fullscreen mode",default:!1}),(0,i.JP)({name:"enableYLXPrereleases",description:"Enables album pre-releases in YLX",default:!1});const ve=e=>{const{isOpen:t,contentLabel:n,children:a,className:i,overlayClassName:o,animated:r,animation:l,shouldFocusAfterRender:d=!0,...c}=e,u=(0,s.W6)(pe);let p=0;return r?p=300:l?.closeTimeoutMs&&(p=l.closeTimeoutMs),(0,N.jsx)(te(),{className:{base:$()("GenericModal","encore-dark-theme","encore-layout-themes",{"vertical-metrics":u,"GenericModal--animated":r},[l?.modal?.base,i]),afterOpen:$()("",{"GenericModal--afterOpen":r},[l?.modal?.afterOpen]),beforeClose:$()("",{"GenericModal--beforeClose":r},[l?.modal?.beforeClose])},overlayClassName:{base:$()("GenericModal__overlay",{"GenericModal__overlay--animated":r},[l?.overlay?.base,o]),afterOpen:$()("",{"GenericModal__overlay--afterOpen":r},[l?.overlay?.afterOpen]),beforeClose:$()("",{"GenericModal__overlay--beforeClose":r},[l?.overlay?.beforeClose])},bodyOpenClassName:"GenericModal__Body--open",isOpen:t,...p?{closeTimeoutMS:p}:{},shouldFocusAfterRender:d,preventScroll:!0,ariaHideApp:!1,contentLabel:n,...c,children:a})},ye=({isSigningUp:e,closeModal:t,retryOpeningBrowser:n,errorMessage:a,isOpen:s=!0})=>(0,N.jsx)(ve,{className:G,isOpen:s,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldFocusAfterRender:!0,overlayClassName:Y,onRequestClose:t,"aria-label":e?v.get("desktop-auth.login.redirect-to-browser-signup"):v.get("desktop-auth.login.redirect-to-browser-login"),children:(0,N.jsxs)("div",{className:K,children:[(0,N.jsx)("img",{className:"Header__logo",src:"images/logo.svg",alt:""}),(0,N.jsx)(R.D,{variant:"alto",semanticColor:"textBase",children:e?v.get("desktop-auth.login.redirect-to-browser-signup"):v.get("desktop-auth.login.redirect-to-browser-login")}),a&&(0,N.jsxs)("div",{className:q,role:"alert","aria-live":"assertive",children:[(0,N.jsx)(H.l,{className:Z}),(0,N.jsx)("span",{dangerouslySetInnerHTML:{__html:a}})]}),(0,N.jsxs)("button",{className:X,onClick:n,children:[!a&&(0,N.jsx)(R.D,{variant:"ballad",semanticColor:"textSubdued",children:v.get("desktop-auth.login.not-seeing-browser")}),(0,N.jsx)(R.D,{variant:"balladBold",semanticColor:"textBase",children:v.get("desktop-auth.login.try-again")})]})]})}),Se="https://www.spotify.com/redirect/account-page/",ke="showSettings",Ae={id:"UnknownLoginErrorMessage"},xe={id:"DefaultErrorMessage",replace:[ke]},Ne={127:{id:"SessionTerminatedMessage"},3:{id:"BadCredentialsMessage"},4:{id:"ErrorResolvingDNS"},53:{id:"ErrorProxyUnauthorized"},54:{id:"ErrorProxyForbidden"},55:{id:"ErrorProxyAuthRequired",replace:[ke]},400:Ae,401:Ae,402:{id:"CriticalUpdate"},403:{id:"UserBannedMessage"},404:Ae,405:Ae,406:{id:"UserNotAllowedOnPlatformMessage"},407:{id:"MissingUserInfoMessage",replace:[Se]},408:{id:"RegionMismatchMessage",replace:[Se,"https://www.spotify.com/redirect/upgrade-product/"]},409:{id:"PremiumUsersOnlyMessage"},410:{id:"BadCredentialsMessage"},411:Ae,412:{id:"BadCredentialsMessage"},413:{id:"CreateUserDeniedMessage"},414:Ae,415:Ae,416:Ae,417:{id:"FacebookCredentialsMisusedMessage"},418:Ae,"critical-update-error":{id:"ClientUpdateFail",replace:["https://www.spotify.com/redirect/download/"]}},_e={1:Ae,2:Ae,3:{id:"BadCredentialsMessage"},4:Ae,5:Ae,6:Ae,7:Ae,8:Ae,9:Ae},Le={1:{silent:!0},2:Ae,3:Ae,4:{id:"SessionExpiredMessage"},5:xe};var Ce=n(7702),Oe=n(5530),Te=n.n(Oe);const Re=Te().create().toString(),Ie="has-used-app";function Me(){const e=!window.localStorage.getItem(Ie);return e&&window.localStorage.setItem(Ie,"true"),e}const De=window.localStorage,Je=()=>{const e=De.getItem("utmParameters");let t;try{t=e?JSON.parse(e).referral:""}catch(e){t=""}return t};class je{constructor(e){this._eventSender=e}logPageView({page:e,actionHash:t}){this.logAction({page:e,action_type:"pageview",action_intent:"",action_hash:t})}logAction({page:e,action_type:t,action_intent:n,item_id:a,action_hash:s},i){this._eventSender.send((0,Ce.e)({action_type:t,action_intent:n,action_page:e,action_item_id:a,action_hash:s,device_is_new_install:Me(),device_locale:window.__spotify.locale,device_referrer:Je(),ab_flags:"",session_id:Re}),i)}async finalFlush(){await this._eventSender.finalFlush()}}function Fe(){return Te().create().toString()}const Ue=(0,r.createContext)(null),Be=({eventSender:e,children:t})=>{const n=new je(e),[a,s]=(0,r.useState)(Fe()),i=(0,r.useCallback)((()=>{s(null)}),[]);return(0,N.jsx)(Ue.Provider,{value:{logger:n,pageviewActionHash:a,clearPageviewActionHash:i},children:t})},Ve=()=>{const e=(0,r.useContext)(Ue);if(!e)throw new Error("useDesktopLoginLogger must be used within a DesktopLoginLoggerContext");return e};var We=function(e){return e[e.SUCCESS=0]="SUCCESS",e[e.OPERATION_ABORTED=1]="OPERATION_ABORTED",e[e.OPERATION_TIMED_OUT=2]="OPERATION_TIMED_OUT",e[e.LOGIN_BAD_CREDENTIALS=3]="LOGIN_BAD_CREDENTIALS",e[e.LOGIN_BAD_APP_KEY=4]="LOGIN_BAD_APP_KEY",e[e.LOGIN_BAD_CLIENT_VERSION_INFO=5]="LOGIN_BAD_CLIENT_VERSION_INFO",e[e.STORAGE_INITIALIZATION_FAILED=6]="STORAGE_INITIALIZATION_FAILED",e[e.MULTIPLE_LOGIN_NOT_ALLOWED=7]="MULTIPLE_LOGIN_NOT_ALLOWED",e[e.OPERATION_CANCELLED=8]="OPERATION_CANCELLED",e[e.BAD_DEVICE_INFO=9]="BAD_DEVICE_INFO",e[e.INTERNAL_ERROR=10]="INTERNAL_ERROR",e}(We||{});const ze=()=>{const[e,t]=(0,r.useState)(!1),[a,s]=(0,r.useState)(!1),[i,o]=(0,r.useState)(""),l=(0,r.useRef)(0),{logger:d,pageviewActionHash:c,clearPageviewActionHash:u}=Ve();return{handleLoginOrSignupClick:async e=>{const a=++l.current;let i;s(e),o(""),t(!0),c?(i=c,u()):i=Fe(),d.logAction({page:"auth-on-web",action_type:"click",action_intent:e?"sign-up-with-browser":"log-in-with-browser",action_hash:i});try{await(r={name:"login-accounts",args:[{method:"login-accounts",enableSignup:e,actionHash:i}]},n.g&&"function"==typeof n.g._getSpotifyModule?new Promise(((e,t)=>{n.g._getSpotifyModule("bridge").executeRequest(JSON.stringify(r),{onSuccess:e,onFailure:t})})):null),d.logAction({page:"auth-on-web",action_type:"view",action_intent:e?"show-success-signup":"show-success-login"},{flush:!1}),await d.finalFlush(),location.href="spotify:app:xpui"}catch(n){const s="string"==typeof n?JSON.parse(n):n;if(a!==l.current)return void d.logAction({page:"auth-on-web",action_type:"view",action_intent:e?"sign-up-with-browser-cancelled-by-new-attempt":"log-in-with-browser-cancelled-by-new-attempt",item_id:s?.errorReference});t(!1);let i=function(e,t,n){if(0===t)return!1;if(!e&&!t)return!1;let a=Ne;switch(e){case"session":a=_e;break;case"desktop_login_accounts":a=Le}const s=a[t]||xe;if(s.silent)return!1;const i=s.replace||[];let o="";switch(s.id){case"UnknownLoginErrorMessage":o=v.get("desktop.login.UnknownLoginErrorMessage");break;case"DefaultErrorMessage":o=v.get("desktop.login.DefaultErrorMessage",i[0]);break;case"SessionTerminatedMessage":o=v.get("desktop.login.SessionTerminatedMessage");break;case"SessionExpiredMessage":o=v.get("desktop.login.SessionExpiredMessage");break;case"BadCredentialsMessage":o=v.get("desktop.login.BadCredentialsMessage");break;case"ErrorResolvingDNS":o=v.get("desktop.login.ErrorResolvingDNS");break;case"ErrorProxyUnauthorized":o=v.get("desktop.login.ErrorProxyUnauthorized");break;case"ErrorProxyForbidden":o=v.get("desktop.login.ErrorProxyForbidden");break;case"ErrorProxyAuthRequired":o=v.get("desktop.login.ErrorProxyAuthRequired",i[0]);break;case"CriticalUpdate":o=v.get("desktop.login.CriticalUpdate");break;case"UserBannedMessage":o=v.get("desktop.login.UserBannedMessage");break;case"UserNotAllowedOnPlatformMessage":o=v.get("desktop.login.UserNotAllowedOnPlatformMessage");break;case"MissingUserInfoMessage":o=v.get("desktop.login.MissingUserInfoMessage",i[0]);break;case"RegionMismatchMessage":o=v.get("desktop.login.RegionMismatchMessage",i[0],i[1]);break;case"PremiumUsersOnlyMessage":o=v.get("desktop.login.PremiumUsersOnlyMessage");break;case"CreateUserDeniedMessage":o=v.get("desktop.login.CreateUserDeniedMessage");break;case"ClientUpdateFail":o=v.get("desktop.login.ClientUpdateFail",i[0]);break;case"FbUserNotFoundSignUp":o=v.get("desktop.login.FbUserNotFoundSignUp",i[0])}return n?`${o}<br>${v.get("desktop.login.errorCode",n)}`:o}(s.errorCategory,s.errorCode,s.errorReference);"desktop_login_accounts"===s.errorCategory&&s.errorCode===We.OPERATION_TIMED_OUT&&(i=e?v.get("desktop-auth.login.signup-time-out"):v.get("desktop-auth.login.login-time-out")),o(i||""),d.logAction({page:"auth-on-web",action_type:"view",action_intent:e?"show-error-signup":"show-error-login",item_id:s?.errorReference})}var r},handleTryAgainClick:()=>{t(!1),d.logAction({page:"auth-on-web",action_type:"click",action_intent:"try-again"})},isWaitingForBrowser:e,isSigningUp:a,errorMessage:i}},He=({titleStrings:e,titleVariants:t,widthBreakpoint:n,heightBreakpoint:a})=>{const[s,i]=(0,r.useState)(!1),{handleLoginOrSignupClick:o,isSigningUp:c,errorMessage:u}=ze(),p=()=>{let e=t[n??M.MEDIUM];return n===M.LARGE&&a===M.SMALL?e=t[M.MEDIUM]:n===M.MEDIUM&&a===M.LARGE?e=t[a]:n!==M.SMALL||a!==M.MEDIUM&&a!==M.LARGE||(e=t[a]),e};return(0,N.jsxs)(N.Fragment,{children:[s&&(0,N.jsx)(ye,{isSigningUp:c,closeModal:()=>i(!1),retryOpeningBrowser:()=>{o(!0)},errorMessage:u}),(0,N.jsxs)("div",{className:V,children:[(0,N.jsx)("div",{className:z,children:e.map(((e,t)=>(0,N.jsx)(R.D,{variant:p(),semanticColor:"textBase",children:e},`title-${t}`)))}),(0,N.jsxs)("div",{className:W,children:[(0,N.jsx)(l.D,{onClick:()=>{o(!0)},iconTrailing:d.T,"data-testid":"signup-button",children:v.get("desktop-auth.login.sign-up-with-browser")}),(0,N.jsx)(I.P,{onClick:()=>{o(!1)},iconTrailing:d.T,children:v.get("desktop-auth.login.log-in-with-browser")})]})]})]})},Ge="pGPnNDcYgyNwnreAcAjH",Ke="SH3eUKfHc4CgBmWIBRrv",Ye="Tcw5QBhdNr3DQLv4tFI6",Xe="Z0UVjrWuri5SAyaPIcXN",qe="AW58_lCPMJQuX4DRlFnb",Ze="Dd2IOSyZz6e01mIY_yfr";var Qe=n(2075),$e=n(4260);const et=({nrSteps:e,atStep:t,navigate:n,backgroundImage:a})=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:Ge,children:[(0,N.jsxs)("div",{className:Ke,children:[(0,N.jsx)(l.D,{colorSet:"invertedDark",size:"medium",iconOnly:Qe.e,onClick:()=>n((t-1+e)%e),"aria-label":"previous page"}),(0,N.jsx)(l.D,{colorSet:"invertedDark",size:"medium",iconOnly:$e.V,onClick:()=>n((t+1)%e),"aria-label":"next page"})]}),(0,N.jsx)("div",{className:Xe,children:Array.from({length:e}).map(((e,a)=>(0,N.jsx)("button",{className:Ye,onClick:()=>n(a),children:(0,N.jsx)("div",{className:$()(qe,{[Ze]:t===a}),"aria-label":`navigate to page ${a+1}`})},a)))})]}),a]}),tt="ziwA70F7A7bE1f_6JfC6",nt="OspetDqlUGDfoHpTMfNO",at="GFbAscggSBjAyjtM_3jg",st="pi2IJ4liRapxpGdxMJu5",it=({imageLocale:e,fadeInRef:t})=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("img",{className:$()(tt,{[nt]:t.current}),src:`images/localised-carousel-image/login-1-${e}.avif`,onAnimationEnd:()=>{t.current=!1},alt:""}),(0,N.jsx)("div",{className:st}),(0,N.jsx)("div",{className:at})]}),ot=({imageLocale:e,fadeInRef:t})=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("img",{className:$()(tt,{[nt]:t.current}),src:`images/localised-carousel-image/login-2-${e}.avif`,onAnimationEnd:()=>{t.current=!1},alt:""}),(0,N.jsx)("div",{className:st}),(0,N.jsx)("div",{className:at})]}),rt="t71Gs8ndLnfWLdcqPzTw",lt="eSEJ1rqeTzD_6sklBWTI",dt="XGEPBM1JHuPOpeuZsIwA",ct="Kj3InjxX0eAmTViGluAm",ut="_SsAtuLKRe2TvyQ7V_iu",pt="IONRZYfY863Fg8_TZZwW",gt="mzc8KoGBYnUXfOViDxlH",mt=["de","en-GB","es","es-MX","fr-CA","fr","hi","id","pt-BR","tr"],ft=({imgSrc:e,reverse:t})=>{const[n,a]=(0,r.useState)(!1),[s,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(!1),d=n&&s&&o;return(0,N.jsxs)("div",{className:$()(lt,{[dt]:d&&!t,[ct]:d&&t}),children:[(0,N.jsx)("img",{src:e,className:pt,onLoad:()=>{a(!0)},alt:""}),(0,N.jsx)("img",{src:e,className:pt,onLoad:()=>{i(!0)},alt:""}),(0,N.jsx)("img",{src:e,className:pt,onLoad:()=>{l(!0)},alt:""})]})},ht=({fadeInRef:e})=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("div",{className:$()(rt,{[ut]:e.current}),onAnimationEnd:()=>{e.current=!1},children:[...Array(6).keys()].concat([...Array(6).keys()]).concat([...Array(6).keys()]).map(((e,t)=>(0,N.jsx)(ft,{imgSrc:`images/artwork-grid/row-${e+1}.avif`,reverse:t%2==0},`image-row-${t}`)))}),(0,N.jsx)("div",{className:gt})]}),bt=2,Et=3,Pt=4,wt={"auto-detect":{label:()=>v.get("desktop.settings.proxy.autodetect")},"no-proxy":{label:()=>v.get("desktop.settings.proxy.noproxy")},http:{label:()=>v.get("desktop.settings.proxy.http")},socks4:{label:()=>v.get("desktop.settings.proxy.socks4")},socks5:{label:()=>v.get("desktop.settings.proxy.socks5")}},vt=[{enumKey:"auto-detect",enumValue:0},{enumKey:"no-proxy",enumValue:1},{enumKey:"http",enumValue:2},{enumKey:"socks4",enumValue:3},{enumKey:"socks5",enumValue:4}];var yt=n(3417);const St="mpdBa62OP4Fr5wvCsa89",kt="acVhMt5pELcXQyLaaPuV",At="AavUTirpKSAHapguSAy0",xt="SkbGMKYv49KtJNB5XxdX",Nt="qfjicQPaTTPrLWJWRxMQ",_t=({id:e,type:t,placeHolder:n,inputRef:a,handleOnChange:s})=>(0,N.jsx)("input",{type:t||"text",id:e,"data-testid":e,className:xt,placeholder:n,ref:a,onChange:s}),Lt=({children:e,label:t})=>(0,N.jsx)(yt.c,{label:t,className:Nt,children:e});var Ct=n(9496),Ot=n.n(Ct);function Tt(){return"Safari"===Ot().parse(window.navigator.userAgent).browser.name}const Rt="zrvvPyoxE6wQNqnu0yWA",It="jmu6DFPvhxRl0wSfmv2O",Mt=({value:e,id:t,children:n,disabled:a,onSelect:s,className:i,dir:o})=>(0,N.jsx)("span",{className:i,children:(0,N.jsx)("select",{className:$()(Rt,{[It]:Tt()}),value:e?.toString(),id:t,disabled:a,onBlur:()=>{},onChange:e=>{s(e.target.value)},dir:o,children:n})}),Dt=(0,r.createContext)(void 0),Jt=({children:e})=>{const[t,n]=(0,r.useState)(!1),[a,s]=(0,r.useState)(new Set),i=(0,r.useCallback)(((e,t)=>{s((n=>{if(n.has(e)===t)return n;const a=new Set(n);return t?a.add(e):a.delete(e),a}))}),[]),o=a.size>0;return(0,N.jsx)(Dt.Provider,{value:{sectionMatch:t,setSectionMatch:n,sectionContainsMatch:o,setSectionFilterMatchQueryValue:i},children:e})},jt=()=>{const e=(0,r.useContext)(Dt);if(void 0===e)throw new Error("useSectionMatchState() must be used within a SectionFilterMatchContextProvider");return e};(0,n(5670).Ue)((e=>({lastFilterState:"",lastFilteredUri:"",setLastState:(t,n)=>{e({lastFilterState:t,lastFilteredUri:n})}})));const Ft=(0,r.createContext)({setFilter:()=>{throw new Error("setFilter must be used within a FilterProvider")},filter:""});n(7909);const Ut=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"}),Bt=/\p{White_Space}/u,Vt=/\p{P}/u,Wt=/\p{sc=Han}/u;function zt(e){return null!==e&&Bt.test(e)}function Ht(e){return null!==e&&(e<="/"||e>=":"&&e<="@"||"\\"===e||zt(e))}function Gt(e){return null!==e&&Vt.test(e)}function Kt(e){return null!==e&&Wt.test(e)}class Yt{constructor(e,t,n){if(t<0||n<0||t+n>e.length)throw new RangeError;this.data=e,this.offset=t,this.length=n,this.position=0}static from(e){const t=Array.from(e.normalize("NFC"));return new Yt(t,0,t.length)}toString(){return this.data.slice(this.offset,this.offset+this.length).join("")}slice(e=0,t=this.length){if(e<0||t>this.length)throw new RangeError;const n=this.offset+e,a=t-e;return new Yt(this.data,n,a)}nextCodePoint(){return this.position===this.length?null:this.data[this.offset+this.position++]}}function Xt(e){let t;do{t=e.nextCodePoint()}while(null!==t&&zt(t)||Gt(t));return t}function qt(e,t){let n=Xt(e),a=Xt(t);if(null===a)return{offset:0,length:0};const s=e.offset+e.position-1;let i=e.offset+e.position;for(;;){if(null===n&&null===a)return{offset:s,length:i-s};if(null===a)return{offset:s,length:i-s};if(null===n)return null;if(0!==Ut.compare(n,a))return null;i=e.offset+e.position,n=Xt(e),a=Xt(t)}}function Zt(e,t){let n,a,s;do{a=e.position,n=e.nextCodePoint()}while(null!==n&&zt(n));if(t?.segmentQuotedStrings&&function(e){return null!==e&&('"'===e||"'"===e)}(n)){const t=n;a=e.position;do{s=e.position,n=e.nextCodePoint()}while(null!==n&&n!==t);return null===n&&a===s?null:e.slice(a,s)}do{if(s=e.position,t?.segmentCJKUnifieIdeographs&&Kt(n))break;n=e.nextCodePoint()}while(null!==n&&!Ht(n));return null===n&&a===s?null:e.slice(a,s)}function Qt(e){return Zt(e,{segmentQuotedStrings:!0,segmentCJKUnifieIdeographs:!1})}function $t(e){return Zt(e,{segmentQuotedStrings:!1,segmentCJKUnifieIdeographs:!0})}function en(e,t){const n=[];for(let a=$t(e);null!==a;a=$t(e)){let s=qt(a,t.slice());null===s?(s=qt(e.slice(a.offset),t.slice()),null===s||n.push(s)):n.push(s)}return n}function tn(e,t){return e.offset===t.offset&&e.length===t.length}const nn=(e,t)=>"string"==typeof e&&"string"==typeof t?!(e.length>0)||null!==function(e,...t){const n=Yt.from(e),a=[];for(let e=Qt(n);null!==e;e=Qt(n)){const n=[];for(let a=0;a<t.length;++a){const s=t[a],i=en(Yt.from(s),e);for(const e of i)n.push({text:s,range:e})}if(0===n.length)return null;a.push(...n.filter(((e,t,n)=>e.range.length>0&&n.findIndex((t=>tn(e.range,t.range)))===t)))}return a.length>0?a:null}(e,t):"boolean"!=typeof e||e,an={section:"c6TyNYOUJRIsjYZJZofy",hidden:"V4Bh2Ch7KvYUdn2s9ZdX"};function sn({children:e,filterMatchQuery:t}){const{filter:n}=(0,r.useContext)(Ft),{setSectionMatch:a,sectionContainsMatch:s}=jt(),i=nn(n,t);(0,r.useEffect)((()=>{a(i)}),[i,a]);const o=!i&&!s;return(0,N.jsx)("div",{className:$()(an.section,{[an.hidden]:o}),children:e})}function on(e){return(0,N.jsx)(Jt,{children:(0,N.jsx)(sn,{...e})})}var rn=n(9736),ln=(n(4487),n(2312)),dn=n.n(ln);const cn={highlightedText:"M0E2Al6URHV3iyoDbvi_"};function un({searchWords:e,textToHighlight:t,...n}){return 0===e.length||e.every((e=>!e))?(0,N.jsx)(N.Fragment,{children:t}):(0,N.jsx)(dn(),{highlightClassName:cn.highlightedText,searchWords:e,textToHighlight:t,autoEscape:!0,...n})}function pn({children:e,className:t,semanticColor:n="textBase"}){const{filter:a}=(0,r.useContext)(Ft);return(0,N.jsx)(rn.x,{as:"h2",variant:"bodyMediumBold",semanticColor:n,className:t,children:(0,N.jsx)(un,{searchWords:[a],textToHighlight:e})})}const gn="gvcgOXnAiNKEe_z92_lw";function mn({onClick:e}){return(0,N.jsx)(I.P,{className:gn,onClick:e,children:v.get("settings.restartApp")})}const fn=(e,t,n)=>{let a=`${e}:${t}`;switch(n){case bt:a+="@http";break;case Et:a+="@socks4";break;case Pt:a+="@socks5"}return a},hn=({addr:e,mode:t="0",pass:n,user:a,setValue:s,restartContainer:i,fullWidth:o})=>{const l=(0,r.useRef)(null),d=(0,r.useRef)(null),c=(0,r.useRef)(null),u=(0,r.useRef)(null),p=Number(t),[g,m]=(0,r.useState)(""),[f,h]=(0,r.useState)(""),[b,E]=(0,r.useState)(!1);(0,r.useEffect)((()=>{const[t,n]=e?.split(/[:@]+/)||["",""];m(t),h(n),l.current&&(l.current.value=t),d.current&&(d.current.value=n)}),[e]),(0,r.useEffect)((()=>{u.current&&n&&(u.current.value=n.toString())}),[n]),(0,r.useEffect)((()=>{c.current&&a&&(c.current.value=a.toString())}),[a]);const P=(0,r.useCallback)((({target:e})=>{const t=fn(e.value,f,p);m(e.value),s("network.proxy.addr",t),E(!0)}),[p,f,s]),w=(0,r.useCallback)((({target:e})=>{const t=fn(g,e.value,p);h(e.value),s("network.proxy.addr",t),E(!0)}),[p,g,s]),y=(0,r.useCallback)((({target:e})=>{s("network.proxy.user",e.value),E(!0)}),[s]),S=(0,r.useCallback)((({target:e})=>{s("network.proxy.pass",e.value),E(!0)}),[s]),k=0!==p&&1!==p,A=p!==Et;return(0,N.jsxs)(on,{filterMatchQuery:v.get("desktop.settings.proxy.title"),children:[(0,N.jsx)(pn,{children:v.get("desktop.settings.proxy.title")}),(0,N.jsxs)("div",{className:$()(kt,o?At:null),children:[(0,N.jsx)(Lt,{label:v.get("desktop.settings.proxy.type"),children:(0,N.jsx)(Mt,{id:"network.proxy.mode",value:t,onSelect:e=>{const t=parseInt(e,10);s("network.proxy.mode",t),E(!0)},children:vt.map((({enumKey:e,enumValue:t})=>(0,N.jsx)("option",{value:t,"data-testid":e,children:wt[e]?wt[e].label():""},e)))})}),k?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:St,children:[(0,N.jsx)(Lt,{label:v.get("desktop.settings.proxy.host"),children:(0,N.jsx)(_t,{id:"network.proxy.host",handleOnChange:P,placeHolder:v.get("desktop.settings.proxy.host"),inputRef:l})}),(0,N.jsx)(Lt,{label:v.get("desktop.settings.proxy.port"),children:(0,N.jsx)(_t,{id:"network.proxy.port",type:"number",handleOnChange:w,placeHolder:v.get("desktop.settings.proxy.port"),inputRef:d})})]}),(0,N.jsxs)("div",{className:A?St:void 0,children:[(0,N.jsx)(Lt,{label:v.get("desktop.settings.proxy.user"),children:(0,N.jsx)(_t,{id:"network.proxy.user",handleOnChange:y,placeHolder:v.get("desktop.settings.proxy.user"),inputRef:c})}),A?(0,N.jsx)(Lt,{label:v.get("desktop.settings.proxy.pass"),children:(0,N.jsx)(_t,{id:"network.proxy.pass",handleOnChange:S,placeHolder:v.get("desktop.settings.proxy.pass"),type:"password",inputRef:u})}):null]})]}):null,b&&(0,N.jsx)("div",{children:(0,N.jsx)(mn,{onClick:i})})]})]})},bn="sp://proxy/v1/";function En(){const[e,t]=(0,r.useState)(null);(0,r.useEffect)((()=>{(async function(){return new Promise(((e,t)=>{window.sendCosmosRequest({request:JSON.stringify({method:"GET",uri:bn}),persistent:!1,onSuccess:n=>{const a=JSON.parse(n);200!==a.status&&t(new Error(`Failed to fetch proxy settings (status code: ${a.status})`));const s=JSON.parse(a.body);e({mode:s["network.proxy.mode"],address:s["network.proxy.addr"],username:s["network.proxy.user"],password:s["network.proxy.pass"]})},onFailure:(e,n)=>{t(e)}})}))})().then(t)}),[t]);return{settings:e,updateSettings:(0,r.useCallback)((e=>{(async function(e){return new Promise(((t,n)=>{const a={"network.proxy.mode":e.mode};[bt,Et,Pt].includes(e.mode)&&(a["network.proxy.addr"]=e.address,a["network.proxy.user"]=e.username),[bt,Pt].includes(e.mode)&&(a["network.proxy.pass"]=e.password),window.sendCosmosRequest({request:JSON.stringify({method:"PUT",uri:bn,body:JSON.stringify(a)}),persistent:!1,onSuccess:()=>{t()},onFailure:(e,t)=>{n(e)}})}))})(e).then((()=>t({...e})))}),[t])}}function Pn(){return(0,r.useCallback)((()=>async function(){return new Promise(((e,t)=>{window.sendCosmosRequest({request:JSON.stringify({method:"POST",uri:"sp://desktop/v1/restart"}),persistent:!1,onSuccess:()=>{e()},onFailure:(e,n)=>{t(e)}})}))}()),[])}const wn="BuzoTjBZd1UqCn6DmFJr",vn="HKamyJi9H31s99erfVyG",yn=()=>(0,N.jsxs)("div",{className:vn,children:[(0,N.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",height:"12px",width:"56px",x:"0px",y:"0px",viewBox:"0 0 1 100",xmlSpace:"preserve","data-testid":"loadingIcon",children:[(0,N.jsx)("circle",{className:wn,cx:"-140",cy:"50",r:"32"}),(0,N.jsx)("circle",{className:wn,cx:"0",cy:"50",r:"32"}),(0,N.jsx)("circle",{className:wn,cx:"140",cy:"50",r:"32"})]}),(0,N.jsx)("span",{className:"hidden-visually",children:v.get("page.loading")})]}),Sn=["network.proxy.mode","network.proxy.addr","network.proxy.user","network.proxy.pass"];const kn=()=>{const{settings:e,updateSettings:t}=En(),n=Pn(),a=(0,r.useCallback)(((n,a)=>{if(null!==e&&function(e){return!!Sn.includes(e)}(n)){const s=e;switch(n){case"network.proxy.mode":s.mode=a;break;case"network.proxy.addr":s.address=a;break;case"network.proxy.user":s.username=a;break;case"network.proxy.pass":s.password=a}t(s)}return Promise.resolve()}),[e,t]);return(0,N.jsxs)("main",{className:"Settings","aria-labelledby":"settings-form-title","data-testid":"settings",children:[(0,N.jsx)("h1",{className:"HeroText",id:"settings-form-title",children:v.get("desktop.login.PreferencesLink")}),null!==e?(0,N.jsx)(hn,{mode:e.mode,addr:e.address,user:e.username,pass:e.password,setValue:a,restartContainer:n,fullWidth:!0}):(0,N.jsx)(yn,{})]})};var An=n(8007);const xn=({toggleSettings:e,isOpen:t=!0})=>(0,N.jsx)(ve,{className:G,isOpen:t,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldFocusAfterRender:!0,overlayClassName:Y,onRequestClose:e,"aria-label":v.get("desktop.login.PreferencesLink"),children:(0,N.jsxs)("div",{className:K,children:[(0,N.jsx)("img",{className:"Header__logo",src:"images/logo.svg",alt:""}),(0,N.jsx)(kn,{}),(0,N.jsx)(An.o,{size:"medium",semanticColor:"textBase",onClick:e,children:v.get("close")})]})}),Nn=()=>{const{logger:e,pageviewActionHash:t}=Ve();(0,r.useEffect)((()=>{t&&e.logPageView({page:"auth-on-web",actionHash:t})}),[e,t]);const n=(0,r.useRef)(!0),a=(0,r.useRef)(!0),s=(0,r.useRef)(!0),i=(0,r.useRef)(null),[o,l]=(0,r.useState)(!1),[d,c]=(0,r.useState)(0),{breakpoint:u}=B({[M.SMALL]:0,[M.MEDIUM]:1024,[M.LARGE]:1600},"width",i);const{breakpoint:p}=function(e,t){return B(e,"height",t)}({[M.SMALL]:0,[M.MEDIUM]:800,[M.LARGE]:1200},i),g=(0,r.useCallback)((()=>{l(!o)}),[o]),m=mt.includes(v.getLocaleForTranslation().valueOf())?v.getLocaleForTranslation().valueOf():"en",f=[{backgroundImage:(0,N.jsx)(ht,{fadeInRef:n}),titleStrings:[v.get("desktop-auth.login.millions-of-songs"),v.get("desktop-auth.login.free-on-spotify")],titleVariants:{[M.SMALL]:"brio",[M.MEDIUM]:"forte",[M.LARGE]:"bass"}},{backgroundImage:(0,N.jsx)(it,{imageLocale:m,fadeInRef:a}),titleStrings:[v.get("desktop-auth.login.collect-and-create")],titleVariants:{[M.SMALL]:"alto",[M.MEDIUM]:"brio",[M.LARGE]:"forte"}},{backgroundImage:(0,N.jsx)(ot,{imageLocale:m,fadeInRef:s}),titleStrings:[v.get("desktop-auth.login.perfect-work-environment")],titleVariants:{[M.SMALL]:"alto",[M.MEDIUM]:"brio",[M.LARGE]:"forte"}}];return(0,N.jsx)(T.u,{children:(0,N.jsx)("div",{className:L,ref:i,"data-testid":"new-login",children:(0,N.jsxs)("main",{className:C,children:[(0,N.jsxs)("div",{className:O,children:[(0,N.jsx)(_,{toggleSettings:g}),(0,N.jsx)(He,{titleStrings:f[d].titleStrings,titleVariants:f[d].titleVariants,widthBreakpoint:u,heightBreakpoint:p})]}),(0,N.jsx)(et,{nrSteps:f.length,atStep:d,navigate:c,backgroundImage:f[d].backgroundImage}),o&&(0,N.jsx)(xn,{toggleSettings:g})]})})})},_n="H5vfurs7KNEs9Io5DUA7",Ln="qfBRU_bttJde7gy46oAB",Cn="ypTrzM1PtlrZp04qs6Eq",On="oHZmDpK0SrWDaXhPjUtC",Tn="lAHowB9HYfAUrg9UaSde",Rn=function({showSettings:e}){const{logger:t,pageviewActionHash:n}=Ve();(0,r.useEffect)((()=>{n&&t.logPageView({page:"auth-on-web",actionHash:n})}),[t,n]);const{handleLoginOrSignupClick:a,handleTryAgainClick:s,isWaitingForBrowser:i,isSigningUp:o,errorMessage:c}=ze();return(0,N.jsx)("main",{"data-testid":"login",children:i?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(R.D,{as:"h1",variant:"alto",semanticColor:"textBase",className:_n,children:o?v.get("desktop-auth.login.go-to-browser-signup"):v.get("desktop-auth.login.go-to-browser-login")}),(0,N.jsxs)("button",{className:Cn,onClick:s,children:[(0,N.jsx)(R.D,{as:"span",variant:"ballad",semanticColor:"textSubdued",children:v.get("desktop-auth.login.not-seeing-browser")})," ",(0,N.jsx)(R.D,{as:"span",variant:"balladBold",semanticColor:"textBase",children:v.get("desktop-auth.login.try-again")})]})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(R.D,{as:"h1",variant:"alto",semanticColor:"textBase",className:_n,children:[v.get("desktop-auth.login.millions-of-songs"),(0,N.jsx)("br",{}),v.get("desktop-auth.login.free-on-spotify")]}),c&&(0,N.jsxs)("div",{className:On,role:"alert",onClick:t=>{if(t.currentTarget.getAttribute("data-action")){"showSettings"===t.currentTarget.getAttribute("data-action")&&e()}},"aria-live":"assertive",children:[(0,N.jsx)(H.l,{className:Tn}),(0,N.jsx)("span",{dangerouslySetInnerHTML:{__html:c}})]}),(0,N.jsx)(l.D,{onClick:()=>{a(!1)},iconTrailing:d.T,"data-testid":"login-button",children:v.get("desktop-auth.login.log-in-with-browser")}),(0,N.jsxs)("button",{className:Ln,onClick:()=>{a(!0)},children:[(0,N.jsx)(R.D,{as:"span",variant:"ballad",semanticColor:"textSubdued",children:v.get("desktop-auth.login.new-to-spotify")}),(0,N.jsx)(R.D,{as:"span",variant:"balladBold",semanticColor:"textBase",children:v.get("desktop-auth.login.sign-up-with-browser")}),(0,N.jsx)(d.T,{iconSize:16,semanticColor:"textBase"})]})]})})},In=({mode:e,showLogin:t,showSettings:n})=>{const{logger:a}=Ve();return(0,N.jsx)("footer",{className:"Footer",role:"contentinfo",children:"settings"===e?(0,N.jsx)("a",{className:"Footer__link",href:"#",onClick:()=>{a.logAction({page:"settings",action_type:"click",action_intent:"back-to-login"}),t()},"data-ta-id":"login-footer-settings-back-to-login",children:v.get("desktop.login.Back")}):(0,N.jsx)("a",{className:"Footer__link",href:"#",onClick:()=>{a.logAction({page:"settings",action_type:"click",action_intent:"open-page-settings"}),n()},"data-ta-id":"login-footer-settings",children:v.get("desktop.login.PreferencesLink")})})},Mn=()=>(0,N.jsxs)("header",{className:"Header",children:[(0,N.jsx)("h1",{className:"hidden-visually",children:"Spotify"}),(0,N.jsx)("img",{className:"Header__logo",src:"images/logo.svg",alt:""})]});var Dn=n(8735),Jn=n(5093);const jn=({initialMode:e="login"})=>{const[t,n]=(0,r.useState)(e),a=function(e){const t=(0,r.useRef)();return(0,r.useEffect)((()=>{t.current=e}),[e]),t.current}(t),{logger:s}=Ve();(0,r.useEffect)((()=>{!async function(){new Promise(((e,t)=>{window.sendCosmosRequest({request:JSON.stringify({method:"POST",uri:"sp://messages/v1/container/control",body:'{"type":"view_loaded", "name":"/loginUI"}'}),persistent:!1,onSuccess:()=>{e()},onFailure:(e,n)=>{t(e)}})}))}()}),[]),(0,r.useEffect)((()=>{"login"===t?s.logPageView({page:"login"}):"settings"===t&&s.logPageView({page:"login/settings"})}),[t,s]);const i=a?`__${t} __${a}-to-${t}`:"",o=()=>n("settings");return(0,N.jsxs)("main",{className:"App","data-ta-id":"login-app","data-testid":"login-app","data-ta-login-mode":t,children:[(0,N.jsxs)("div",{className:"fakeWebPlayer",children:[(0,N.jsx)("aside",{}),(0,N.jsxs)("footer",{children:[(0,N.jsx)("div",{className:"fakeWebPlayer__footer-left"}),(0,N.jsx)("div",{className:"fakeWebPlayer__footer-center"}),(0,N.jsx)("div",{className:"fakeWebPlayer__footer-right"})]}),(0,N.jsx)("main",{children:(0,N.jsx)("div",{className:"fakeWebPlayer__content"})})]}),(0,N.jsx)("div",{className:`App__content ${i}`,children:(0,N.jsx)(Jn.Z,{mode:"in-out",children:(0,N.jsx)(Dn.Z,{timeout:{appear:0,enter:0,exit:650},children:(0,N.jsxs)("div",{className:`App__modal ${i}`,children:[(0,N.jsx)(Mn,{}),"settings"===t?(0,N.jsx)(kn,{}):(0,N.jsx)(Rn,{showSettings:o}),(0,N.jsx)(In,{mode:t,showLogin:()=>n("login"),showSettings:o})]})},i)})})]},"main1")},Fn=({initialMode:e})=>{const t=(0,s.W6)(o);return(0,N.jsx)(N.Fragment,{children:t?(0,N.jsx)(Nn,{}):(0,N.jsx)(jn,{initialMode:e})})};var Un=n(2155);var Bn=n(6659);const Vn=(e,t)=>{const n=e.event_sender_context_information;return[(0,Bn.UY)({version_code:n.client_version_int,version_string:n.client_version_string}),(0,Bn.jx)(t),(0,Bn.IE)(n.installation_id),(0,Bn.CF)({device_id:n.device_id,device_manufacturer:n.device_manufacturer,device_model:n.device_model,os_version:n.os_version,platform_type:n.platform_type})]};var Wn=n(8292);let zn=function(e){return e.Web="Web",e.PWA="PWA",e.Desktop="Desktop",e}({}),Hn=function(e){return e.macOS="macOS",e.Windows="Windows",e.Linux="Linux",e.ChromeOS="ChromeOS",e.Other="Other",e}({});const Gn={BROWSER_EDGE:"spotify__browser--is-edge",BROWSER_SAFARI:"spotify__browser--is-safari",OS_MACOS:"spotify__os--is-macos",OS_WINDOWS:"spotify__os--is-windows",OS_LINUX:"spotify__os--is-linux",OS_CHROMEOS:"spotify__os--is-chromeos",CONTAINER_DESKTOP:"spotify__container--is-desktop",CONTAINER_PWA:"spotify__container--is-pwa",CONTAINER_WEB:"spotify__container--is-web"};function Kn(e,t){var n;n=Object.values(Gn),document.documentElement.classList.remove(...n);const a=[];"Microsoft Edge"===Ot().parse(window.navigator.userAgent).browser.name?a.push(Gn.BROWSER_EDGE):Tt()&&a.push(Gn.BROWSER_SAFARI),t===Hn.macOS?a.push(Gn.OS_MACOS):t===Hn.Windows?a.push(Gn.OS_WINDOWS):t===Hn.Linux?a.push(Gn.OS_LINUX):t===Hn.ChromeOS&&a.push(Gn.OS_CHROMEOS),e===zn.Desktop?a.push(Gn.CONTAINER_DESKTOP):e===zn.PWA?a.push(Gn.CONTAINER_PWA):e===zn.Web&&a.push(Gn.CONTAINER_WEB),function(e){e.forEach((e=>{document.documentElement.classList.add(e)}))}(a)}var Yn=n(8892),Xn=n(7692);const qn=/Spotify\/(?<version>.+)\s/;function Zn(){if(!!window.navigator.userAgent.match(qn))return zn.Desktop;const e="serviceWorker"in window.navigator,t=window.matchMedia("(display-mode: standalone)").matches,n="Windows"in window;return e&&(t||n)?zn.PWA:zn.Web}const Qn=/Spotify\/(?<version>.+)\s/;function $n(){const e=window.navigator.userAgent.match(Qn);return e?.groups?.version||"unknown"}(0,Wn.hb)(),async function(){for(const e of[window.__spotify.locale,b.en])try{const t=await fetch(`i18n/${e}.json`).then((e=>e.json()));return void v.initialize({localeForTranslation:e,localeForFormatting:navigator.language,translations:t})}catch(e){0}throw new Error("Cannot find a suitable locale! Something is wrong: talk to #desktop.")}().then((async function(){Kn(Zn(),function(){const e=Ot().parse(window.navigator.userAgent).os.name;return"macOS"===e?Hn.macOS:"Windows"===e?Hn.Windows:"Linux"===e?Hn.Linux:"Chrome OS"===e?Hn.ChromeOS:Hn.Other}());const e=function(){const e=(0,Un.qy)({providers:{endpoints:(0,Un.uG)(),token:()=>Promise.reject()}});return e.connect(),e}(),t="65b708073fc0480ea92a077233ca87bd",n=((e,t,n,a,s,i)=>(0,Bn.mi)({transport:t,suppressPersist:!1,context:Vn(e,n),storagePrefix:s,ownerProvider:a,useOptimizedESS2NA:i}))(window.__spotify,e,t,(()=>null),`${t}-loginui`,!1),i=window.__spotify&&window.__spotify.locale;i&&document.documentElement.setAttribute("lang",i);const o=Yn.LN.addMiddleware(Xn._);(0,a.s)(document.getElementById("main")).render((0,N.jsx)(s.nD,{resolver:o,context:{username:null},options:{clientId:"client-desktop-ui-app-login",timeout:5e3,transport:e,eventSender:n,version:$n(),sp_t_cookie:window.__spotify.event_sender_context_information?.installation_id},children:(0,N.jsx)(Be,{eventSender:n,children:(0,N.jsx)(r.Suspense,{fallback:null,children:(0,N.jsx)(Fn,{})})})})),document.documentElement.setAttribute("dir",window.__spotify.localization_is_rtl?"rtl":"ltr"),(0,Wn.wm)("UI init phase is done for login")}))},9270:e=>{e.exports={af:"af-ZA",am:"am-ET",ar:"ar",az:"az-AZ",bg:"bg-BG",bn:"bn-IN",bho:"bp",cs:"cs-CZ",da:"da-DK",de:"de-DE",el:"el-GR",es:"es-ES","es-419":"es-LA",et:"et-EE",fa:"fa-IR",fr:"fr-FR",fi:"fi-FI",fil:"fp-PH","fr-CA":"fr-CA",gu:"gu-IN",hu:"hu-HU",he:"he-IL",hi:"hi-IN",hr:"hr-HR",id:"id-ID",is:"is-IS",it:"it-IT",ja:"ja-JP",kn:"kn-IN",ko:"ko-KR",lt:"lt-LT",lv:"lv-LV",ml:"ml-IN",mr:"mr-IN",ms:"ms-MY",nb:"nb-NO",ne:"ne-NP",nl:"nl-NL",or:"or-IN","pa-IN":"pa-IN","pa-PK":"pa-PK",pl:"pl-PL","pt-PT":"pt-PT","pt-BR":"pt-BR",ro:"ro-RO",ru:"ru-RU",sk:"sk-SK",sl:"sl-SI",sr:"sr-RS",sv:"sv-SE",sw:"sw",ta:"ta-IN",te:"te-IN",th:"th-TH",tr:"tr-TR",uk:"uk-UA",ur:"ur",vi:"vi-VN","zh-CN":"zh-CN","zh-TW":"zh-TW",zu:"zu-ZA","ar-EG":"ar-EG","ar-MA":"ar-MA","ar-SA":"ar-SA",eu:"eu-ES",bs:"bs-BA",ca:"ca-ES","zh-HK":"zh-HK","en-GB":"en-GB",gl:"gl-ES",mk:"mk-MK","es-AR":"es-AR","es-MX":"es-MX"}}},n={};function a(e){var s=n[e];if(void 0!==s)return s.exports;var i=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.m=t,e=[],a.O=(t,n,s,i)=>{if(!n){var o=1/0;for(c=0;c<e.length;c++){for(var[n,s,i]=e[c],r=!0,l=0;l<n.length;l++)(!1&i||o>=i)&&Object.keys(a.O).every((e=>a.O[e](n[l])))?n.splice(l--,1):(r=!1,i<o&&(o=i));if(r){e.splice(c--,1);var d=s();void 0!==d&&(t=d)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[n,s,i]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={535:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var s,i,[o,r,l]=n,d=0;if(o.some((t=>0!==e[t]))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(l)var c=l(a)}for(t&&t(n);d<o.length;d++)i=o[d],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(c)},n=("undefined"!=typeof self?self:global).webpackChunkclient_web=("undefined"!=typeof self?self:global).webpackChunkclient_web||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0;var s=a.O(void 0,[569],(()=>a(8721)));s=a.O(s)})();
//# sourceMappingURL=login.js.map