PageSourceSearch

https://123content.ai/assets/Stylists-DVeXSIbn.js

js 123content.ai collected 2026-10-05 13:17:34 UTC 30,555 bytes, 11 lines download raw bytes

1import{c as Se,r as l,j as e,D as Ae,g as f,a as m,ag as se,C as pe,ae as he,E as Ee,p as Te,cp as G,eK as Oe}from"./index-ClXUUzrz.js";import{W as _e,a as Ue}from"./WorkspaceRail-QP7ifZCk.js";import{S as Be}from"./StageHeader-CtN2gT6y.js";import{S as Ve}from"./StickyBoard-C_nrwN6r.js";import{C as ue}from"./ConfirmDialog-BaoRUhEV.js";import{B as fe}from"./branded-select-CPqt5OCN.js";import{F as Ke}from"./FolderDialog-BIAmwgj_.js";import{u as He,f as Q,l as V,a as ge,c as We,b as be,r as Xe,p as we,e as je,g as Je,h as Ye,i as qe,d as Z,t as Ge,j as Qe,k as Ze,m as et,n as tt,o as st,q as ve,v as Ne,w as nt}from"./stylists-D0DdWpgQ.js";import{s as rt,p as it}from"./stickyNotes-D18GAjE7.js";import{u as ot}from"./productRegister-G6wBmQxl.js";import{c as lt}from"./platformDepartments-CKwi_0sc.js";import{C as ye}from"./copy-CFLmgmwT.js";import{F as at}from"./folder-plus-BknJP30L.js";import{F as ct}from"./folder-HmfWuTT0.js";import{P as ze}from"./pencil-9O31S9YB.js";import{I as dt}from"./inbox-D2dwkvn-.js";import{S as ke}from"./sticky-note-BHP9bTnU.js";import{A as Ce}from"./archive-COSbU0_j.js";import{U as xt}from"./upload-T1W8uZ1h.js";import{D as ee}from"./download-DwxqSnIT.js";import{E as mt}from"./eye-off-UHzFAQQ5.js";import{T as te}from"./trash-2-qMULqCD4.js";import{I as pt}from"./image-CJmXyWZQ.js";import{A as ht}from"./archive-restore-BDJ9jIAi.js";import"./vendor-code-T_ntHSS4.js";import"./vendor-cutout-DAVIqhoW.js";import"./logo-icon-Bv2PFMLx.js";import"./platformSettings-i5FI8DbX.js";import"./sparkles-CFktgMzw.js";import"./paperclip-CN98K2wC.js";import"./user-fxkcFBDA.js";import"./gift-CrmrdK6N.js";import"./settings-D8gB5sMo.js";import"./wand-sparkles-BHh85_Ni.js";import"./users-DvgyQEra.js";import"./message-circle-DBDQDJ5Y.js";import"./share-2-CIvn-6cY.js";import"./deskNotify-DjCRaM5j.js";import"./StickyComposer-Bg0YcwlZ.js";import"./input-BJiyTHTq.js";import"./SampleFiltersMenu-CWMcz2xC.js";import"./automation-B47ngJC-.js";import"./edgeError-KpnWdy9g.js";import"./posePresets-DFn7g6Fq.js";import"./closetRouting-B8W3YN4q.js";import"./closetStation-CtMN0kb_.js";import"./format-9LhdKI8a.js";import"./shirt-Be8QS1DK.js";import"./pipette-CBqxaBcb.js";import"./departmentPeople-batqNu2a.js";import"./list-checks-ChKHR0p2.js";import"./TransferRequestNotices-nriDWmUv.js";import"./reply-BUqiNOaY.js";import"./bell-CCVGK3ra.js";import"./arrow-right-Du9csHx0.js";import"./editorAssignments-CHuzR0NH.js";import"./ellipsis-vertical-DaWb8eg1.js";import"./arrow-down-right-HLuUbaCU.js";import"./circle-check-QTuK_ttW.js";import"./proxy-BPijSupK.js";import"./select-Ccs3Spqc.js";import"./index-bE7Kd13e.js";import"./index-BqTh_APP.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const ut=Se("PanelRightClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);/**
7 * @license lucide-react v0.462.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const ft=Se("PanelRightOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]]),gt=({item:o,editable:c,onMove:K,onSelect:R,onRemove:b,selected:M})=>{const z=l.useRef(null),g=l.useRef(!1),H=w=>{var v,N,S;if(!c)return;const P=(v=z.current)==null?void 0:v.parentElement;if(!P)return;g.current=!0,(S=(N=w.target).setPointerCapture)==null||S.call(N,w.pointerId);const j=P.getBoundingClientRect(),k=I=>{if(!g.current)return;const D=(I.clientX-j.left)/j.width*100,W=(I.clientY-j.top)/j.height*100;K(Math.min(94,Math.max(0,D)),Math.min(92,Math.max(0,W)))},C=()=>{g.current=!1,window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",C)};window.addEventListener("pointermove",k),window.addEventListener("pointerup",C)};return e.jsxs("div",{ref:z,onPointerDown:H,onClick:R,style:{left:`${o.x}%`,top:`${o.y}%`,zIndex:o.z,width:`${9*o.scale}rem`},className:`group absolute select-none ${c?"cursor-grab active:cursor-grabbing":"cursor-pointer"}`,children:[e.jsxs("div",{className:`overflow-hidden rounded-2xl border bg-white shadow-[0_10px_30px_rgba(0,0,0,0.12)] transition ${M?"border-zinc-900 ring-2 ring-zinc-900/20":"border-zinc-900/10"}`,children:[o.imageUrl?e.jsx("img",{src:o.imageUrl,alt:o.name||o.code,draggable:!1,
11className:"aspect-[3/4] w-full object-cover"}):e.jsx("div",{className:"flex aspect-[3/4] w-full items-center justify-center bg-zinc-100 px-2 text-center",children:e.jsx("span",{className:"font-mono text-[9px] uppercase tracking-wider text-zinc-400",children:o.code||o.name})}),e.jsxs("div",{className:"border-t border-zinc-900/5 px-2 py-1.5",children:[e.jsx("p",{className:"truncate font-runway text-[10px] font-semibold text-zinc-900",children:o.name||o.code}),o.code&&e.jsx("p",{className:"truncate font-mono text-[8px] uppercase tracking-wider text-zinc-400",children:o.code})]})]}),c&&e.jsx("button",{onClick:w=>{w.stopPropagation(),b()},className:"absolute -right-2 -top-2 hidden h-6 w-6 items-center justify-center rounded-full border border-zinc-900/10 bg-white text-zinc-500 shadow group-hover:flex hover:text-red-600",title:"Remove from look",children:e.jsx(se,{className:"h-3 w-3"})})]})},Ss=()=>{const{state:o,setState:c,hydrating:K}=He(),{state:R}=ot(),[b,M]=l.useState(""),[z,g]=l.useState(null),[H,w]=l.useState(null),[P,j]=l.useState(null),[k,C]=l.useState(""),[v,N]=l.useState(null),[S,I]=l.useState(""),[D,W]=l.useState(!1),[ne,Ie]=l.useState(!0),[,De]=l.useState(0),[y,$]=l.useState(0),[A,Le]=l.useState(3),[p,E]=l.useState("all"),[re,ie]=l.useState(null),[oe,le]=l.useState(""),[T,O]=l.useState(null),[_,X]=l.useState(null),[ae,Fe]=l.useState(!1),ce=l.useRef(null);l.useEffect(()=>rt(()=>De(t=>t+1)),[]),l.useEffect(()=>{!b&&o.stylists[0]&&M(o.stylists[0].id)},[o.stylists,b]);const d=o.stylists.find(t=>t.id===b),Re=l.useMemo(()=>d?Q(o,d.id):[],[o,d]),L=l.useMemo(()=>d?V(o,d.id,"accepted"):[],[o,d]),F=l.useMemo(()=>L.filter(t=>p==="all"?!0:p==="loose"?!t.folderId:t.folderId===p),[L,p]),J=l.useMemo(()=>d?V(o,d.id,void 0,{archived:!0}):[],[o,d]),U=l.useMemo(()=>d?V(o,d.id,"received"):[],[o,d]),i=o.looks.find(t=>t.id===z)??null,de=t=>{var a,n,x;const s=(((a=R.sheet)==null?void 0:a.rows)??[]).find(u=>G(u.code)===G(t)),r=((x=(n=R.intake)==null?void 0:n[G(t)])==null?void 0:x.images)??[];return{row:s,images:r}},B=(i==null?void 0:i.items)??[],h=B.find(t=>t.id===H)??B[0]??null,Me=async t=>{if(i)try{const s=await Oe(i.title||"look","detail",t,t.name);c(r=>tt(r,i.id,{id:s.id??st(),url:s.url,assetId:s.assetId??null,name:t.name,createdAt:Date.now()})),m.success("Photo added to the look")}catch{m.error("Upload failed")}},xe=t=>[...t.photos.filter(s=>!s.excluded).map(s=>({id:s.id,url:s.url,label:s.name||t.title})),...t.items.map(s=>{var r;return{id:s.id,url:s.imageUrl||((r=de(s.code||"").images[0])==null?void 0:r.url)||"",label:s.name||s.code}})],Pe=async t=>{const s=xe(t).filter(r=>r.url);if(!s.length)return m.error("Nothing to download yet");m.success(`Downloading ${s.length} image${s.length>1?"s":""}…`);for(let r=0;r<s.length;r++)Z(s[r].url,`${t.title}-${s[r].label||r+1}`),await new Promise(a=>setTimeout(a,400))},Y=({look:t,inbox:s})=>{const r=xe(t),a=it(t.id);return e.jsxs("div",{className:"group overflow-hidden rounded-3xl border border-zinc-900/10 bg-white shadow-[0_8px_30px_rgba(0,0,0,0.05)]",children:[e.jsxs("button",{onClick:()=>{var n;g(t.id),$(0),w(((n=t.items[0])==null?void 0:n.id)??null)},className:"relative block w-full bg-[#efeeea] p-3",children:[r.length===0?e.jsx("div",{className:"flex h-52 items-center justify-center text-[11px] uppercase tracking-widest text-zinc-400",children:"Empty look"}):e.jsx("div",{className:`grid gap-2 ${r.length===1?"grid-cols-1":r.length<=4?"grid-cols-2":"grid-cols-3"}`,children:r.map(n=>e.jsx("div",{className:"relative aspect-[3/4] overflow-hidden rounded-xl border border-white bg-white shadow-sm",children:n.url?e.jsx("img",{src:n.url,alt:n.label,className:"h-full w-full object-cover"}):e.jsx("span",{className:"flex h-full items-center justify-center px-1 text-center font-mono text-[8px] uppercase text-zinc-400",children:n.label})},n.id))}
11),e.jsxs("span",{className:"absolute left-4 top-4 rounded-full bg-white/90 px-2.5 py-1 font-mono text-[9px] uppercase tracking-wider text-zinc-600",children:[t.items.length," pieces"]})]}),e.jsxs("div",{className:"flex items-center gap-2 border-t border-zinc-900/5 px-4 py-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[P===t.id?e.jsx("input",{autoFocus:!0,value:k,onChange:n=>C(n.target.value),onBlur:()=>{c(n=>we(n,t.id,{title:k.trim()||t.title})),j(null)},onKeyDown:n=>{n.key==="Enter"&&n.target.blur()},className:"w-full rounded-lg border border-zinc-900/15 px-2 py-1 text-[13px] outline-none focus:border-zinc-900"}):e.jsxs("p",{className:"flex items-center gap-1.5 truncate font-runway text-[14px] font-semibold tracking-tight text-zinc-900",children:[e.jsx("span",{className:"truncate",children:t.title}),a.length>0&&e.jsxs("span",{title:a.map(n=>n.text).join(" · "),className:"inline-flex shrink-0 items-center gap-1 rounded-full border border-zinc-900/10 bg-[#fdf0a8] px-1.5 py-0.5 font-mono text-[9px] text-zinc-700",children:[e.jsx(ke,{className:"h-2.5 w-2.5"}),a.length]})]}),e.jsx("p",{className:"truncate font-mono text-[9px] uppercase tracking-wider text-zinc-400",children:s?`Received from ${t.fromName||"the team"}`:new Date(t.updatedAt).toLocaleDateString()})]}),s?e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>{c(n=>je(n,t.id)),m.success("Look accepted")},className:"inline-flex items-center gap-1.5 rounded-full bg-zinc-900 px-3 py-1.5 text-[10px] font-black uppercase tracking-wider text-white",children:[e.jsx(he,{className:"h-3 w-3"})," Accept"]}),e.jsx("button",{onClick:()=>N(t.id),className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-900/10 text-zinc-400 hover:border-red-500 hover:text-red-600",children:e.jsx(te,{className:"h-3 w-3"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>Pe(t),className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-900/15 px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-zinc-700 hover:border-zinc-900 hover:bg-zinc-900 hover:text-white",title:"Download every image in this look",children:[e.jsx(ee,{className:"h-3 w-3"})," Download look"]}),e.jsx("button",{onClick:()=>{c(n=>ve(n,t.id)),m.success("Look duplicated")},className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-900/10 text-zinc-500 hover:border-zinc-900",title:"Duplicate look",children:e.jsx(ye,{className:"h-3 w-3"})}),e.jsx(fe,{value:"",onValueChange:n=>{var x;n&&(c(u=>ve(u,t.id,n)),m.success(`Look sent to ${(x=o.stylists.find(u=>u.id===n))==null?void 0:x.name}`))},ariaLabel:"Send look to stylist",options:[{value:"",label:"Send to…"},...o.stylists.filter(n=>n.id!==(d==null?void 0:d.id)).map(n=>({value:n.id,label:n.name}))]}),e.jsx(fe,{value:t.folderId??"",onValueChange:n=>{if(n==="__new"){O(()=>x=>{c(u=>{const q=be(u,t.stylistId,x),me=Q(q,t.stylistId).find($e=>$e.name.toLowerCase()===x.toLowerCase());return me?Ne(q,t.id,me.id):q}),m.success(`Look moved to ${x}`)});return}c(x=>Ne(x,t.id,n||null))},ariaLabel:"Put this look in a folder",className:"max-w-[130px]",options:[{value:"",label:"No folder"},...Q(o,t.stylistId).map(n=>({value:n.id,label:n.name})),{value:"__new",label:"+ New folder…"}]}),e.jsx("button",{onClick:()=>{j(t.id),C(t.title)},className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-900/10 text-zinc-500 hover:border-zinc-900",title:"Rename look",children:e.jsx(ze,{className:"h-3 w-3"})}),e.jsx("button",{onClick:()=>{c(n=>nt(n,t.id,!t.archived)),m.success(t.archived?"Look is back on the board":"Look archived")},className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-900/10 text-zinc-500 hover:border-zinc-900",title:t.archived?"Put back on the board":"Archive this look",children:t.archived?e.jsx(ht,{className:"h-3 w-3"}):e.jsx(Ce,{className:"h-3 w-3"})}),e.jsx("button",{onClick:()=>N(t.id),className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-900/10 text-zinc-400 hover:border-red-500 hover:text-red-600",children:e.jsx(te,{className:"h-3 w-3"})})]})]})]})};return e.jsxs("div",{className:"min-h-screen w-full bg-[#f4f4f1] text-zinc-900 flex flex-col",style:{fontFamily:"Inter, ui-sans-serif, system-ui, sans-serif"},children:[e.jsx(_e,{label:"Assets · Stylists"}),e.jsx("div",{className:"flex flex-1 min-h-0 w-full",children:e.jsxs("div",{className:"flex flex-1 min-h-0 bg-[#f4f4f1]",children:[e.jsx(Ue,{floating:!0,heightClass:"h-[calc(100vh-96px)] sticky top-[72px]",active:"stylists"}),e.jsx("main",{className:"flex-1 min-w-0 self-stretch flex flex-col py-3 pr-3",children:e.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto rounded-3xl border border-white/60 bg-white/60 shadow-[0_8px_30px_rgb(0,0,0,0.05)] backdrop-blur-xl",children:[e.jsx(Be,{label:"Assets",title:"Stylists",description:"Every stylist has her own moodboard of looks.",children:e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.stylists.map(t=>e.jsxs("button",{onClick:()=>{M(t.id),g(null)},className:`inline-flex items-center gap-2 rounded-full border py-1.5 pl-1.5 pr-4 transition ${b===t.id?"border-zinc-900 bg-zinc-900 text-white":"border-zinc-900/15 bg-white text-zinc-700 hover:border-zinc-900"}`,children:[e.jsx("span",{className:"inline-flex h-7 w-7 items-center justify-center overflow-hidden rounded-full bg-zinc-200 font-runway text-[11px] font-black uppercase text-zinc-600",children:t.photoUrl?e.jsx("img",{src:t.photoUrl,alt:t.name,className:"h-full w-full object-cover"}):t.name.slice(0,1)}),e.jsx("span",{className:"font-runway text-[12px] font-semibold tracking-tight",children:t.name}),e.jsx("span",{className:`font-mono text-[9px] uppercase ${b===t.id?"text-white/50":"text-zinc-400"}`,children:V(o,t.id).length})]},t.id)),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("input",{value:S,onChange:t=>I(t.target.value),placeholder:"New stylist…",className:"w-36 rounded-full border border-zinc-900/10 bg-white px-3 py-1.5 text-[11px] outline-none focus:border-zinc-900"}),e.jsx("button",{onClick:()=>{const t=S.trim();t&&(c(s=>ge(s,t)),I(""))},className:"inline-flex h-7 w-7 items-center justify-center rounded-full bg-zinc-900 text-white",children:e.jsx(Ae,{className:"h-3 w-3"})})]})]})}),e.jsx("div",{className:"px-6 py-6",children:d?e.jsxs("div",{className:"space-y-10",children:[e.jsxs("section",{children:[e.jsxs("div",{className:"mb-3 flex items-center gap-3",children:[e.jsx(lt,{className:"h-3.5 w-3.5 text-zinc-400"}),e.jsxs("h2",{className:"font-runway text-[11px] font-black uppercase tracking-[0.25em] text-zinc-900",children:[d.name,"'s looks"]}),e.jsx("span",{className:"font-mono text-[10px] text-zinc-400",children:F.length}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[e.jsx("div",{className:"hidden items-center gap-1 rounded-full border border-zinc-900/10 bg-white p-0.5 sm:flex",children:[2,3,4].map(t=>e.jsx("button",{onClick:()=>Le(t),className:f("flex h-6 w-7 items-center justify-center rounded-full font-mono text-[9px] font-bold transition",A===t?"bg-zinc-900 text-white":"text-zinc-400 hover:text-zinc-900"),title:`${t} looks per row`,children:t},t))}),e.jsxs("button",{onClick:()=>
11{if(!F.length)return m.error("This board is still empty.");const t=ge(o,`${d.name} copy`),s=t.stylists[t.stylists.length-1];c(We(t,d.id,s.id)),m.success(`Board duplicated to ${s.name}`)},className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-900/15 bg-white px-3 py-1.5 font-runway text-[10px] font-bold uppercase tracking-wider text-zinc-700 transition hover:border-zinc-900 hover:text-zinc-900",children:[e.jsx(ye,{className:"h-3 w-3"})," Duplicate board"]})]})]}),e.jsxs("div",{className:"flex items-start gap-6",children:[e.jsxs("aside",{className:"w-52 shrink-0",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("span",{className:"font-runway text-[10px] font-black uppercase tracking-[0.25em] text-zinc-400",children:"Folders"}),e.jsxs("button",{onClick:()=>O(()=>t=>c(s=>be(s,d.id,t))),className:"inline-flex items-center gap-1 rounded-full border border-zinc-900/15 bg-white px-2 py-1 font-runway text-[9px] font-bold uppercase tracking-wider text-zinc-600 transition hover:border-zinc-900 hover:text-zinc-900",title:"New folder",children:[e.jsx(at,{className:"h-3 w-3"})," New"]})]}),e.jsxs("button",{onClick:()=>E("all"),className:f("flex w-full items-center justify-between rounded-xl px-3 py-2 text-left text-[12px] font-semibold transition",p==="all"?"bg-zinc-900 text-white":"text-zinc-700 hover:bg-zinc-900/5"),children:["All looks",e.jsx("span",{className:f("font-mono text-[10px]",p==="all"?"text-white/50":"text-zinc-400"),children:L.length})]}),e.jsx("div",{className:"mt-1 space-y-0.5",children:Re.map(t=>{const s=L.filter(a=>a.folderId===t.id).length,r=p===t.id;return e.jsxs("div",{className:"group/folder relative",children:[re===t.id?e.jsx("input",{autoFocus:!0,value:oe,onChange:a=>le(a.target.value),onBlur:()=>{c(a=>Xe(a,t.id,oe)),ie(null)},onKeyDown:a=>{a.key==="Enter"&&a.target.blur()},className:"w-full rounded-xl border border-zinc-900 bg-white px-3 py-2 text-[12px] outline-none"}):e.jsxs("button",{onClick:()=>E(t.id),className:f("flex w-full items-center gap-2 rounded-xl px-3 py-2 text-left text-[12px] transition",r?"bg-zinc-900 font-semibold text-white":"text-zinc-700 hover:bg-zinc-900/5"),children:[e.jsx(ct,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"min-w-0 flex-1 truncate",children:t.name}),e.jsx("span",{className:f("font-mono text-[10px]",r?"text-white/50":"text-zinc-400"),children:s})]}),re!==t.id&&e.jsxs("div",{className:"absolute right-1.5 top-1/2 hidden -translate-y-1/2 items-center gap-0.5 group-hover/folder:flex",children:[e.jsx("button",{onClick:()=>{ie(t.id),le(t.name)},title:"Rename folder",className:"flex h-5 w-5 items-center justify-center rounded-full border border-zinc-900/15 bg-white text-zinc-400 shadow hover:text-zinc-900",children:e.jsx(ze,{className:"h-2.5 w-2.5"})}),e.jsx("button",{onClick:()=>X(t.id),title:"Delete folder (looks stay)",className:"flex h-5 w-5 items-center justify-center rounded-full border border-zinc-900/15 bg-white text-zinc-400 shadow hover:text-red-600",children:e.jsx(se,{className:"h-2.5 w-2.5"})})]})]},t.id)})}),e.jsx("div",{className:"my-2 border-t border-zinc-900/10"}),e.jsxs("button",{onClick:()=>E("loose"),className:f("flex w-full items-center justify-between rounded-xl px-3 py-2 text-left text-[12px] transition",p==="loose"?"bg-zinc-900 font-semibold text-white":"text-zinc-500 hover:bg-zinc-900/5"),children:["No folder",e.jsx("span",{className:f("font-mono text-[10px]",p==="loose"?"text-white/50":"text-zinc-400"),children:L.filter(t=>!t.folderId).length})]})]}),e.jsx("div",{className:"min-w-0 flex-1",children:F.length===0?e.jsx("div",{className:"rounded-3xl border border-dashed border-zinc-900/15 bg-white px-6 py-14 text-center text-sm text-zinc-500",children:K?"Loading the board…":p!=="all"?"This folder is still empty. Move looks into it with the folder dropdown on a card.":"No looks yet. Accept one from the inbox below."}):e.jsx("div",{className:f("grid gap-5",A===2&&"sm:grid-cols-2",A===3&&"grid-cols-1 sm:grid-cols-2 xl:grid-cols-3",A===4&&"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"),children:F.map(t=>e.jsx(Y,{look:t},t.id))})})]})]}),e.jsxs("section",{children:[e.jsxs("div",{className:"mb-3 flex items-center gap-3",children:[e.jsx(dt,{className:"h-3.5 w-3.5 text-zinc-400"}),e.jsx("h2",{className:"font-runway text-[11px] font-black uppercase tracking-[0.25em] text-zinc-900",children:"Received from"}),e.jsx("span",{className:"font-mono text-[10px] text-zinc-400",children:U.length})]}),U.length===0?e.jsx("div",{className:"rounded-3xl border border-dashed border-zinc-900/15 bg-white px-6 py-10 text-center text-sm text-zinc-500",children:"Nothing waiting. Samples sent from the Samples page land here."}):e.jsx("div",{className:"grid gap-5 sm:grid-cols-2 xl:grid-cols-3",children:U.map(t=>e.jsx(Y,{look:t,inbox:!0},t.id))})]}),e.jsxs("section",{children:[e.jsxs("div",{className:"mb-3 flex items-center gap-3",children:[e.jsx(ke,{className:"h-3.5 w-3.5 text-zinc-400"}),e.jsx("h2",{className:"font-runway text-[11px] font-black uppercase tracking-[0.25em] text-zinc-900",children:"Notes"})]}),e.jsx(Ve,{className:"rounded-3xl border border-zinc-900/10 bg-white p-4",looks:[...F,...U].map(t=>({id:t.id,title:t.title}))})]}),e.jsxs("section",{children:[e.jsxs("button",{onClick:()=>Fe(t=>!t),className:"mb-3 flex w-full items-center gap-3 text-left",children:[e.jsx(Ce,{className:"h-3.5 w-3.5 text-zinc-400"}),e.jsx("h2",{className:"font-runway text-[11px] font-black uppercase tracking-[0.25em] text-zinc-900",children:"Archive"}),e.jsx("span",{className:"font-mono text-[10px] text-zinc-400",children:J.length}),e.jsx(pe,{className:f("ml-auto h-3.5 w-3.5 text-zinc-400 transition",ae?"":"-rotate-90")})]}),ae&&(J.length===0?e.jsx("div",{className:"rounded-3xl border border-dashed border-zinc-900/15 bg-white px-6 py-10 text-center text-sm text-zinc-500",children:"Nothing archived. Archived looks disappear from the board but stay here."}):e.jsx("div",{className:"grid gap-5 sm:grid-cols-2 xl:grid-cols-3",children:J.map(t=>e.jsx(Y,{look:t},t.id))}))]})]}):e.jsx("p",{className:"text-sm text-zinc-500",children:"Add a stylist to get started."})})]})})]})}),i&&e.jsxs("div",{className:"fixed inset-0 z-50 flex bg-[#111]/95 backdrop-blur",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[e.jsxs("div",{className:"flex items-center gap-3 border-b border-white/10 px-6 py-4 text-white",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-mono text-[9px] uppercase tracking-[0.25em] text-white/40",children:i.status==="received"?`Received from ${i.fromName||"the team"}`:"Look"}),e.jsx("input",{value:i.title,onChange:t=>c(s=>we(s,i.id,{title:t.target.value})),className:"w-full max-w-md bg-transparent font-runway text-[18px] font-semibold tracking-tight text-white outline-none"})]}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[e.jsxs("button",{onClick:()=>{var t;return(t=ce.current)==null?void 0:t.click()},className:"inline-flex items-center gap-1.5 rounded-full border border-white/30 px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-white hover:bg-white hover:text-zinc-900",children:[e.jsx(xt,{className:"h-3 w-3"})," Upload photo"]}),i.status==="received"&&e.jsxs("button",{onClick:()=>{c(t=>je(t,i.id)),m.success("Look accepted")},className:"inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-[10px] font-black uppercase tracking-wider text-zinc-900",children:[e.jsx(he,{className:"h-3 w-3"})," Accept"]}),e.jsxs("button",{onClick:()=>W(t=>!t),className:"inline-flex items-center gap-1.5 rounded-full border border-white/30 px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-white hover:bg-white hover:text-zinc-900",children:[D?e.jsx(ut,{className:"h-3 w-3"}):e.jsx(ft,{className:"h-3 w-3"}),D?"Hide info":"Show info"]}),e.jsx("button",{onClick:()=>g(null),className:"inline-flex h-8 w-8 items-center justify-center rounded-full border border-white/20 text-white hover:bg-white/10",children:e.jsx(se,{className:"h-4 w-4"})})]})]}),e.jsx("div",{className:"relative flex-1 overflow-hidden bg-[#1a1a1a] p-4",children:e.jsxs("div",{className:"relative h-full w-full rounded-3xl bg-[#f4f4f1]",onDragOver:t=>{t.dataTransfer.types.includes("application/x-look-photo")&&t.preventDefault()},onDrop:t=>{const s=t.dataTransfer.getData("application/x-look-photo");if(!s)return;t.preventDefault();const r=JSON.parse(s),a=t.currentTarget.getBoundingClientRect(),n=Math.min(92,Math.max(2,(t.clientX-a.left)/a.width*100)),x=Math.min(92,Math.max(2,(t.clientY-a.top)/a.height*100));c(u=>Je(u,i.id,r,{x:n,y:x})),m.success("Picture added to the look")},children:[B.map(t=>e.jsx(gt,{item:t,editable:i.status==="accepted",selected:(h==null?void 0:h.id)===t.id,onSelect:()=>w(t.id),onMove:(s,r)=>c(a=>Ye(a,i.id,t.id,{x:s,y:r})),onRemove:()=>c(s=>qe(s,i.id,t.id))},t.id)),B.length===0&&e.jsx("p",{className:"absolute inset-0 flex items-center justify-center text-sm text-zinc-400",children:"Empty canvas."})]})})]}),D&&e.jsxs("aside",{className:"flex w-[380px] shrink-0 flex-col overflow-y-auto border-l border-white/10 bg-white",children:[e.jsxs("div",{className:"border-b border-zinc-900/10 p-4",children:[e.jsx("p",{className:"mb-2 font-mono text-[9px] uppercase tracking-[0.25em] text-zinc-400",children:"Look photos"}),i.photos.length===0?e.jsx("p",{className:"text-[12px] text-zinc-400",children:"No stills or photos yet."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-zinc-900/10 bg-zinc-100",children:[e.jsx("img",{src:i.photos[Math.min(y,i.photos.length-1)].url,alt:"Look",draggable:!0,onDragStart:t=>{const s=i.photos[Math.min(y,i.photos.length-1)];t.dataTransfer.setData("application/x-look-photo",JSON.stringify({url:s.url,name:s.name})),t.dataTransfer.effectAllowed="copy"},title:"Drag me onto the canvas",className:`aspect-[3/4] w-full cursor-grab object-cover active:cursor-grabbing ${i.photos[Math.min(y,i.photos.length-1)].excluded?"opacity-40 grayscale":""}`}),i.photos.length>1&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:()=>$(t=>(t-1+i.photos.length)%i.photos.length),className:"absolute left-2 top-1/2 inline-flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full bg-white/90 text-zinc-800",children:e.jsx(Ee,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>$(t=>(t+1)%i.photos.length),className:"absolute right-2 top-1/2 inline-flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full bg-white/90 text-zinc-800",children:e.jsx(Te,{className:"h-4 w-4"})})]})]}),e.jsxs("div",{className:"mt-2 flex gap-2",children:[e.jsxs("button",{onClick:()=>{const t=i.photos[Math.min(y,i.photos.length-1)];Z(t.url,t.name||i.title)},className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-900/15 px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-zinc-700 hover:border-zinc-900",children:[e.jsx(ee,{className:"h-3 w-3"})," Download"]}),e.jsxs("button",{onClick:()=>{const t=i.photos[Math.min(y,i.photos.length-1)];c(s=>
11Ge(s,i.id,t.id))},title:"Keep it out of Download look",className:`inline-flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider ${i.photos[Math.min(y,i.photos.length-1)].excluded?"border-zinc-900 bg-zinc-900 text-white":"border-zinc-900/15 text-zinc-700 hover:border-zinc-900"}`,children:[e.jsx(mt,{className:"h-3 w-3"})," Not part of the look"]}),e.jsxs("button",{onClick:()=>{const t=i.photos[Math.min(y,i.photos.length-1)];c(s=>Qe(s,i.id,t.id)),$(0)},className:"inline-flex items-center gap-1.5 rounded-full border border-red-200 px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-red-600 hover:bg-red-50",children:[e.jsx(te,{className:"h-3 w-3"})," Delete"]})]})]})]}),e.jsxs("div",{className:"p-4",children:[e.jsxs("button",{onClick:()=>Ie(t=>!t),className:"mb-2 flex w-full items-center justify-between font-mono text-[9px] uppercase tracking-[0.25em] text-zinc-400 hover:text-zinc-900",children:["Product information",e.jsx(pe,{className:`h-3.5 w-3.5 transition ${ne?"":"-rotate-90"}`})]}),ne?h?(()=>{const{row:t,images:s}=de(h.code);return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-runway text-[15px] font-semibold tracking-tight text-zinc-900",children:h.name||(t==null?void 0:t.name)||"Unnamed piece"}),e.jsx("p",{className:"font-mono text-[10px] uppercase tracking-wider text-zinc-400",children:h.accessory?"Accessory":h.code})]}),t&&e.jsx("dl",{className:"divide-y divide-zinc-900/5 rounded-2xl border border-zinc-900/10",children:Object.entries(t.values??{}).filter(([,r])=>String(r??"").trim()!=="").slice(0,14).map(([r,a])=>e.jsxs("div",{className:"flex gap-3 px-3 py-2",children:[e.jsx("dt",{className:"w-1/2 shrink-0 font-mono text-[9px] uppercase tracking-wider text-zinc-400",children:r}),e.jsx("dd",{className:"min-w-0 flex-1 text-[12px] text-zinc-800",children:String(a)})]},r))}),s.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 font-mono text-[9px] uppercase tracking-[0.25em] text-zinc-400",children:"Sample photos"}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:s.map(r=>e.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-zinc-900/10",children:[e.jsx("img",{src:r.url,alt:r.side,className:"aspect-[3/4] w-full object-cover"}),e.jsxs("button",{onClick:()=>Z(r.url,`${h.code}-${r.side}`),className:"absolute inset-x-1 bottom-1 hidden items-center justify-center gap-1 rounded-full bg-white/90 py-1 text-[9px] font-bold uppercase tracking-wider text-zinc-800 group-hover:flex",children:[e.jsx(ee,{className:"h-2.5 w-2.5"})," Save"]})]},r.id))})]}),!t&&!h.accessory&&e.jsxs("p",{className:"flex items-center gap-2 text-[12px] text-zinc-400",children:[e.jsx(pt,{className:"h-3 w-3"})," This sample is no longer in the register."]})]})})():e.jsx("p",{className:"text-[12px] text-zinc-400",children:"Select a piece on the canvas."}):null]})]})]}),e.jsx("input",{ref:ce,type:"file",accept:"image/*",className:"hidden",onChange:t=>{var r;const s=(r=t.target.files)==null?void 0:r[0];t.target.value="",s&&Me(s)}}),e.jsx(ue,{open:v!==null,onOpenChange:t=>!t&&N(null),title:"Delete this look?",description:"The look and its arrangement are removed from the board. Samples stay in the register.",confirmLabel:"Delete look",tone:"danger",onConfirm:()=>{v&&c(t=>Ze(t,v)),z===v&&g(null),N(null)}}),e.jsx(ue,{open:_!==null,onOpenChange:t=>!t&&X(null),title:"Delete this folder?",description:"The folder disappears. Every look inside stays on the board, without a folder.",confirmLabel:"Delete folder",tone:"danger",onConfirm:()=>{_&&c(t=>et(t,_)),p===_&&E("all"),X(null)}}),e.jsx(Ke,{open:T!==null,mode:"create",eyebrow:"Stylists",onClose:()=>O(null),onSubmit:t=>{T==null||T(t),O(null)}})]})};export{Ss 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.