mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
2 lines
10 KiB
JavaScript
Executable File
2 lines
10 KiB
JavaScript
Executable File
"use strict";(("undefined"!=typeof self?self:global).webpackChunkclient_web=("undefined"!=typeof self?self:global).webpackChunkclient_web||[]).push([[5962],{96491:(e,a,s)=>{s.r(a),s.d(a,{default:()=>ta});var i=s(30758),t=s(41978),r=s(9183),l=s(12783),n=s(3869),o=s(96554),c=s(81987),u=s(68270),d=s(11808),m=s(80331),g=s(16047),h=s(53899),x=s(43830),b=s(75721),p=s(64571),y=s(63198),j=s(58822),f=s(86070);const k=({message:e,spec:a,logger:s,className:i})=>{const{onUpgradeClick:t,type:r}=(0,j.i)(a,s);return(0,y.V)()?null:(0,f.jsx)(g.v,{id:"catalogue-restricted-banner",className:i,variant:"tinted",leading:(0,f.jsx)(h.N,{}),title:e,trailing:(0,f.jsx)(x.$,{size:"small",onClick:t,iconOnly:"external"===r?b.H:p.h,"aria-label":d.Ru.get("upgrade.tooltip.title"),title:d.Ru.get("upgrade.tooltip.title")})})};var C=s(64981),v=s(71588),w=s(88778),A=s(31685),R=s(82442),M=s(56341),N=s(74793),U=s(59116),I=s(21752),P=s(51271),L=s(79056),S=s(55194),F=s(83028),B=s(76652),D=s(1019),T=s(34892),z=s(21968),_=s(97438),E=s(37712),O=s(97684),V=s(47231),J=s(70675),K=s(39796),W=s(55187),$=s(57262),q=s(2e3),H=s(55030),X=s(85939),Z=s(471),G=s(69578),Y=s(45346),Q=s(52608),ee=s(98767),ae=s(37477),se=s(11898),ie=s(62720),te=s(17869),re=s(72091),le=s(62943);const ne="m2grVeuHNwfGLVpaSBle",oe="GLKjAw6oM_egXztVxKKB",ce="MGZ4oJmGVPrWsx5cT5hN",ue="DmrVJc9vWCbjU_DuRvfe",de="yLmA5f7x65en2MdKbIhX",me="F5J4ctyBbgSfS6qkFH5c",ge=i.memo((function({uri:e,togglePlay:a,isPlaying:s,isActive:t,spec:r,logger:l,backgroundColor:n,name:o,artists:c,isPlayable:u,sharingInfo:m}){const g=(0,Y.W)(),h=(0,Q.n)(),x=(0,se.f)(),b=(0,i.useMemo)((()=>r.actionBarFactory()),[r]),[p,y]=(0,ie.A)(e),j=(0,i.useCallback)((()=>{const i=(0,ee.$I)({isPlaying:s,isActive:t,spec:b.playButtonFactory(),logger:l,uri:e});a({loggingParams:i})}),[s,t,a,b,l,e]),k=(0,H.d$)(),{spec:C,logger:v}=(0,re.r)(z.e,{data:{uri:e}});(0,i.useEffect)((()=>{k&&v.logImpression(C.impression())}),[k,v,C]);const A=(0,i.useCallback)((async()=>{let a;const s=b.saveButtonFactory();p?a=s.hitDislike({itemToBeDisliked:e}):(a=s.hitLike({itemToBeLiked:e}),k&&v.logInteraction(C.hitFollow({itemToBeFollowed:e}))),l.logInteraction(a),g({targetUri:e,intent:p?"unsave":"save",type:"click"});try{await y(!p)}catch{}}),[g,e,p,y,b,l,k,v,C]),R=(0,Z.X)(),M=(0,G.j)();return(0,f.jsx)(_.E,{backgroundColor:n,children:(0,f.jsxs)(E.S,{children:[(0,f.jsx)(B.D,{onClick:j,disabled:!u,isPlaying:s,size:M,uri:e}),R&&(0,f.jsx)(te.r,{spec:b,children:(0,f.jsx)(X.Y,{entityName:o,contextUri:e,activationPlacement:"bottomEnd",size:M})}),(0,f.jsx)(W.h,{uri:e,action:ae.no.SAVE_ALBUM,children:(0,f.jsx)(O.M,{isAdded:p,onClick:A,disabled:!h&&!x?.getCapabilities().canModifyOffline,size:M,condensed:!0})}),(0,f.jsx)(V.f,{uri:e,isFollowing:p,onClick:(a,s)=>(0,ee.Qv)(s,b.downloadButtonFactory(),l,e),onFollow:A,size:M,condensed:!0}),(0,f.jsx)(K.b,{onShow:()=>(0,ee.R2)(b,l),menu:(0,f.jsx)(w.h,{uri:e,artistUri:c?.[0]?.uri,sharingInfo:m}),children:(0,f.jsx)(J.e,{label:d.Ru.get("more.label.context",o),size:M})}),(0,f.jsx)("div",{className:de,children:(0,f.jsx)($.u,{property:le.mA,renderNewExperience:()=>(0,f.jsx)(q.g,{options:[],onSelect:()=>{},selected:null,enableViewModeMenu:!0})})})]})})}));var he=s(51736),xe=s(61544),be=s(66416),pe=s(83542);const ye=({releases:e})=>(0,f.jsx)(be.W,{children:e.map((e=>(0,f.jsx)(pe.D,{role:"menuitem",to:(0,xe.o_)(e.uri).toURLPath(!0),children:e.name},e.uri)))}),je=864e5,fe=365.25*je;var ke=s(2287),Ce=s(77860),ve=s(16659),we=s(90461),Ae=s(30171),Re=s(67889),Me=s(57276),Ne=s(3554);const Ue="bhvAemcPYUmxOdBe1mVi",Ie="hmgHdasWrZaA9tiXVw_u",Pe="RmbxUFLb4j9KmgftJyk1",Le="boNCdFnbh9y0PBweIDUt",Se="LfQtKa295FPgk8VuZRfD",Fe="Oytey9nANMtSDKSmZpJ6",Be=i.memo((function(e){const{images:a,title:s,isOpen:t,onClose:r}=e,l=(0,i.useMemo)((()=>(0,Ne.g)(a,{desiredSize:1e4})),[a]);return l?(0,f.jsx)(Re.A,{className:Ue,isOpen:t,onRequestClose:r,animation:{modal:{base:Le,afterOpen:Se,beforeClose:Fe}},animated:!0,children:(0,f.jsxs)("div",{style:{"--image-width":`${l.width}px`,"--image-height":`${l.height}px`},className:Ie,children:[(0,f.jsx)(Me._,{loading:"eager",alt:s,src:l.url,className:Pe}),(0,f.jsx)(Ae.H,{onClick:r,semanticColor:"textBase",children:d.Ru.get("web-player.cover-art-modal.close")})]})}):null}));var De=s(84512),Te=s(38008),ze=s(15742),_e=s(8385);const Ee=new ze.l("queryAlbumMerch","query","7b258651f4a220aeab4a0573edbd5cf7edd0acfa4d35de2f18b72235e3300ac4",null);var Oe=s(25504);const Ve=({albumName:e,albumURI:a})=>{const{data:s}=(i={uri:a},t={gcTime:5*_e.i},(0,_e.I)(Ee,i,t));var i,t;const r=s?.albumUnion&&"merch"in s.albumUnion?s?.albumUnion?.merch?.items:[];return r&&r?.length>0?(0,f.jsx)("div",{className:"contentSpacing",children:(0,f.jsx)("div",{className:Oe.A.albumMerch,children:(0,f.jsx)(Te.q,{id:e,uri:a,merchItems:r,merchVariant:"Album page merch items"})})}):null};var Je=s(38637),Ke=s(80460),We=s(26876),$e=s(12669),qe=s(19159),He=s(7939),Xe=s(71296),Ze=s(21056),Ge=s(62733),Ye=s(42582),Qe=s(56376),ea=s(15847);const aa=i.lazy((()=>s.e(6755).then(s.bind(s,96755))));function sa(e){switch(e){case ve._.Single:return d.Ru.get("single");case ve._.Ep:return d.Ru.get("ep");case ve._.Compilation:return d.Ru.get("compilation");case ve._.Audiobook:return d.Ru.get("card.tag.audiobook");case ve._.Album:default:return d.Ru.get("album")}}const ia=({uri:e,album:a})=>{const s=(0,r.zy)(),{spec:g,logger:h,UBIFragment:x}=(0,re.r)(u.E,{data:{uri:e}}),b=(0,i.useMemo)((()=>g.trackListFactory()),[g]),p=(0,i.useMemo)((()=>g.moreByArtistShelfFactory()),[g]),y=(0,i.useMemo)((()=>g.upgradeButtonFactory()),[g]),j=a.moreAlbumsByArtist,F=parseInt(new URLSearchParams((0,r.zy)().search).get("index")||"0",10),z=(0,We.J)(e),{usePlayContextItem:_,togglePlay:E,isPlaying:O,isActive:V}=(0,Ye.P)({uri:z},{featureIdentifier:"album"}),J=(0,i.useCallback)(((e,a)=>{if(g){const e=g.headerFactory().artistNameFactory().hitUiNavigate({destination:a.creator.uri});h.logInteraction(e)}}),[h,g]),{isOpen:K,openModal:W,closeModal:$}=(()=>{const[e,a]=(0,i.useState)(!1);return{isOpen:e,openModal:(0,i.useCallback)((()=>a(!0)),[]),closeModal:(0,i.useCallback)((()=>a(!1)),[])}})(),q=(0,c.NC)(qe.WJ1,{loadingValue:!1})?{onClick:W,ariaLabel:d.Ru.get("web-player.album.open_coverart_modal")}:{},H=(0,i.useCallback)((()=>new URLSearchParams(s.search.slice(1)).get("highlight")||""),[s.search]),X=a.uri,Z=a.name,G=a.albumType,Y=a.release?.date,Q=a.release?.precision,ee=a.nrTracks,ae=a.images,se=a.extractedColors?.colorRaw.hex,ie=a.artists,te=a.isPlayable,le=a.isCatalogueRestricted,de=a.copyright.items,xe=a.courtesyLine,be=a.duration.durationMs,pe=a.duration.isEstimate,ke=H(),ve=(0,t.d4)(He.Ht),Ae=ve.overrides?.locale??d.Ru.getLocaleForTranslation(),Re=(0,Ke.W)({uri:e,type:"locale"}),Me=(0,Qe.qc)({albumName:Z,albumType:G,albumArtists:ie.map((e=>e.name)).join(d.Ru.getSeparator()),shouldLocalize:Re,i18n:d.Ru});(0,$e.z)(se||null);const Ne=function(e){return(0,i.useMemo)((()=>{if(!e?.date)return null;if("day"===e.precision){const a=new Date(e.date),s=(new Date).getTime()-a.getTime(),i=s%fe;return i<3.5*je||i>312552e5?Math.round(s/fe):null}return null}),[e])}(a.release),{isCompactMode:Ue}=(0,Je.a)(),Ie=(0,Ce.t)(),Pe=(0,f.jsx)(w.h,{uri:a.uri,artistUri:a.artists?.[0]?.uri,sharingInfo:a.sharingInfo});return(0,f.jsxs)("section",{className:ne,"data-testid":"album-page",children:[(0,f.jsx)(A.Q,{children:Me}),!ke&&(0,f.jsx)(De.c,{artistOrShow:ie.map((e=>e.name)).join(d.Ru.getSeparator()),title:Z,uri:e,entityType:De.p.ALBUM}),null!==Ne?(0,f.jsx)(i.Suspense,{fallback:null,children:(0,f.jsx)(aa,{colorLight:a.extractedColors?.colorLight.hex,colorDark:a.extractedColors?.colorDark.hex,name:Z,years:Ne})}):null,(0,f.jsxs)(R.z,{backgroundColor:se,children:[(0,f.jsxs)(U.h,{children:[(0,f.jsx)(B.D,{size:"medium",onClick:()=>E(),disabled:!te,isPlaying:O,uri:e}),(0,f.jsx)(v.h,{menu:Pe,children:(0,f.jsx)(I.X,{text:Z,dragUri:e,dragLabel:Z})})]}),(0,f.jsx)(v.h,{menu:Pe,children:(0,f.jsx)(M.K,{dragUri:X,images:ae,name:Z,placeholderType:"album",...q})}),(0,f.jsxs)(N.Y,{children:[(0,f.jsx)(L.B,{children:sa(G)}),(0,f.jsx)(v.h,{menu:Pe,children:(0,f.jsx)(S.mm,{dragUri:a.uri,dragLabel:a.name,scaleAtMinWidth:S.tw,children:Z})}),(0,f.jsx)(P.t,{creators:ie,onCreatorClick:J,releaseDate:Y,releaseDatePrecision:Q,totalItems:ee,durationMilliseconds:be,isEstimatedDuration:pe,hasTracks:!0})]})]}),(0,f.jsx)(ge,{backgroundColor:se,uri:e,togglePlay:E,isPlaying:O,isActive:V,spec:g,logger:h,sharingInfo:a.sharingInfo,name:a.name,artists:a.artists,isPlayable:a.isPlayable}),(0,f.jsxs)("div",{className:"contentSpacing",children:[le&&(0,f.jsx)(k,{message:(0,we.E)(G),className:me,spec:y,logger:h}),(0,f.jsx)(x,{spec:b,children:(0,f.jsx)(T.a,{columns:Ie,children:(0,f.jsx)(he.F,{ariaLabel:Z,nrTracks:(0,we.YD)(a.discs)?a.discs.totalCount+ee:ee,discs:a.discs,albumUri:X,highlightUri:ke,scrollToIndex:F,usePlayContextItem:_,initalTracks:a.items,isCompactMode:Ue})})}),(0,f.jsxs)("div",{className:ue,children:[(0,f.jsxs)("div",{children:[Y&&(0,f.jsx)(l.E,{as:"p",variant:"bodySmall",children:(0,ea.rh)((0,ea.ad)(Y),Ae,{year:"numeric",month:"long",day:"numeric"},Q)}),(0,f.jsx)(Xe.Z,{copyrights:de,courtesyLine:xe})]}),a.releases.items.length>0&&(0,f.jsx)(C.t,{menu:(0,f.jsx)(ye,{releases:a.releases.items}),children:(e,s,i)=>(0,f.jsxs)("button",{ref:i,className:ce,type:"button",onClick:s,children:[(0,f.jsx)(l.E,{variant:"bodySmall",children:d.Ru.get("album-page.more-releases",a.releases.items.length)}),e?(0,f.jsx)(n.J,{size:"small"}):(0,f.jsx)(o.y,{size:"small"})]})})]})]}),(0,f.jsx)(Ve,{albumName:Z,albumURI:X}),(0,f.jsx)(f.Fragment,{children:j?.length>0&&(0,f.jsx)("div",{className:"contentSpacing",children:(0,f.jsx)(x,{spec:p,children:(0,f.jsx)(D.p,{index:0,id:"more-albums",className:oe,title:d.Ru.get("album-page.more-by-artist",ie?.[0]?.name),total:j.length,seeAllUri:`${ie?.[0]?.uri.replace("artist","app:artist")}:discography`,seeAllLabel:d.Ru.get("artist-page.show-discography"),alwaysShowSeeAll:!0,children:j.map(((e,a)=>(0,f.jsx)(m.R,{index:a,artists:ie,images:e.images||[],name:e.name,uri:e.uri,year:e.year,type:e.albumType,sharingInfo:e.sharingInfo},e.uri)))})})})}),(0,f.jsx)(Be,{title:Me,isOpen:K,onClose:$,images:ae})]})},ta=i.memo((function(){const{albumId:e}=(0,r.g)(),a=`spotify:album:${e}`,{loading:s,error:i,data:t,canLoadOffline:l}=(0,ke.$)(a);return s||!t?(0,f.jsx)(F.A,{hasError:null!==i,loadOffline:l,errorMessage:d.Ru.get("error.not_found.title.album")}):(0,f.jsx)(Ge.P,{surface:Ze.u.ALBUM,uris:[a],children:(0,f.jsx)(ia,{uri:a,album:t})})}))}}]);
|
|
//# sourceMappingURL=xpui-routes-album.js.map
|