- Deleted apps/web/src/utils/optimisticStoreUpdates.ts (unused file) - File was unused - no imports found in codebase - Mutations already use React Query's onMutate pattern - No TypeScript errors after deletion - Actions 4.4.1.2 and 4.4.1.3 complete
2 lines
3.4 KiB
JavaScript
2 lines
3.4 KiB
JavaScript
import{j as r,aL as x,c as u,aM as h,M as b,h as f,ao as p,bF as g}from"./chunk-Cad8leGS.js";import{L as j}from"./index-D792PhRw.js";function w({playlist:e,className:d,onClick:n,selectable:i=!1,selected:t=!1,onSelect:s}){const o=a=>{if(i&&s){a.preventDefault(),a.stopPropagation(),s(e,!t);return}n&&(a.preventDefault(),n(e))},l=a=>{if(i&&s&&(a.key==="Enter"||a.key===" ")){a.preventDefault(),a.stopPropagation(),s(e,!t);return}n&&(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),n(e))},m=a=>{a.preventDefault(),a.stopPropagation(),s&&s(e,!t)},c=r.jsx(x,{className:u("cursor-pointer hover:shadow-lg active:scale-[0.98] transition-all duration-200","touch-manipulation",i&&t&&"ring-2 ring-blue-500 border-blue-500",d),children:r.jsxs(h,{className:"p-0",children:[r.jsxs("div",{className:"relative aspect-square bg-gradient-to-br from-purple-500 to-pink-500 overflow-hidden",children:[e.cover_url?r.jsx("img",{src:e.cover_url,alt:`Couverture de la playlist ${e.title}`,className:"w-full h-full object-cover"}):r.jsx("div",{className:"w-full h-full flex items-center justify-center",role:"img","aria-label":`Pas de couverture pour la playlist ${e.title}`,children:r.jsx(b,{className:"w-16 h-16 text-white/50","aria-hidden":"true"})}),i&&r.jsx("div",{className:"absolute top-2 left-2 z-10",children:r.jsx("button",{type:"button",onClick:m,className:u("w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all","touch-manipulation min-h-[24px] min-w-[24px]",t?"bg-blue-600 border-blue-600 text-white":"bg-white/90 dark:bg-gray-800/90 border-gray-300 dark:border-gray-600 text-transparent hover:border-blue-500"),"aria-label":t?`Désélectionner ${e.title}`:`Sélectionner ${e.title}`,"aria-checked":t,role:"checkbox",children:t&&r.jsx(f,{className:"w-4 h-4","aria-hidden":"true"})})}),r.jsx("div",{className:"absolute top-2 right-2",children:e.is_public?r.jsxs("div",{className:"bg-green-500/80 text-white px-2 py-1 rounded-full text-xs flex items-center gap-1","aria-label":"Playlist publique",children:[r.jsx(p,{className:"w-3 h-3","aria-hidden":"true"}),"Public"]}):r.jsxs("div",{className:"bg-gray-700/80 text-white px-2 py-1 rounded-full text-xs flex items-center gap-1","aria-label":"Playlist privée",children:[r.jsx(g,{className:"w-3 h-3","aria-hidden":"true"}),"Privé"]})})]}),r.jsxs("div",{className:"p-3 sm:p-4",children:[r.jsx("h3",{className:"font-semibold text-base sm:text-lg truncate mb-1",id:`playlist-title-${e.id}`,children:e.title}),e.description&&r.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground line-clamp-2 mb-2",id:`playlist-description-${e.id}`,children:e.description}),r.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-1 sm:gap-0 text-xs sm:text-sm text-muted-foreground",children:[r.jsxs("span",{"aria-describedby":`playlist-title-${e.id}`,children:[e.track_count," track",e.track_count!==1?"s":""]}),e.user&&r.jsxs("span",{className:"truncate sm:ml-2","aria-label":`Créée par ${e.user.username}`,children:["par ",e.user.username]})]})]})]})});return i?r.jsx("div",{onClick:o,onKeyDown:l,role:"button",tabIndex:0,"aria-label":`${t?"Désélectionner":"Sélectionner"} la playlist ${e.title}`,className:"touch-manipulation",children:c}):r.jsx(j,{to:`/playlists/${e.id}`,onClick:o,onKeyDown:l,"aria-label":`Voir la playlist ${e.title}`,className:"touch-manipulation",children:c})}export{w as P};
|
|
//# sourceMappingURL=chunk-Dx2pq3Hm.js.map
|