PageSourceSearch

https://www.wtatennis.com/resources/v7.50.45/scripts/favourite-listing.js

js wtatennis.com collected 2026-09-24 15:21:36 UTC 6,666 bytes, 1 lines download raw bytes

1import{r as e,R as a}from"./index.js";import{F as t,P as r,s}from"./store.js";import{c as n}from"./client.js";import{P as i}from"./index2.js";import{u as o}from"./UseFavourites.js";import{L as l}from"./loader.js";import{k as c,af as m,t as u,al as d,e as f,P as p,v,E as _,an as g,W as E,f as b}from"./bundle-es.js";import{S as N}from"./svg-icon.js";import{F as h}from"./flag.js";import{P as R}from"./player-headshot.js";import{S as y}from"./surface-options.js";import{g as j}from"./countries.js";import{u as C}from"./index5.js";import{T}from"./tennis-tournament.js";import"./_commonjsHelpers.js";import"./tournament-player-service.js";import"./api-client.js";import"./content-api.js";import"./search-api.js";import"./index3.js";import"./moment.js";import"./tennis.js";function k({tournament:t,cssClass:r="",objectFit:s=!1,size:n="SMALL",surface:i="hard"}){const o=e.useRef(null);return e.useEffect(()=>{o?.current&&c("tournament-list/tournament-background-image",o?.current)},[]),a.createElement("div",{ref:o,className:`tournament-background-image tournament-background-image--${i.toLowerCase()} ${r}`,"data-init-when-visible":"true","data-tournament-group-id":t.tournamentGroup.id,"data-year":t.year,"data-object-fit":s,"data-size":n,"data-widget":"tournament-list/tournament-icon-image"})}function F({type:e,item:t}){if("player"===e)return a.createElement(R,{cssClass:"favourite-card__image",playerId:t.id,size:"RANKINGS_TABLE",objectFit:!1});if("tournament"===e)return a.createElement(k,{cssClass:"favourite-card__image",tournament:{tournamentGroup:{id:t.id},year:t?.year||(new Date).getFullYear()},surface:t.surface,objectFit:!0});if("surface"===e){const e=y.find(e=>e.id===t.id);return a.createElement("img",{className:"favourite-card__image",src:e.image,width:"40",height:"40",alt:""})}if("region"===e){const e=j("code",t.id);return e?.alpha3?a.createElement(h,{countryCode:e.alpha3,cssClass:"favourite-card__image"}):null}return null}function x({favourite:e,cssClass:r="",onRemoveFavourite:s}){const n=m[p.FAVORITE_TOURNAMENTS],{ref:i,inView:o}=C({rootMargin:"0px 0px 500px 0px",triggerOnce:!0}),{loadedTournament:l}=t({params:{tournamentGroupId:e.id,pageSize:1,sort:"desc"}},{selectFromResult:({data:a})=>({loadedTournament:a?.content?.[0]?$(a?.content?.[0],e):null}),skip:!o}),c=l||e;return a.createElement("div",{ref:i,className:`favourite-card favourite-card--${n} ${r}`},a.createElement("div",{className:"favourite-card__image-wrap"},a.createElement("button",{className:"theme-purple favourite-card__remove-fav sbtn sbtn--icon-med sbtn--gt",onClick:()=>s(),"aria-label":u.lookup("label.favouriting.removetooltip")},a.createElement(N,{cssClass:"favourite-card__remove-fav-icon",name:"star-new"})),l?a.createElement(F,{type:n,item:c}):null),a.createElement("div",{className:"favourite-card__content"},a.createElement("div",{className:"favourite-card__tournament-title"},a.createElement("span",{className:"favourite-card__name h-m-b"},c.name),a.createElement("span",{className:"favourite-card__location"},a.createElement("span",{className:"favourite-card__location-city l-m-m"},c.city),a.createElement("span",{className:"favourite-card__dot"}," • "),a.createElement("span",{className:"favourite-card__location-city l-m-m"},c.country))),a.createElement("div",{className:"favourite-card__tournament-meta"},a.createElement("span",{className:"favourite-card__surface l-m-m"},c.surface),d[c.level]?a.createElement("img",{className:"favourite-card__level",src:`${f.cdn}i/elements/${d[c.level]}.svg`,alt:c.level}):a.createElement("span",{className:"favourite-card__level l-m-m"},c.level))),c?.link?.url?a.createElement("a",{className:"favourite-card__link",href:c?.link?.url,"aria-label":c?.link?.text}):null)}function $(e,a){const t=new T(e);return{...t,id:a.id,name:t.title}}function q({favourite:t,slug:r,cssClass:s=""}){const n=m[r],i=e.useCallback(()=>{v(_.FAVOURITING.MODAL_TRIGGERED,{item:t,modalType:"confirm",slug:r,context:`favourite ${n}`})},[t,r,n]),o=g(t,r);return r===p.FAVORITE_TOURNAMENTS?a.createElement(x,{favourite:t,cssClass:s,onRemoveFavourite:i}):a.createElement("div",{className:`favourite-card favourite-card--${n} ${s}`},a.createElement("div",{className:"favourite-card__image-wrap"},a.createElement("button",{className:"favourite-card__remove-fav sbtn sbtn--icon-med sbtn--gt","aria-label":u.lookup("label.favouriting.removetooltip"),onClick:i},a.createElement(N,{cssClass:"favourite-card__remove-fav-icon",name:"star-new"})),a.createElement(F,{type:n,item:t})),a.createElement("div",{className:"favourite-card__content"},a.createElement("span",{className:"favourite-card__name h-xs-sb"},t.name)),o?a.createElement("a",{className:"favourite-card__link",href:o,"aria-label":t.name}):null)}function w({slug:t,cssClass:r}){const s=m[t],n=e.useCallback(()=>{v(_.FAVOURITING.OPEN_MFM,{view:E[t]})},[t]);
1return a.createElement("button",{className:`favourite-add-card ${r}`,onClick:n},a.createElement("div",{className:"favourite-add-card__inner"},a.createElement("span",{className:"favourite-add-card__label h-s-sb dt:h-xs-sb"},u.lookup(`label.favouriting.add.${s}`)),a.createElement("span",{className:"favourite-add-card__icon-container sbtn sbtn--icon-med sbtn--gt"},a.createElement(N,{cssClass:"favourite-add-card__icon",name:"plus"}))))}function O({slug:e}){const{isLoading:t,favourites:r}=o(e);if(t)return a.createElement(l,{cssClasses:"favourite-listing__loader"});const s=b.limits[e]&&r?.length<b.limits[e]||!b.limits[e];return a.createElement(a.Fragment,null,r.map(t=>a.createElement(q,{key:t.id,favourite:t,slug:e,cssClass:`favourite-listing__card favourite-listing__card--${m[e]}`})),s?a.createElement(w,{slug:e,cssClass:`favourite-listing__add-card favourite-listing__add-card--${m[e]}`}):null)}k.propTypes={tournament:i.shape({tournamentGroup:i.shape({id:i.oneOfType([i.string,i.number]).isRequired}).isRequired,year:i.number}).isRequired,cssClass:i.string,size:i.string,objectFit:i.bool,surface:i.string},F.propTypes={type:i.string},x.propTypes={favourite:i.shape({id:i.oneOfType([i.number,i.string]).isRequired,name:i.string.isRequired}).isRequired,onRemoveFavourite:i.func.isRequired,cssClass:i.string},q.propTypes={favourite:i.shape({id:i.oneOfType([i.number,i.string]).isRequired,name:i.string.isRequired}).isRequired,slug:i.string.isRequired,cssClass:i.string},w.propTypes={slug:i.string.isRequired,cssClass:i.string},O.propTypes={slug:i.string};class A{constructor(e){this.container=e,this.containerRoot=n.createRoot(this.container),this.slug=this.container.dataset.slug,this.renderListing()}renderListing(){this.containerRoot.render(a.createElement(r,{store:s},a.createElement(O,{slug:this.slug})))}}export{A as default};

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