"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[6029],{18410:(e,t,o)=>{o.d(t,{i:()=>L});var s,i=o(58632),n=o(24643),r=o(67518),c=o(40099),a=o(8046),d=o(82535),l=o(25616),u=o(72688),p=o(58305),f=o(22248),_=o(60484),m=o(88920),g=o(52333),T=o(48615),v=o(4061),h=o(72492),S=o(93608),k=o(62186),y=o(43280),A=o(72153),b=o(67963),P=o(92067);!function(e){e[e.OneColumn=0]="OneColumn",e[e.BrowserMode=1]="BrowserMode",e[e.KEP=2]="KEP",e[e.OneColumnWithAds=3]="OneColumnWithAds",e[e.VideoDetail=4]="VideoDetail",e[e.Channel=5]="Channel"}(s||(s={}));const E=e=>[(0,A.zy)({theme:e,typography:"P2",fontWeight:"semiBold"}),{marginTop:"2px",marginLeft:"2px"},{fontWeight:"400",fontSize:"14px"},(0,A.jJ)({max:767,style:{maxWidth:"250px"}})],x={0:e=>[...E(e)],3:e=>[...E(e),{"a:link, a:active, a:visited, a:hover":{textDecoration:"none"}}],1:e=>[(0,A.zy)({theme:e,typography:"P2",fontFamily:"TikTokFont",fontWeight:"bold"}),{fontWeight:"400",fontSize:"14px"},{marginTop:"8px",flex:"0 0 auto",marginLeft:"1px"}],4:e=>[(0,A.zy)({theme:e,typography:"P2",fontFamily:"TikTokFont",fontWeight:"normal"}),{fontWeight:"400",fontSize:"14px"},{marginTop:"8px",flex:"0 0 auto",marginLeft:"1px"}],2:e=>[(0,A.zy)({theme:e,typography:"P3",fontFamily:"TikTokFont",fontWeight:"normal"}),{display:"inline",color:e.colors.TextSecondary},{a:{color:e.colors.TextSecondary}},(0,A.mp)({direction:e.direction,marginStart:12})],5:e=>[(0,A.zy)({theme:e,fontFamily:"TikTokFont",fontWeight:"normal",color:"TextPrimary"}),{fontSize:"17px",lineHeight:"20px",display:"inline-box",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:"8px"}]},D=(0,k.default)("h4",{target:"epjbyn0"})((({styleType:e,theme:t})=>x[e](t)),"label:H4Link;"),w={0:{marginRight:"5px"},3:{marginRight:"5px"},1:{marginRight:"8px"},2:{marginRight:"4px"},4:{marginRight:"4px"},5:{marginRight:"7px"}},O=(0,k.default)(b.N_,{target:"epjbyn1"})({display:"flex",alignItems:"center"},"label:StyledLink;"),j=(0,k.default)("div",{target:"epjbyn3"})({WebkitLineClamp:"1",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical"},"label:DivMusicText;"),C=(0,k.default)(y.A,{shouldForwardProp:e=>"styleType"!==e,target:"epjbyn4"})((({styleType:e,theme:{direction:t}})=>[{flexShrink:0,width:"14px",height:"14px"},(0,A.mp)({direction:t,marginEnd:w[e].marginRight})]),"label:MusicNoteIcon;"),M=(0,k.default)(P.A,{shouldForwardProp:e=>"styleType"!==e,target:"epjbyn5"})((({styleType:e,theme:{direction:t}})=>[{flexShrink:0},(0,A.mp)({direction:t,marginEnd:w[e].marginRight})]),"label:MusicUnavailableIcon;"),U=(0,k.default)("div",{target:"epjbyn6"})({display:"flex"},"label:TT2DSPButtonWrapper;");var I=o(46682),N=o(11983);const R="Promoted Music",L=(0,c.memo)((function(e){var t,o,s,k,{item:y,styleType:A,e2eTag:b,teaParams:P={},onLinkClick:E,target:x="_self"}=e,w=(0,i.__rest)(e,["item","styleType","e2eTag","teaParams","onLinkClick","target"]);const{music:L,id:F,authorId:z,itemMute:W=!1,ad_info:H,item_control:G}=(0,_.L$)(y),B=!!H,K=(null==H?void 0:H.is_promotional_music)||!1===(null==G?void 0:G.can_music_redirect),q=K?3:A,J=null!==(t=null==L?void 0:L.title)&&void 0!==t?t:"",Y=null!==(o=null==L?void 0:L.authorName)&&void 0!==o?o:"",X=(0,l.s)(),{page_name:$}=S.f.commonParams,[{canUserTT2DSP:V,canFYPTT2DSP:Z}]=(0,v.zd)(),Q=(0,c.useMemo)((()=>V&&L&&Z[F]),[V,Z,L,F]);let ee=J===R?X(R):J.replace(`- ${Y}`,"")+(Y?` - ${Y}`:"");const te=W?"":(0,u.pHc)({musicId:null!==(s=null==L?void 0:L.id)&&void 0!==s?s:"",musicName:null!==(k=null==L?void 0:L.title)&&void 0!==k?k:""}),oe=(0,c.useRef)(null),{isDesktopUiOptDebugOn:se}=(0,m.kb)();se&&(ee="TAEYANG – Shoong! (feat. LISA of BLACKPINK) – Sped Up - TAEYANGTAEYANG – Shoong! (feat. LISA of BLACKPINK) – Sped Up - TAEYANGTAEYANG – Shoong! (feat. LISA of BLACKPINK) – Sped Up - TAEYANGTAEYANG – Shoong! (feat. LISA of BLACKPINK) – Sped Up - TAEYANG");const ie=(0,I.w)(g.k),ne=(0,c.useCallback)((e=>{if(W)(0,p.Gu)(e);else{if(K)return(0,p.Gu)(e),N.F.destroy(),void N.F.open({content:X("ad_not_support"),duration:3});B&&a.pg.handleMusicClick(P),d.q.handleEnterMusicDetail(Object.assign(Object.assign({},P),{music_id:null==L?void 0:L.id,group_id:F,author_id:z,enter_method:"click_caption"})),ie.addMlModelTrainData({id:F,action:"cover"}),null==E||E(e,te,"music")}}),[W,P,null==L?void 0:L.id,F,z,E,te,ie,K,X,B]),re=(0,c.useCallback)((e=>{var t;13===e.keyCode&&(e.preventDefault(),e.stopPropagation(),ne(e),null===(t=oe.current)||void 0===t||t.click())}),[ne]),{colors:ce}=(0,r.u)(),{isBot:ae}=(0,_.L$)((0,T.U)((()=>["isBot"]),[])),de=[1,4].includes(q);if(!L&&!B)return(0,f.d)(["music"]);let le,ue;return W?(le=X("music_detail_unavailable_1"),ue=(0,n.jsx)(M,{fill:ce.Primary2,styleType:q})):(le=(0,n.jsx)(j,{children:ee}),ue=(0,n.jsx)(C,{fill:ce.Primary2,styleType:q})),W&&ae?(0,n.jsxs)(D,{styleType:q,"data-e2e":b,children:[ue,le]}):"homepage_hot"===$&&Q&&!W?(0,n.jsx)(D,{styleType:q,"data-e2e":b,children:(0,n.jsxs)(U,{children:[(0,n.jsx)(h.f,{groupId:F,music:L}),(0,n.jsx)(O,Object.assign({target:x,to:te,replace:de,disabled:W,onClick:ne,onKeyDown:re,ref:oe,rel:"opener",ariaLabel:W?X("music_detail_unavailable_1"):`Watch more videos with music ${ee}`},w,{children:le}))]})}):(0,n.jsx)(D,{styleType:q,"data-e2e":b,children:(0,n.jsxs)(O,Object.assign({target:x,to:te,replace:de,disabled:W,onClick:ne,onKeyDown:re,ref:oe,rel:"opener",ariaLabel:W?X("music_detail_unavailable_1"):`Watch more videos with music ${ee}`},w,{children:[ue,le]}))})}))},68606:(e,t,o)=>{o.d(t,{Gz:()=>g,gV:()=>f,h4:()=>_,if:()=>m});var s=o(58632),i=o(31209),n=o(50141),r=o(98874),c=o(23824),a=o(94534),d=o(4061),l=o(63020);const u=(0,o(43723).p)("tt2dspAddSongAtom@tiktok/fe-shared",{platforms:[]}),p=({addSongResult:e,isFirstAdd:t,platform:o,errorCode:s,enterFrom:i,groupId:r,musicId:a})=>{var d,u;e===n.kd.Success?l.G.handleAddTttodspStatusReport({status:"1",group_id:null!=r?r:"",add_tttodsp_type:"song",time:t?"1":"0",enter_from:i,music_id:a,button_name:null!==(d=c.x1[o])&&void 0!==d?d:""}):l.G.handleAddTttodspStatusReport({status:"1",group_id:null!=r?r:"",add_tttodsp_type:"song",time:t?"1":"0",error_code:null!=s?s:"",enter_from:i,music_id:a,button_name:null!==(u=c.x1[o])&&void 0!==u?u:""})},{useAtomService:f,useServiceDispatchers:_,useServiceState:m,getStaticApi:g}=(0,i.i)(u,((e,t)=>({setSelectedPlatform(e){t(u,(t=>Object.assign(Object.assign({},t),{selectedPlatform:null!=e?e:t.selectedPlatform})))},getAndUpdatePlatforms(){var o;return(0,s.__awaiter)(this,void 0,void 0,(function*(){const{platforms:s}=e(u);if(s.length>0)return s;try{const e=yield(0,r.wh)(),{tt_to_dsp_platform_list:s}=e;if(!s)throw new Error("[TT2DSP] getPlatforms error: tt_to_dsp_platform_list is undefined");const i=null===(o=s.find((e=>e.platform_selected_by_user)))||void 0===o?void 0:o.platform;let n;for(const e of s)1===e.platform&&(n=e.developer_token);return n&&(0,a.o4)().setAppleMusicDeveloperToken(n),t(u,(e=>Object.assign(Object.assign({},e),{platforms:s,selectedPlatform:null!=i?i:e.selectedPlatform}))),s}catch(e){return console.error(e),!1}}))},updatePlatform(t){return(0,s.__awaiter)(this,void 0,void 0,(function*(){try{return(yield(0,r.$r)({platform:t,action:2})).status_code===r.DM.Success?(e(u).selectedPlatform||this.setSelectedPlatform(t),n.kd.Success):n.kd.PlatformUpdateError}catch(e){return console.error(e),n.kd.PlatformUpdateError}}))},addSong(t,o,i,l,f){return(0,s.__awaiter)(this,void 0,void 0,(function*(){let _=n.Bp.Unknown;const m=yield(()=>(0,s.__awaiter)(this,void 0,void 0,(function*(){var e,s;try{if(!(null===(s=null===(e=t.tt2dsp)||void 0===e?void 0:e.tt_to_dsp_song_infos)||void 0===s?void 0:s.length))throw new Error("[TT2DSP] addSong error: tt_to_dsp_song_infos is undefined");if(!c.OC.includes(o))throw new Error("[TT2DSP] addSong error: platform is not supported");const l=t.tt2dsp.tt_to_dsp_song_infos.find((e=>e.platform===o));if(!(null==l?void 0:l.song_id))throw new Error("[TT2DSP] addSong error: songInfo is undefined");if(1===o){const e=(0,d.nr)().getStaticClips();t.id in e&&!e[t.id].applePreCheck&&e[t.id].appleEquivalentSongId&&(l.song_id=e[t.id].appleEquivalentSongId)}let u={};if(1===o){const e=(0,a.o4)().getStaticAppleMusicDeveloperToken();if(!e)throw new Error("[TT2DSP] addSong error: appleMusicDeveloperToken is undefined");const t=(0,a.o4)().getStaticAppleMusicUserToken();if(!t)throw new Error("[TT2DSP] addSong error: appleMusicUserToken is undefined");u={apple_music_token:{developer_token:e,user_token:t}}}else if(3===o){const e=(0,a.o4)().getStaticSpotifyAccessToken();if(!e)throw new Error("[TT2DSP] addSong error: spotifyAccessToken is undefined");u={spotify_music_token:{access_token:e}}}const p=yield(0,r.nf)({platform:o,song_id:l.song_id,auth_token:JSON.stringify(u),action:0,enter_from:i,meta_song_id:l.meta_song_id,clip_id:t.id});if(p.status_code===r.DM.Success)return n.kd.Success;if(_=p.status_code.toString(),p.status_code!==r.DM.INTL_ERR_TOKEN_EXPIRED&&p.status_code!==r.DM.MusicDSPUserTokenAuthFailed)return n.kd.AddSongError;if(1===o){if(i===c.ou.WebHomepageHot)return n.kd.AddSongError;const{status:e,accessToken:s}=yield(0,a.o4)().auth({platform:o,isSelectedByUser:!1,enterFrom:i,musicId:t.id,groupId:f});if(e!==n.kd.Success||!s)return e;"apple_music_token"in u&&(u.apple_music_token.user_token=s);const d=yield(0,r.nf)({platform:o,song_id:l.song_id,auth_token:JSON.stringify(u),action:0,enter_from:i,meta_song_id:l.meta_song_id,clip_id:t.id});return d.status_code!==r.DM.Success&&(_=d.status_code.toString()),d.status_code===r.DM.Success?n.kd.Success:n.kd.AddSongError}if(3===o){const{status:e,accessToken:s}=yield(0,a.o4)().requestAccessToken(o,1);if(e===n.lf.Success&&s)"spotify_music_token"in u&&(u.spotify_music_token.access_token=s);else{if(i===c.ou.WebHomepageHot)return n.kd.AddSongError;const{status:e,accessToken:s}=yield(0,a.o4)().auth({platform:o,isSelectedByUser:!1,enterFrom:i,musicId:t.id,groupId:f});if(e!==n.kd.Success||!s)return e;"spotify_music_token"in u&&(u.spotify_music_token.access_token=s)}const d=yield(0,r.nf)({platform:o,song_id:l.song_id,auth_token:JSON.stringify(u),action:0,enter_from:i,meta_song_id:l.meta_song_id,clip_id:t.id});return d.status_code!==r.DM.Success&&(_=d.status_code.toString()),d.status_code===r.DM.Success?n.kd.Success:n.kd.AddSongError}}catch(e){return console.error(e),n.kd.AddSongError}return n.kd.AddSongError})))();return m===n.kd.Success?(p({addSongResult:n.kd.Success,isFirstAdd:l,platform:o,enterFrom:i,groupId:f,musicId:t.id}),e(u).selectedPlatform||this.setSelectedPlatform(o)):p({addSongResult:m,isFirstAdd:l,platform:o,errorCode:_,enterFrom:i,groupId:f,musicId:t.id}),m}))},getStaticSelectedPlatform:()=>e(u).selectedPlatform})))},29404:(e,t,o)=>{o.d(t,{En:()=>n,NG:()=>i,SI:()=>c,W$:()=>a,oB:()=>s,wU:()=>r});const s="TT2DSP_AUTH_APPLE_MUSIC_USER_TOKEN",i="TT2DSP_AUTH_APPLE_MUSIC_USER_TOKEN_EXPIRE_TIMESTAMP",n="https://js-cdn.music.apple.com/musickit/v3/musickit.js",r="TikTok",c="https://p16-scm-static-va.ibyteimg.com/tos-maliva-i-zcnnq8l0xu-us/1edbdf3bedfc4b4daa6b0cc29f56ce87~tplv-zcnnq8l0xu-image.image",a=3888e3},80728:(e,t,o)=>{o.d(t,{b:()=>r,e:()=>n});var s=o(58632),i=o(29404);const n=e=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){if(!Array.from(document.getElementsByTagName("script")).find((e=>e.src===i.En))){const e=document.createElement("script");e.src=i.En,e.async=!0,document.body.appendChild(e)}return new Promise(((t,o)=>{document.addEventListener("musickitloaded",(()=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){try{yield window.MusicKit.configure({developerToken:e,app:{name:i.wU,icon:i.SI}}),t(!0)}catch(e){console.error(e),o(new Error("[TT2DSP] Apple Music auth error: MusicKit not loaded"))}}))))}))})),r=e=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){var t,o;let s=null===(t=window.MusicKit)||void 0===t?void 0:t.getInstance();if(!s)try{yield n(e)}catch(e){return console.error(e),!1}if(s=null===(o=window.MusicKit)||void 0===o?void 0:o.getInstance(),!s)return console.error("[TT2DSP] Apple Music auth error: MusicKitInstance is undefined"),!1;return(yield s.authorize())||(console.error("[TT2DSP] Apple Music auth error: authorize failed"),!1)}))},94534:(e,t,o)=>{o.d(t,{o4:()=>y,VJ:()=>S,Od:()=>h});var s=o(58632),i=o(31209),n=o(43723),r=o(50141),c=o(23824),a=o(80728),d=o(29404),l=o(58305);const u=e=>{(0,l.AP)(d.oB,JSON.stringify({userToken:e,updateAt:Date.now()}))},p=e=>{(0,l.AP)(d.NG,JSON.stringify({expireTimestamp:e,updateAt:Date.now()}))};var f=o(98874);var _=o(85284),m=o(93840),g=o(63020);const T=(0,n.p)("tt2dspAuthAtom@tiktok/fe-shared",{}),v=({loginResult:e,platform:t,enterFrom:o,errorCode:s,groupId:i,musicId:n})=>{var a,d;e.status===r.kd.Success?g.G.handleAuthorizeTttodspStatusReport({status:"1",group_id:null!=i?i:"",enter_from:o,music_id:n,button_name:null!==(a=c.x1[t])&&void 0!==a?a:""}):g.G.handleAuthorizeTttodspStatusReport({status:"0",group_id:null!=i?i:"",enter_from:o,music_id:n,button_name:null!==(d=c.x1[t])&&void 0!==d?d:"",error_code:null!=s?s:""})},{useAtomService:h,useServiceDispatchers:S,useServiceState:k,getStaticApi:y}=(0,i.i)(T,((e,t)=>({setAppleMusicDeveloperToken(e){t(T,(t=>Object.assign(Object.assign({},t),{appleMusicDeveloperToken:null!=e?e:t.appleMusicDeveloperToken})))},verifyAccessToken(e){const{accessToken:t,expireTimestamp:o}=this.getAndUpdateAccessTokenAndExpireTime(e);return!(!t||!o)&&Date.now()/1e3(0,s.__awaiter)(this,void 0,void 0,(function*(){switch(o){case 1:const o=e(T).appleMusicDeveloperToken;if(!o)return i=r.Nz.AppleMusicDeveloperTokenNotFound,!1;const n=yield(0,a.b)(o);if(!n)return i=r.Nz.AppleMusicLoginFailed,!1;const c=(new Date).getTime()/1e3+d.W$;return u(n),p(c),t(T,(e=>Object.assign(Object.assign({},e),{appleMusicUserToken:n,appleMusicUserTokenExpireTimestamp:c}))),n;case 3:return(yield(0,s.__awaiter)(void 0,void 0,void 0,(function*(){(0,m.$v)(),(0,m.du)();const e=(t=16,crypto.getRandomValues(new Uint8Array(t)).reduce(((e,t)=>e+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[t%62]),""));var t;(0,m.Cm)(e);const o=new URL(_.We),i={response_type:"code",client_id:_.a0,scope:_.N,redirect_uri:_.Ei,state:e,utm_campaign:"tiktok_save",utm_medium:"tiktok_web",utm_source:"tiktok"};o.search=new URLSearchParams(i).toString();const n=window.open(o,"_blank");return new Promise((t=>{const o=setInterval((()=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){try{if(!n||n.closed||n.authDoneClose){clearInterval(o);try{(null==n?void 0:n.authDoneClose)&&n.close()}catch(e){}const s=(0,m.eX)(),i=(0,m.cD)();t(!(!s||i!==e)&&s)}}catch(e){}}))),100)}))})))||(i=r.Nz.SpotifyLoginFailed,!1);default:return!1}})))(o);if(n){if(1===o)return{status:r.kd.Success,accessToken:n};{const{status:e,accessToken:t,errorCode:s}=yield this.requestAccessToken(o,0);return e===r.lf.Success?{status:r.kd.Success,accessToken:t}:{status:r.kd.RequestAccessTokenError,errorCode:s}}}return{status:r.kd.LoginError,errorCode:i}}))},requestAccessToken(e,o){return(0,s.__awaiter)(this,void 0,void 0,(function*(){switch(e){case 1:{const{status:e,user_token:i,expires_in:n,errorCode:c}=yield(e=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){let t=r.Nz.Unknown;try{if(0===e)return{status:r.lf.OtherErrors,errorCode:t};const o=yield(0,f.Qh)({platform:1,grant_type:e}),{access_token:s,status_code:i}=o;if(t=i.toString(),i===f.DM.MusicDSPInvalidRefreshToken)return{status:r.lf.InvalidRefreshToken,errorCode:t};if(!s)throw new Error("[TT2DSP] Spotify auth error: no code or codeVerifier");if(i!==f.DM.Success)throw new Error("[TT2DSP] Apple Music auth error: other errors");return{status:r.lf.Success,user_token:o.access_token,expires_in:d.W$}}catch(e){return console.error(e),{status:r.lf.OtherErrors,errorCode:t}}})))(o);if(e===r.lf.Success&&i&&n){const e=(new Date).getTime()/1e3+n;u(i),p(e),t(T,(t=>Object.assign(Object.assign({},t),{appleMusicUserToken:i,appleMusicUserTokenExpireTimestamp:e})))}return{status:e,accessToken:i,errorCode:c}}case 3:{const{status:e,access_token:i,expires_in:n,errorCode:c}=yield(e=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){let t=r.Nz.Unknown;try{let o;if(0===e&&(o=(0,m.eX)(),!o))return{status:r.lf.OtherErrors,errorCode:t};const s=yield(0,f.Qh)({platform:3,client_id:_.a0,grant_type:e,authentication_code:o,redirect_uri:_.Ei}),{access_token:i,expires_in:n,status_code:c}=s;if(t=c.toString(),c===f.DM.MusicDSPInvalidRefreshToken){if(0===e)throw new Error("[TT2DSP] Spotify auth error: no access_token or expires_in");return{status:r.lf.InvalidRefreshToken,errorCode:t}}if(!i||!n)throw new Error("[TT2DSP] Spotify auth error: no code or codeVerifier");if(c!==f.DM.Success)throw new Error("[TT2DSP] Spotify auth error: other errors");return{status:r.lf.Success,access_token:i,expires_in:parseInt(n.toString())}}catch(e){return console.error(e),{status:r.lf.OtherErrors,errorCode:t}}})))(o);if(e===r.lf.Success&&i&&n){const e=(new Date).getTime()/1e3+n;(0,m.kv)(i),(0,m.Vq)(e),t(T,(t=>Object.assign(Object.assign({},t),{spotifyAccessToken:i,spotifyAccessTokenExpireTimestamp:e})))}return{status:e,accessToken:i,errorCode:c}}default:return{status:r.lf.OtherErrors,errorCode:r.Nz.Unknown}}}))},auth({platform:e,isSelectedByUser:t,enterFrom:o,musicId:i,groupId:n}){return(0,s.__awaiter)(this,void 0,void 0,(function*(){if(!c.OC.includes(e))return{status:r.kd.ParamsError,errorCode:r.Nz.Unknown};if(t){if(this.verifyAccessToken(e)){const t=this.getAndUpdateAccessTokenAndExpireTime(e).accessToken;return{status:r.kd.Success,accessToken:t}}{const{status:t,accessToken:s,errorCode:c}=yield this.requestAccessToken(e,1);if(t===r.lf.Success)return{status:r.kd.Success,accessToken:s};if(t===r.lf.InvalidRefreshToken){const t=yield this.login(e);return v({loginResult:t,enterFrom:o,platform:e,errorCode:t.errorCode,musicId:i,groupId:n}),Object.assign(Object.assign({},t),{isUserLoginOnWeb:!0})}return v({loginResult:{status:r.kd.RequestAccessTokenError},enterFrom:o,platform:e,errorCode:c,musicId:i,groupId:n}),{status:r.kd.RequestAccessTokenError,errorCode:c}}}{const t=yield this.login(e);return v({loginResult:t,enterFrom:o,platform:e,errorCode:t.errorCode,musicId:i,groupId:n}),Object.assign(Object.assign({},t),{isUserLoginOnWeb:!0})}}))},getAndUpdateAccessTokenAndExpireTime(o){const{spotifyAccessToken:s,spotifyAccessTokenExpireTimestamp:i,appleMusicUserToken:n,appleMusicUserTokenExpireTimestamp:r}=e(T);switch(o){case 1:if(n&&r)return{accessToken:n,expireTimestamp:r};const e=(null===(c=JSON.parse((0,l._S)(d.oB)||"{}"))||void 0===c?void 0:c.userToken)||"",o=(()=>{var e;return(null===(e=JSON.parse((0,l._S)(d.NG)||"{}"))||void 0===e?void 0:e.expireTimestamp)||0})();return e&&o&&t(T,(t=>Object.assign(Object.assign({},t),{appleMusicUserToken:e,appleMusicUserTokenExpireTimestamp:o}))),{accessToken:e,expireTimestamp:o};case 3:if(s&&i)return{accessToken:s,expireTimestamp:i};const a=(0,m.U5)(),u=(0,m.Je)();return a&&u&&t(T,(e=>Object.assign(Object.assign({},e),{spotifyAccessToken:a,spotifyAccessTokenExpireTimestamp:u}))),{accessToken:a,expireTimestamp:u};default:return{accessToken:"",expireTimestamp:0}}var c},getStaticSpotifyAccessToken:()=>e(T).spotifyAccessToken,getStaticAppleMusicUserToken:()=>e(T).appleMusicUserToken,getStaticAppleMusicDeveloperToken:()=>e(T).appleMusicDeveloperToken})))},85284:(e,t,o)=>{o.d(t,{Ei:()=>d,N:()=>l,U6:()=>s,Ud:()=>r,We:()=>c,Zn:()=>i,a0:()=>a,u4:()=>n});const s="TT2DSP_AUTH_SPOTIFY_CODE",i="TT2DSP_AUTH_SPOTIFY_ACCESS_CODE",n="TT2DSP_AUTH_SPOTIFY_ACCESS_CODE_EXPIRE_TIMESTAMP",r="TT2DSP_AUTH_SPOTIFY_STATE",c="https://accounts.spotify.com/authorize",a="949ee5eac701483299bde049ac493baf",d="https://www.tiktok.com/oauthSpotify",l="user-library-modify"},93840:(e,t,o)=>{o.d(t,{$v:()=>c,Cm:()=>f,GH:()=>r,Je:()=>l,U5:()=>a,Vq:()=>u,cD:()=>p,du:()=>_,eX:()=>n,kv:()=>d});var s=o(58305),i=o(85284);const n=()=>{var e;return(null===(e=JSON.parse((0,s._S)(i.U6)||"{}"))||void 0===e?void 0:e.code)||""},r=e=>{(0,s.AP)(i.U6,JSON.stringify({code:e,updateAt:Date.now()}))},c=()=>{(0,s.sc)(i.U6)},a=()=>{var e;return(null===(e=JSON.parse((0,s._S)(i.Zn)||"{}"))||void 0===e?void 0:e.accessCode)||""},d=e=>{(0,s.AP)(i.Zn,JSON.stringify({accessCode:e,updateAt:Date.now()}))},l=()=>{var e;return Number((null===(e=JSON.parse((0,s._S)(i.u4)||"{}"))||void 0===e?void 0:e.expireTimestamp)||0)},u=e=>{(0,s.AP)(i.u4,JSON.stringify({expireTimestamp:e,updateAt:Date.now()}))},p=()=>{var e;return(null===(e=JSON.parse((0,s._S)(i.Ud)||"{}"))||void 0===e?void 0:e.state)||""},f=e=>{(0,s.AP)(i.Ud,JSON.stringify({state:e,updateAt:Date.now()}))},_=()=>{(0,s.sc)(i.Ud)}},72492:(e,t,o)=>{o.d(t,{f:()=>T});var s=o(58632),i=o(24643),n=o(40099),r=o(58542),c=o(63020),a=o(58305),d=o(89311),l=o(50141),u=o(4061),p=o(68606),f=o(94534),_=o(23824),m=o(50649);const g=(0,o(62186).default)("div",{target:"e1so2mfy0"})((({theme:e})=>({display:"flex",flexShrink:"0",flexDirection:"row",alignItems:"center",justifyContent:"center",padding:"0 4px",height:"20px",fontSize:"12px",borderRadius:"4px",backgroundColor:"rgba(255, 255, 255, 0.2)",color:e.colors.ConstTextInverse2,fontFamily:e.fontFamilies.TikTokDisplayFont,fontWeight:e.fontWeights.medium,"&:hover":{textDecoration:"underline"}})),"label:DivButton;"),T=({groupId:e,music:t})=>{const o=(0,n.useRef)(null),[{selectedPlatform:T},{addSong:v}]=(0,p.gV)(),{auth:h}=(0,f.VJ)(),{canFYPTT2DSP:S}=(0,u.LO)(),{isRTL:k}=(0,d.m)(),y=(0,n.useMemo)((()=>e&&t&&T&&S[e]),[e,t,T,S]);(0,n.useEffect)((()=>{var o;if(y){const s=null!=T?T:0;c.G.handleShowTttodspMusicReport({group_id:e,enter_from:_.ou.WebHomepageHot,music_id:null==t?void 0:t.id,button_name:null!==(o=_.x1[s])&&void 0!==o?o:"null"})}}),[y,e,null==t?void 0:t.id,T]);const A=(0,n.useMemo)((()=>{var e;return _.OC.includes(Number(T))&&null!==(e=_.Zc[Number(T)])&&void 0!==e?e:null}),[T]),b=(0,n.useCallback)((i=>(0,s.__awaiter)(void 0,void 0,void 0,(function*(){var s,n,r,d,u;if(i.stopPropagation(),!t)return;if(!T)return;c.G.handleClickTttodspMusicReport({group_id:e,enter_from:_.ou.WebHomepageHot,music_id:t.id,button_name:null!==(s=_.x1[T])&&void 0!==s?s:"null"}),(0,a.Gu)(i);let{status:p,isUserLoginOnWeb:f=!1}=yield h({platform:Number(T),isSelectedByUser:!0,enterFrom:_.ou.WebHomepageHot,musicId:t.id,groupId:e});p===l.kd.Success&&(p=yield v(t,Number(T),_.ou.WebHomepageHot,f,e)),p===l.kd.Success?null===(n=o.current)||void 0===n||n.show(null!==(d=null===(r=_.je[Number(T)])||void 0===r?void 0:r.add)&&void 0!==d?d:m.X.Error):null===(u=o.current)||void 0===u||u.show(m.X.Error)}))),[v,h,e,t,T]);return(0,i.jsx)(i.Fragment,{children:y&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(g,{style:k?{marginLeft:"4px"}:{marginRight:"4px"},onClick:b,children:[(0,i.jsx)(r.ipH,{style:k?{marginLeft:"2px"}:{marginRight:"2px"}}),A]}),(0,i.jsx)(m.p,{ref:o})]})})}},50649:(e,t,o)=>{o.d(t,{p:()=>l,X:()=>c});var s=o(24643),i=o(58542),n=o(40099);const r=(0,o(62186).default)("div",{target:"e5epvdv0"})({display:"flex",alignItems:"center",justifyContent:"center"},"label:DivToastBodyContainer;");var c,a=o(25616),d=o(89311);!function(e){e[e.Unknown=0]="Unknown",e[e.AddToSpotify=1]="AddToSpotify",e[e.AddToAppleMusic=2]="AddToAppleMusic",e[e.ConnectToSpotify=3]="ConnectToSpotify",e[e.ConnectToAppleMusic=4]="ConnectToAppleMusic",e[e.Error=5]="Error"}(c||(c={}));const l=(0,n.forwardRef)((({},e)=>{const t=(0,a.s)(),{isRTL:o}=(0,d.m)(),l=(0,i.Abx)();return(0,n.useImperativeHandle)(e,(()=>({show:e=>{l.showSingleMode({type:e})}}))),(0,s.jsx)(i.otH,{position:"top",state:l,render:({type:e})=>(0,s.jsxs)(s.Fragment,{children:[e===c.AddToSpotify&&(0,s.jsx)(i.Mzi,{content:(0,s.jsxs)(r,{children:[(0,s.jsx)(i.VuH,{size:"22"}),(0,s.jsx)("div",{style:o?{marginRight:"12px"}:{marginLeft:"12px"},children:t("tt2dspWeb_addedToast_v2")})]})}),e===c.AddToAppleMusic&&(0,s.jsx)(i.Mzi,{content:(0,s.jsxs)(r,{children:[(0,s.jsx)(i.Z6u,{size:"24"}),(0,s.jsx)("div",{style:o?{marginRight:"12px"}:{marginLeft:"12px"},children:t("tt2dspWeb_addedToast_v1")})]})}),e===c.ConnectToSpotify&&(0,s.jsx)(i.Mzi,{content:(0,s.jsx)(r,{children:(0,s.jsx)("div",{children:t("tt2dspWeb_linkedDSPOnly_spotify")})})}),e===c.ConnectToAppleMusic&&(0,s.jsx)(i.Mzi,{content:(0,s.jsx)(r,{children:(0,s.jsx)("div",{children:t("tt2dspWeb_linkedDSPOnly_appleMusic")})})}),e===c.Error&&(0,s.jsx)(i.Mzi,{content:(0,s.jsx)(r,{children:(0,s.jsx)("div",{children:t("tt2dspWeb_failedToAdd_toast")})})})]})})}))},23824:(e,t,o)=>{o.d(t,{OC:()=>i,Zc:()=>n,je:()=>c,ou:()=>a,x1:()=>r});var s=o(50649);const i=[1,3],n={1:"Apple Music",3:"Spotify"},r={0:"null",1:"apple",3:"spotify"},c={1:{add:s.X.AddToAppleMusic,connect:s.X.ConnectToAppleMusic},3:{add:s.X.AddToSpotify,connect:s.X.ConnectToSpotify}};var a;!function(e){e.WebHomepageHot="web_homepage_hot",e.WebSingleSong="web_single_song"}(a||(a={}))},4061:(e,t,o)=>{o.d(t,{nr:()=>T,Qf:()=>m,zd:()=>_,LO:()=>g});var s=o(58632),i=o(31209),n=o(43723),r=o(60072),c=o(23824);const a=(e,t,o,s)=>{var i,n;const r={};for(const a of e){if(!(a in t)){r[a]=!1;continue}const{isAd:e,clipId:d}=t[a];if(e){r[a]=!1;continue}if(!(d in o)){r[a]=!1;continue}const l=o[d];l.music.isCopyrighted&&(null===(n=null===(i=l.music.tt2dsp)||void 0===i?void 0:i.tt_to_dsp_song_infos)||void 0===n?void 0:n.length)&&(l.music.tt2dsp.dsp_platform_selected_by_user||s)&&c.OC.includes(null!=s?s:l.music.tt2dsp.dsp_platform_selected_by_user)&&l.music.tt2dsp.tt_to_dsp_song_infos.map((e=>Number(e.platform))).includes(Number(null!=s?s:l.music.tt2dsp.dsp_platform_selected_by_user))&&(l.applePreCheck||l.appleEquivalentSongId)?r[a]=!0:r[a]=!1}return r},d=(e,t,o)=>{var s;const i={};for(const n of e){if(!(n in t)){i[n]=!1;continue}const e=t[n];(null===(s=e.music.tt2dsp)||void 0===s?void 0:s.tt_to_dsp_song_infos)?(null!=o?o:e.music.tt2dsp.dsp_platform_selected_by_user)&&!e.music.tt2dsp.tt_to_dsp_song_infos.map((e=>e.platform)).includes(Number(null!=o?o:e.music.tt2dsp.dsp_platform_selected_by_user))||(null!=o?o:e.music.tt2dsp.dsp_platform_selected_by_user)&&!c.OC.includes(null!=o?o:e.music.tt2dsp.dsp_platform_selected_by_user)||!e.applePreCheck&&!e.appleEquivalentSongId?i[n]=!1:i[n]=!0:i[n]=!1}return i};var l=o(98874),u=o(68606),p=o(94534);const f=(0,n.p)("tt2dspAtom@tiktok/fe-shared",{user:{isLogin:!1,isBusinessAccount:!1},items:{},clips:{},canUserTT2DSP:!1,canFYPTT2DSP:{},canSDPTT2DSP:{}}),{useAtomService:_,useServiceDispatchers:m,useServiceState:g,getStaticApi:T}=(0,i.i)(f,((e,t)=>({checkAndUpdateUser(e){let o=!1,s=!1;e?(o=!0,s=!!e.proAccountInfo.businessSuiteEntrance):o=!1,t(f,(e=>Object.assign(Object.assign({},e),{user:{isLogin:o,isBusinessAccount:s},canUserTT2DSP:o&&!s})))},checkAndUpdateItems(o){var s;const{items:i,clips:n}=e(f),c=o.filter((e=>!(e in i))).map((e=>(0,r.ud)().getStaticItem(e)));if(0===c.length)return;const l=Object.assign({},i),p=Object.assign({},n),_=[];let m=(0,u.Gz)().getStaticSelectedPlatform();for(const e of c){if(!e||!e.music)continue;const t=e.music;l[e.id]={isAd:!!e.ad_info,clipId:t.id},p[t.id]={music:t,applePreCheck:!0},_.push(t.id),m||(m=null===(s=t.tt2dsp)||void 0===s?void 0:s.dsp_platform_selected_by_user)}const g=c.filter((e=>e)).map((e=>{var t;return null!==(t=null==e?void 0:e.id)&&void 0!==t?t:""})),T=a(g,l,p,m),v=d(_,p,m);t(f,(e=>Object.assign(Object.assign({},e),{item:l,clips:p,canFYPTT2DSP:Object.assign(Object.assign({},e.canFYPTT2DSP),T),canSDPTT2DSP:Object.assign(Object.assign({},e.canSDPTT2DSP),v)}))),(0,u.Gz)().setSelectedPlatform(m),1===m&&this._checkAndUpdateClipsForAppleMusic(_,g,p,l).catch((()=>{}))},checkAndUpdateClips(o){var s;const{clips:i}=e(f),n=o;if(0===n.length)return;const r=Object.assign({},i),c=[];let a=(0,u.Gz)().getStaticSelectedPlatform();for(const e of n)r[e.id]={music:e,applePreCheck:!0},c.push(e.id),a||(a=null===(s=e.tt2dsp)||void 0===s?void 0:s.dsp_platform_selected_by_user);const l=d(c,r,a);t(f,(e=>Object.assign(Object.assign({},e),{clips:r,canSDPTT2DSP:Object.assign(Object.assign({},e.canSDPTT2DSP),l)}))),(0,u.Gz)().setSelectedPlatform(a),1===a&&this._checkAndUpdateClipsForAppleMusic(c,[],r,{}).catch((()=>{}))},_checkAndUpdateClipsForAppleMusic(e,o=[],i,n){var r,c,_,m,g;return(0,s.__awaiter)(this,void 0,void 0,(function*(){const s={};let T;for(const t of e){if(!(t in i))continue;const e=i[t].music;if(null===(r=e.tt2dsp)||void 0===r?void 0:r.tt_to_dsp_song_infos){const o=e.tt2dsp.tt_to_dsp_song_infos.filter((e=>Number(e.platform)===Number(1)));if(o.length>0&&o[0].song_id){const e=o[0].song_id;e in s||(s[e]=[]),s[e].push(t),T=null!=T?T:null===(m=null===(_=null===(c=o[0])||void 0===c?void 0:c.token)||void 0===_?void 0:_.apple_music_token)||void 0===m?void 0:m.developer_token}}}if(0===Object.keys(s).length)return;(0,p.o4)().setAppleMusicDeveloperToken(T);let v=(0,p.o4)().getStaticAppleMusicUserToken();if(v||(v=(0,p.o4)().getAndUpdateAccessTokenAndExpireTime(1).accessToken),!v)return;if(!T)return;const h={apple_music_token:{developer_token:T,user_token:v}},S=Object.assign({},i);if(Object.keys(s).length>0){const e=Object.keys(s),t=yield(0,l.$L)({platform:1,song_ids:e.join(","),auth_token:JSON.stringify(h)}),o=null!==(g=t.check_availability_result)&&void 0!==g?g:[];for(const e of o){const t=s[e.song_id];for(const o of t)S[o].applePreCheck=e.available,!e.available&&e.equivalent_song_id&&(S[o].appleEquivalentSongId=e.equivalent_song_id)}}const k=(0,u.Gz)().getStaticSelectedPlatform(),y=a(o,n,S,k),A=d(e,S,k);t(f,(e=>Object.assign(Object.assign({},e),{clips:S,canFYPTT2DSP:Object.assign(Object.assign({},e.canFYPTT2DSP),y),canSDPTT2DSP:Object.assign(Object.assign({},e.canSDPTT2DSP),A)})))}))},getStaticClips:()=>e(f).clips})))},98874:(e,t,o)=>{o.d(t,{$L:()=>u,$r:()=>l,DM:()=>s,Qh:()=>a,nf:()=>p,wh:()=>d});var s,i=o(58632),n=o(56070),r=o(26325),c=o(4474);!function(e){e[e.Success=0]="Success",e[e.MusicDSPInvalidRefreshToken=3007044]="MusicDSPInvalidRefreshToken",e[e.INTL_ERR_TOKEN_EXPIRED=3004004]="INTL_ERR_TOKEN_EXPIRED",e[e.MusicDSPUserTokenAuthFailed=3007021]="MusicDSPUserTokenAuthFailed"}(s||(s={}));const a=e=>(0,i.__awaiter)(void 0,void 0,void 0,(function*(){return n.h.post("/tiktok/music/tt_to_dsp/token/v1",{body:(0,c.stringify)(e),baseUrlType:2,headers:{[r.nk]:n.h.csrfToken}})})),d=()=>(0,i.__awaiter)(void 0,void 0,void 0,(function*(){return n.h.get("/tiktok/music/tt_to_dsp/platform/list/v1",{baseUrlType:2,headers:{[r.nk]:n.h.csrfToken}})})),l=e=>(0,i.__awaiter)(void 0,void 0,void 0,(function*(){return n.h.post("/tiktok/music/tt_to_dsp/platform/update/v1",{body:(0,c.stringify)(e),baseUrlType:2,headers:{[r.nk]:n.h.csrfToken}})})),u=e=>(0,i.__awaiter)(void 0,void 0,void 0,(function*(){return n.h.get("/tiktok/music/tt_to_dsp/songs/check/v1",{query:e,baseUrlType:2,headers:{[r.nk]:n.h.csrfToken}})})),p=e=>(0,i.__awaiter)(void 0,void 0,void 0,(function*(){return n.h.post("/tiktok/music/tt_to_dsp/playlist/song/update/v1",{body:(0,c.stringify)(e),baseUrlType:2,headers:{[r.nk]:n.h.csrfToken}})}))},50141:(e,t,o)=>{var s,i,n,r;o.d(t,{Bp:()=>n,Nz:()=>i,kd:()=>s,lf:()=>r}),function(e){e[e.Init=0]="Init",e[e.Success=1]="Success",e[e.LoginError=2]="LoginError",e[e.RequestAccessTokenError=3]="RequestAccessTokenError",e[e.PlatformUpdateError=4]="PlatformUpdateError",e[e.AddSongError=5]="AddSongError",e[e.ParamsError=6]="ParamsError",e[e.UnknownError=7]="UnknownError"}(s||(s={})),function(e){e.Unknown="-101",e.AppleMusicDeveloperTokenNotFound="-102",e.AppleMusicLoginFailed="-103",e.SpotifyLoginFailed="-104"}(i||(i={})),function(e){e.Unknown="-101"}(n||(n={})),function(e){e[e.Init=0]="Init",e[e.Success=1]="Success",e[e.InvalidRefreshToken=2]="InvalidRefreshToken",e[e.OtherErrors=3]="OtherErrors"}(r||(r={}))},63020:(e,t,o)=>{o.d(t,{G:()=>i});var s=o(93608);const i={handleShowTttodspMusicReport:e=>{s.f.sendEvent("show_tttodsp_music",Object.assign({},e))},handleClickTttodspMusicReport:e=>{s.f.sendEvent("click_tttodsp_music",Object.assign({},e))},handleClickTttodspSheetReport:e=>{s.f.sendEvent("click_tttodsp_sheet",Object.assign({},e))},handleAuthorizeTttodspStatusReport:e=>{s.f.sendEvent("authorize_tttodsp_status",Object.assign({},e))},handleAddTttodspStatusReport:e=>{s.f.sendEvent("add_tttodsp_status",Object.assign({},e))}}}}]);