PageSourceSearch

https://dotb.io/assets/vinted-items-table.js

js dotb.io collected 2026-09-24 14:03:30 UTC 137,491 bytes, 6 lines download raw bytes

1import{m as L,r as d,j as e,B as M,e as ce,aQ as qt,an as Ke,ae as bt,s as ie,bD as xt,Q as Yt,bE as Qt,M as vt,G as Xt,bj as Ie,aT as Jt,E as ei,J as ti,I as ii,P as ai,bF as jt,b8 as oi,aN as kt,K as wt,a0 as yt,X as ni,$ as si,bG as it,av as li}from"./account-selector.js";import{a0 as oe,a1 as ne,a2 as se,a3 as le,a4 as he,S as Z,h as q,i as Y,j as Q,k as E,a5 as ue,aD as ve,N as He,bf as at,bg as ot,bh as nt,P as zt,f as At,g as Dt,L as de,a7 as B,a6 as St,u as je,an as ri,M as R,az as ci,b4 as di,aA as ui,aC as mi,K as Ne,aB as pi,a9 as gi,bi as hi,aa as Tt,ab as Mt,ac as Pt,ad as W,O as fi,bj as Ct,bk as _i,ap as bi,Q as st,U as lt,aj as xi,V as vi,W as ji,X as ki,Y as wi}from"./accounting-orders-table.js";import{L as Te}from"./accounting-panel.js";import{i as yi,a as zi,r as Ai,b as Di,g as Si,c as Ti,f as Mi,d as Pi,l as Ci,I as Ii}from"./image-editor.js";import{g as Ni,C as rt,B as Ei,S as Oi,A as Ri,v as It,T as Li,D as Ui}from"./vinted-form.js";function Nt({open:t,onOpenChange:i,accounts:a,count:s,onConfirm:n}
1){const r=L(),[o,c]=d.useState(""),u=m=>{i(m),m||c("")},_=()=>{o&&(n(o),c(""))};return e.jsx(oe,{open:t,onOpenChange:u,children:e.jsxs(ne,{children:[e.jsxs(se,{children:[e.jsx(le,{children:r.formatMessage({id:"dialog.assignAccountTitle"})}),e.jsx(he,{children:r.formatMessage({id:"dialog.assignAccountDescription"},{count:s})})]}),e.jsxs(Z,{value:o,onValueChange:c,children:[e.jsx(q,{children:e.jsx(Y,{placeholder:r.formatMessage({id:"dialog.assignAccountPlaceholder"})})}),e.jsx(Q,{children:a.map(m=>e.jsx(E,{value:m.id,children:m.login},m.id))})]}),e.jsxs(ue,{children:[e.jsx(ve,{asChild:!0,children:e.jsx(M,{variant:"outline",children:r.formatMessage({id:"dialog.cancel"})})}),e.jsx(M,{onClick:_,disabled:!o,children:r.formatMessage({id:"dialog.assign"})})]})]})})}function Hi(t,i,{rotate:a,flip:s},n){const r={width:"naturalWidth"in i?i.naturalWidth:i.width,height:"naturalHeight"in i?i.naturalHeight:i.height},o=Ai(r,a),c=t.getContext("2d");if(t.height=o.height,t.width=o.width,c){c.save();const u=Di(Si({left:0,top:0,...r}),a);if(c.translate(-(u.left-o.width/2),-(u.top-o.height/2)),c.rotate(a*Math.PI/180),c.translate(s.horizontal?r.width:0,s.vertical?r.height:0),c.scale(s.horizontal?-1:1,s.vertical?-1:1),n&&(n.x!==0||n.y!==0)){const _=n.x*Math.PI/180,m=n.y*Math.PI/180,l=r.width/2,g=r.height/2;c.translate(l,g),c.transform(1,Math.tan(m),Math.tan(_),1,0,0),c.translate(-l,-g)}c.drawImage(i,0,0,r.width,r.height),c.restore()}return t}function Fi(t,i,a,s,n){const r=a.width+Math.max(0,-a.left),o=a.height+Math.max(0,-a.top);t.width=r,t.height=o;const c=t.getContext("2d");return c&&(c.clearRect(0,0,t.width,t.height),n&&(n.imageSmoothingEnabled&&(c.imageSmoothingEnabled=n.imageSmoothingEnabled),n.imageSmoothingQuality&&(c.imageSmoothingQuality=n.imageSmoothingQuality),n.fillColor&&(c.fillStyle=n.fillColor,c.fillRect(0,0,t.width,t.height),c.save())),c.drawImage(i,a.left<0?0:a.left,a.top<0?0:a.top,a.width,a.height,a.left<0?-a.left:0,a.top<0?-a.top:0,a.width,a.height)),t}function Vi(t,i,a,s,n,r){if(yi(t)){const{transforms:o,coordinates:c}=t,_=o.rotate!==0||o.flip.horizontal||o.flip.vertical||r&&(r.x!==0||r.y!==0)?Hi(s,i,o,r):i,m={minWidth:0,minHeight:0,maxWidth:1/0,maxHeight:1/0,maxArea:1/0,imageSmoothingEnabled:!0,imageSmoothingQuality:"high",fillColor:"transparent",...n},l=f=>f.find(y=>Ti(y));let g=zi({sizeRestrictions:{minWidth:l([m.width,m.minWidth])||0,minHeight:l([m.height,m.minHeight])||0,maxWidth:l([m.width,m.maxWidth])||1/0,maxHeight:l([m.height,m.maxHeight])||1/0},width:c.width,height:c.height,aspectRatio:{minimum:c.width/c.height,maximum:c.width/c.height}});if(m.maxArea&&g.width*g.height>m.maxArea){const f=Math.sqrt(m.maxArea/(g.width*g.height));g={width:Math.round(f*g.width),height:Math.round(f*g.height)}}return Fi(a,_,c,g,m)}else return null}const Bi=async t=>{const i=await Mi(t);return Ki(i)},Ki=t=>new Promise((i,a)=>{const s=new FileReader;s.onload=n=>{const r=URL.createObjectURL(t),o=Pi(n.target?.result,t.type);i({objectURL:r,mimeType:o})},s.onerror=n=>{a(n)},s.readAsArrayBuffer(t)}),Et=(t=!1)=>{const i=document.createElement("canvas");return t?(i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.zIndex="9999"):i.style.display="none",document.body.appendChild(i),i},Wi=(t,i,a)=>{t.width=i.naturalWidth,t.height=i.naturalHeight;const s=t.getContext("2d");s.filter=[`brightness(${100+a.brightness}%)`,`contrast(${100+a.contrast}%)`,`saturate(${100+a.saturation}%)`].join(" "),s.drawImage(i,0,0,i.naturalWidth,i.naturalHeight)},Gi=t=>new Promise((i,a)=>{const s=new Image;s.src=t,s.onload=()=>i(s),s.onerror=a}),$i=async(t,i)=>{const a=Et();a.width=t.width,a.height=t.height;const s=new Image;return s.crossOrigin="Anonymous",s.src=i.url,new Promise((n,r)=>{s.onload=()=>{const o=a.getContext("2d");o.drawImage(s,0,0,a.width,a.height),o.globalCompositeOperation="source-in",o.fillStyle=i.color,o.fillRect(0,0,a.width,a.height),o.globalCompositeOperation="source-over",n(a)},s.onerror=()=>{a.remove(),r(new Error(`Failed to load frame image: ${i.url}`))}})},Zi=async(t,i,a)=>{if(!i||i.type==="none")return;const s=t.getContext("2d");if(s){if(s.save(),i.type==="color"){if(s.fillStyle=i.color,s.fillRect(0,0,t.width,t.height),i.blur>0&&a){s.filter=`blur(${i.blur}px)`;const n=Math.max(t.width/a.width,t.height/a.height),r=a.width*n,o=a.height*n,c=(t.width-r)/2,u=(t.height-o)/2;s.drawImage(a,c,u,r,o),s.filter="none"}}else if(i.type==="image"&&i.imageUrl){const n=new Image;n.crossOrigin="Anonymous",n.src=i.imageUrl,await new Promise((r,o)=>{n.onload=()=>{i.blur&&i.blur>0&&(s.filter=`blur(${i.blur}px)`);
1const c=Math.max(t.width/n.naturalWidth,t.height/n.naturalHeight),u=n.naturalWidth*c,_=n.naturalHeight*c,m=(t.width-u)/2,l=(t.height-_)/2;s.drawImage(n,m,l,u,_),s.filter="none",r()},n.onerror=o})}s.restore()}},qi=async(t,i)=>{if(i){if(i.type==="rectangle"){const a=t.getContext("2d"),s=t.width/2*(i.size/100);a.strokeStyle=i.color,a.lineWidth=s,a.strokeRect(s/2,s/2,t.width-s,t.height-s)}else if(i.type==="rectangle2"){const a=t.getContext("2d"),s=t.width/2*(i.size.horizontal/100),n=t.height/2*(i.size.vertical/100);a.fillStyle=i.color,a.fillRect(0,0,t.width,s),a.fillRect(0,t.height,t.width,-s),a.fillRect(0,0,n,t.height),a.fillRect(t.width,0,-n,t.height)}else if(i.type==="plainPng"){const a=await $i(t,i);try{t.getContext("2d").drawImage(a,0,0,t.width,t.height)}finally{a.remove()}}}},Yi=({image:t,imageSize:i,coordinates:a})=>{let s=0,n=0;const r={top:Math.round(a.top),left:Math.round(a.left),width:Math.round(a.width),height:Math.round(a.height)};r.top>0&&(s=Math.round(t.naturalHeight*(r.top/i.height))),r.left>0&&(n=Math.round(t.naturalWidth*(r.left/i.width)));const o=Math.round(t.naturalWidth*r.width/i.width),c=Math.round(t.naturalHeight*r.height/i.height);return{top:s,left:n,width:o,height:c}},Qi=({imageSize:t,image:i,transforms:a,coordinates:s})=>{const n={width:0,height:0},r={top:0,left:0,width:0,height:0};if(t.width===i.naturalWidth&&t.height===i.naturalHeight)return{boundary:n,visibleArea:r,imageSize:t,coordinates:s,transforms:a};{const o=Yi({image:i,imageSize:t,coordinates:s});return{boundary:n,visibleArea:r,transforms:a,coordinates:o,imageSize:{width:i.naturalWidth,height:i.naturalHeight}}}};async function Xi(t,i){const{adjustments:a,transforms:s,coordinates:n,imageSize:r,skew:o,background:c}=i,{objectURL:u,mimeType:_}=await Bi(t),m=[],l=()=>{const g=Et();return m.push(g),g};try{const g=await Gi(u),f=l(),y=l(),A=l();Wi(f,g,a);const z=Qi({image:g,imageSize:r,transforms:s,coordinates:n});Vi(z,f,A,y,{},o);let S=A;if(c&&c.type!=="none"){S=l(),S.width=A.width,S.height=A.height,await Zi(S,c,A);const h=S.getContext("2d");h&&h.drawImage(A,0,0)}return await qi(S,i.frame),await new Promise((h,w)=>{S.toBlob(D=>{D?h(D):w(new Error("Canvas toBlob returned null"))},_)})}finally{URL.revokeObjectURL(u);for(const g of m)g.remove()}}function Ji({imageSize:t,coordinates:i}){const{width:a,height:s}=t,{width:n,height:r,left:o,top:c}=i,u=a-(n+o),_=s-(r+c);return{top:Math.round(c/s*100),right:Math.round(u/a*100),bottom:Math.round(_/s*100),left:Math.round(o/a*100)}}function ea(t,i){const[a,s]=d.useState(null),[n,r]=d.useState(!1);return d.useEffect(()=>{if(!i){s(null);return}let o=!1,c=null;return r(!1),Xi(t,i).then(u=>{if(c=URL.createObjectURL(u),o){URL.revokeObjectURL(c);return}s(c)}).catch(u=>{console.warn("image-editor: preset preview render failed",u),o||r(!0)}),()=>{o=!0,c&&URL.revokeObjectURL(c)}},[t,i]),{objectUrl:a,failed:n}}function ta(t,i){const a=[],{adjustments:s,transforms:n,skew:r}=t;n?.rotate&&a.push(`${i.formatMessage({id:"image_editor_navigation_rotate"})} ${n.rotate}°`),n?.flip?.horizontal&&a.push(i.formatMessage({id:"image_editor_navigation_flip_horizontal"})),n?.flip?.vertical&&a.push(i.formatMessage({id:"image_editor_navigation_flip_vertical"})),r&&(r.x!==0||r.y!==0)&&a.push(`${i.formatMessage({id:"image_editor_navigation_skew"})} ${r.x}° / ${r.y}°`);for(const[o,c]of[["brightness","image_editor_navigation_brightness"],["contrast","image_editor_navigation_contrast"],["saturation","image_editor_navigation_saturation"]]){const u=s?.[o];u&&a.push(`${i.formatMessage({id:c})} ${u>0?"+":""}${u}`)}return a}function ia({url:t,preset:i,className:a}){const s=L(),{objectUrl:n,failed:r}=ea(t,i);if(!i)return e.jsx("span",{className:ce("text-sm text-muted-foreground",a),children:s.formatMessage({id:"no_modifications"})});const o=Ji({imageSize:i.imageSize,coordinates:i.coordinates}),c=o.top!==0||o.right!==0||o.bottom!==0||o.left!==0,u=ta(i,s),_=!!i.background&&i.background.type!=="none";return!c&&u.length===0&&!i.frame&&!_?e.jsx("span",{className:ce("text-sm text-muted-foreground",a),children:s.formatMessage({id:"no_modifications"})}):e.jsxs("div",{className:ce("flex items-center gap-3",a),children:[e.jsx("div",{className:"h-16 w-16 shrink-0 overflow-hidden rounded border bg-muted",children:n?e.jsx("img",{src:n,alt:"",className:"h-full w-full object-contain"}):e.jsx("div",{className:ce("h-full w-full",!r&&"animate-pulse bg-muted-foreground
1/20")})}),e.jsx("div",{className:"flex min-w-0 flex-wrap gap-1",children:u.map(l=>e.jsx(He,{variant:"secondary",className:"font-normal",children:l},l))})]})}const ct=[{id:"default:white-room",name:"White room",prompt:"Change the background with a white room with white painting and a white carpet on the floor. Do not modify the product or the model."},{id:"default:enhanced-lighting-angle",name:"Enhanced lighting & angle",prompt:"Slightly rotate the photo angle by a few degrees and enhance the lighting, shadows, and contrast. Do not modify the product or the model."},{id:"default:clean-flat-lay",name:"Clean flat lay",prompt:"Neatly fold and arrange the clothing item on a clean, white surface. Smooth out any wrinkles and enhance the lighting and colors to give a professional flat lay look. Do not modify the product itself."}];function aa(t){return t.startsWith("default:")}function oa({aiPrompt:t,setAiPrompt:i,selectedPromptId:a,setSelectedPromptId:s,savedPrompts:n,onSave:r,onDelete:o,photoCount:c,costPerPhotoEur:u,totalCostEur:_}){const m=L(),[l,g]=d.useState(!1),[f,y]=d.useState(""),A=async()=>{if(!f.trim()||!t.trim())return;const h=await r(f.trim(),t);h&&s(h.id),y(""),g(!1)},z=h=>{if(h==="_none"){s(null),i("");return}if(h==="_new"){s("_new"),i("");return}s(h);const w=ct.find(D=>D.id===h)??n.find(D=>D.id===h);w&&i(w.prompt)},S=a!==null&&a!=="_new"&&!aa(a);return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs(Z,{value:a??"_none",onValueChange:z,children:[e.jsx(q,{className:"w-48",children:e.jsx(Y,{placeholder:m.formatMessage({id:"ai.savedPrompts"})})}),e.jsxs(Q,{children:[e.jsx(E,{value:"_none",children:m.formatMessage({id:"ai.defaultPrompt"})}),e.jsx(E,{value:"_new",children:m.formatMessage({id:"ai.newPrompt"})}),e.jsx(at,{}),e.jsxs(ot,{children:[e.jsx(nt,{children:m.formatMessage({id:"ai.defaultPrompts"})}),ct.map(h=>e.jsx(E,{value:h.id,children:h.name},h.id))]}),n.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(at,{}),e.jsxs(ot,{children:[e.jsx(nt,{children:m.formatMessage({id:"ai.savedPrompts"})}),n.map(h=>e.jsx(E,{value:h.id,children:h.name},h.id))]})]})]})]}),a&&e.jsxs(zt,{open:l,onOpenChange:g,children:[e.jsx(At,{asChild:!0,children:e.jsx(M,{variant:"outline",size:"icon",disabled:!t.trim(),title:m.formatMessage({id:"ai.savePrompt"}),children:e.jsx(qt,{className:"h-4 w-4"})})}),e.jsx(Dt,{className:"w-64",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(de,{children:m.formatMessage({id:"ai.promptName"})}),e.jsx(B,{value:f,maxLength:255,onChange:h=>y(h.target.value),placeholder:m.formatMessage({id:"ai.promptNamePlaceholder"}),onKeyDown:h=>{h.key==="Enter"&&A()}}),e.jsx(M,{size:"sm",className:"w-full",disabled:!f.trim()||!t.trim(),onClick:A,children:m.formatMessage({id:"ai.save"})})]})})]}),S&&e.jsx(M,{variant:"outline",size:"icon",title:m.formatMessage({id:"ai.deletePrompt"}),onClick:async()=>{await o(a),s(null),i("")},children:e.jsx(Ke,{className:"h-4 w-4"})}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx(bt,{className:"h-4 w-4 text-primary"}),c===0?m.formatMessage({id:"ai.costPerPhoto"},{cost:u.toFixed(3)}):m.formatMessage({id:"ai.costInfo"},{cost:u.toFixed(3),total:_.toFixed(3),count:c})]})]}),a&&e.jsx(St,{value:t,maxLength:1e4,onChange:h=>{i(h.target.value),a!=="_new"&&s("_new")},placeholder:m.formatMessage({id:"ai.promptPlaceholder"}
1),className:"min-h-[60px] resize-y"})]})}const na=30,ke=5,sa=Array.from({length:24},(t,i)=>String(i).padStart(2,"0")),la=Array.from({length:60/ke},(t,i)=>String(i*ke).padStart(2,"0")),ra=6e4,ca=2e4,te=[{key:"1-2m",lo:6e4,hi:12e4},{key:"2-5m",lo:12e4,hi:3e5},{key:"5-10m",lo:3e5,hi:6e5},{key:"10-20m",lo:6e5,hi:12e5},{key:"20-30m",lo:12e5,hi:18e5},{key:"30m-1h",lo:18e5,hi:36e5},{key:"1-2h",lo:36e5,hi:72e5},{key:"2-4h",lo:72e5,hi:144e5}],Fe="5-10m",re="custom",We=[{key:"seconds",ms:1e3},{key:"minutes",ms:6e4},{key:"hours",ms:36e5}],we="minutes",Ee=1440*60*1e3;function ge(t){return We.find(i=>i.key===t)?.ms??ge(we)}function pe(t,i){return Math.max(1,Math.round(t/ge(i)))}const Ot="dotb.publish.delays";function dt(t){const i=Math.floor(t/1e3)%60,a=Math.floor(t/(1e3*60))%60,s=Math.floor(t/(1e3*60*60)),n=[];return s>0&&n.push(`${s}h`),a>0&&n.push(`${a}m`),(i>0||n.length===0)&&n.push(`${i}s`),n.join("")}function da(t,i){const a=new Date(2e3,0,1,10,0,0,0),s={hour:"2-digit",minute:"2-digit",hour12:!1,...t%6e4===0?{}:{second:"2-digit"}},n=r=>new Date(a.getTime()+r*t).toLocaleTimeString(i,s);return{t0:n(0),t1:n(1),serial:[0,1,2,3].map(n).join(", ")}}function ua(){const t=te.find(a=>a.key===Fe),i={publish:!0,perAccount:!1,gapPreset:t.key,lo:t.lo,hi:t.hi,customUnit:we};try{const a=localStorage.getItem(Ot);if(!a)return i;const s=JSON.parse(a),n=typeof s.publish=="boolean"?s.publish:i.publish,r=typeof s.perAccount=="boolean"?s.perAccount:i.perAccount;if(s.gapPreset===re){const c=typeof s.betweenMin=="number"?s.betweenMin:i.lo,u=typeof s.betweenMax=="number"?s.betweenMax:i.hi,_=We.some(m=>m.key===s.customUnit)?s.customUnit:we;return{publish:n,perAccount:r,gapPreset:re,lo:c,hi:u,customUnit:_}}const o=te.find(c=>c.key===s.gapPreset);return o?{publish:n,perAccount:r,gapPreset:o.key,lo:o.lo,hi:o.hi,customUnit:i.customUnit}:{...i,publish:n,perAccount:r}}catch{return i}}function ma(t){const i=new Date(t);return i.setHours(0,0,0,0),i}function pa(t,i){const a=new Date(t);return a.setFullYear(i.getFullYear(),i.getMonth(),i.getDate()),a}function ga(t,i){const a=new Date(t);return a.setHours(i),a}function ha(t,i){const a=new Date(t);return a.setMinutes(i,0,0),a}function Ve(t,i){const a=new Date(t),s=a.getMinutes()%i;return s!==0&&a.setMinutes(a.getMinutes()+(i-s)),a.setSeconds(0,0),a}function fa(t,i){return t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()&&t.getDate()===i.getDate()}function _a({value:t,onChange:i}){const a=L(),[s,n]=d.useState(!1),r=new Date,o=Ve(r,ke),c=new Date(r.getTime()+na*864e5),u=fa(t,r),_=m=>i(m<o?o:m);return e.jsxs(zt,{open:s,onOpenChange:n,children:[e.jsx(At,{asChild:!0,children:e.jsxs(M,{type:"button",variant:"outline",className:"w-full justify-start text-left font-normal",children:[e.jsx(Yt,{className:"mr-2 h-4 w-4 shrink-0"}),t.toLocaleString(a.locale,{dateStyle:"medium",timeStyle:"short"})]})}),e.jsxs(Dt,{className:"w-auto p-0",align:"start",children:[e.jsx(ri,{autoFocus:!0,mode:"single",selected:t,onSelect:m=>{m&&_(pa(t,m))},disabled:{before:ma(r),after:c}}),e.jsxs("div",{className:"flex items-center justify-between gap-2 border-t p-3",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs(Z,{value:String(t.getHours()).padStart(2,"0"),onValueChange:m=>_(ga(t,Number(m))),children:[e.jsx(q,{className:"w-[70px]",children:e.jsx(Y,{})}),e.jsx(Q,{children:sa.map(m=>e.jsx(E,{value:m,disabled:u&&Number(m)<o.getHours(),children:m},m))})]}),e.jsx("span",{className:"text-muted-foreground",children:":"}),e.jsxs(Z,{value:String(t.getMinutes()).padStart(2,"0"),onValueChange:m=>_(ha(t,Number(m))),children:[e.jsx(q,{className:"w-[70px]",children:e.jsx(Y,{})}),e.jsx(Q,{children:la.map(m=>e.jsx(E,{value:m,disabled:u&&t.getHours()===o.getHours()&&Number(m)<o.getMinutes(),children:m},m))})]})]}),e.jsx(M,{type:"button",size:"sm",onClick:()=>n(!1),children:a.formatMessage({id:"publish.scheduledAtDone"})})]})]})]})}function ba({previewPhotoUrl:t,preset:i,onOpen:a}){const s=L();if(!t)return e.jsx("p",{className:"text-sm text-muted-foreground",children:s.formatMessage({id:"publish.editorNoPhoto"})});const n=i!==null;return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs(M,{variant:"outline",size:"sm",onClick:a,children:[e.jsx(xt,{className:"mr-1 h-4 w-4"}),s.formatMessage({id:n?"publish.editorEdit":"publish.editorOpen"})]}),n?e.jsx(ia,{url:t,preset:i,className:"min-w-0 flex-1"}):e.jsx("span",{className:"text-sm text-muted-foreground",children:s.formatMessage({id:"publish.editorHint"})})]})}function Rt({open:t,onOpenChange:i,itemIds:a,skippedOffline:s=0,accountCount:n=1,schedulePublishes:r,onFinished:o,aiOptions:c,onLoadAiOptions:u,onSavePrompt:_,onDeletePrompt:m}){const l=L(),g=ie(),f=d.useMemo(()=>Ci(g),[g]),y=a.length,[A,z]=d.useState(!0),[S,h]=d.useState(!1),[w,D]=d.useState(()=>
1Ve(new Date,ke)),[I,C]=d.useState(Fe),[N,U]=d.useState(()=>{const x=te.find(O=>O.key===Fe);return[x.lo,x.hi]}),[k,P]=d.useState(we),[T,H]=d.useState(5),[F,G]=d.useState(10),[K,j]=d.useState("form"),[p,b]=d.useState(null),[v,fe]=d.useState(null),[X,Ze]=d.useState("original"),[ye,qe]=d.useState(null),[Vt,ze]=d.useState(!1),[Ye,Qe]=d.useState(""),[Bt,Xe]=d.useState(null),Me=d.useRef(!1);d.useEffect(()=>{if(!t)return;Me.current=!1,j("form"),b(null),fe(null),D(Ve(new Date,ke)),Ze("original"),Qe(""),Xe(null),qe(null),ze(!1),u();const x=ua();z(x.publish),h(x.perAccount),C(x.gapPreset),U([x.lo,x.hi]),x.gapPreset===re&&(P(x.customUnit),H(pe(x.lo,x.customUnit)),G(pe(x.hi,x.customUnit)))},[t]);const Je=(x={})=>{try{localStorage.setItem(Ot,JSON.stringify({publish:A,perAccount:S,gapPreset:I,customUnit:k,betweenMin:N[0],betweenMax:N[1],...x}))}catch{}};d.useEffect(()=>{if(t){if(!Me.current){Me.current=!0;return}Je()}},[t,A,S,I,k,N]);const J=A?ra:ca,et=n>1,_e=(x,O,V)=>{const ee=ge(V),be=Math.max(1,Math.ceil(J/ee)),xe=Math.floor(Ee/ee),ae=Math.min(Math.max(be,x),xe),me=Math.min(Math.max(ae,O),xe);P(V),H(ae),G(me),U([ae*ee,me*ee])};d.useEffect(()=>{if(I===re){_e(T,F,k);return}const x=te.find(O=>O.key===I);if(x&&x.hi<=J){const O=te.find(V=>V.hi>J)??te[te.length-1];C(O.key),U([Math.max(O.lo,J),O.hi])}},[J,I]);const Kt=x=>{if(C(x),x===re){const V=we,ee=pe(N[0],V),be=Math.max(ee,pe(N[1],V));_e(ee,be,V);return}const O=te.find(V=>V.key===x);O&&U([O.lo,O.hi])},Wt=x=>{const O=pe(N[0],x),V=Math.max(O,pe(N[1],x));_e(O,V,x)},Gt=async()=>{b(null),fe(null),j("running");const x=Math.max(N[0],J),O=Math.max(N[1],x),V=et&&S;Je({betweenMin:x,betweenMax:O});const ee=X==="ai"&&Ye.trim()||null,be=X==="editor"?ye:null;let xe=null,ae=null;try{const me=await r(a,{publish:A,scheduledAt:w,gapLoMs:x,gapHiMs:O,perAccount:V,photoMode:X,photoPrompt:ee,photoPreset:be});me?.ok===!1?ae=me.error??"unknown":xe=me?.count??null}catch{ae="unknown"}if(ae){fe(ae),j("form");return}b(xe),j("done")},Pe=()=>{K==="done"&&o?.(),j("form"),i(!1)},$t=x=>{if(x){i(!0);return}K!=="running"&&Pe()},Ce=K==="running",tt=K==="done",Zt=c?.preview_photo_url?e.jsx(oe,{open:Vt,onOpenChange:ze,children:e.jsxs(ne,{className:"top-0 left-0 h-svh w-screen max-w-none translate-x-0 translate-y-0 flex-col gap-0 rounded-none border-0 bg-gray-900 p-0 text-white sm:max-w-none",children:[e.jsxs(se,{className:"shrink-0 px-4 pt-4",children:[e.jsx(le,{children:l.formatMessage({id:"publish.editorTitle"})}),e.jsx(he,{className:"text-white/70",children:l.formatMessage({id:"publish.editorSubtitle"})})]}),e.jsx("div",{className:"min-h-0 flex-1",children:e.jsx(Ii,{fill:!0,backgroundsApi:f,url:c.preview_photo_url,preset:ye??void 0,presetCallback:x=>{qe(x),ze(!1)}})})]})}):null;return e.jsxs(e.Fragment,{children:[e.jsx(oe,{open:t,onOpenChange:$t,children:e.jsxs(ne,{children:[e.jsxs(se,{children:[e.jsx(le,{children:l.formatMessage({id:"publish.title"})}),e.jsxs(he,{children:[l.formatMessage({id:"publish.description"},{count:y}),s>0&&e.jsx("span",{className:"mt-1 block text-muted-foreground",children:l.formatMessage({id:"publish.skippedOffline"},{count:s})})]})]}),K==="form"&&e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"flex items-center justify-between gap-3 text-sm",children:[e.jsxs("span",{children:[e.jsx("span",{className:"block font-medium",children:l.formatMessage({id:"publish.afterImport"})}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:l.formatMessage({id:"publish.afterImportHint"})})]}),e.jsx(je,{checked:A,onCheckedChange:z})]}),e.jsxs("div",{className:"flex flex-col gap-8",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-sm font-medium",children:l.formatMessage({id:"publish.photos"})}),e.jsxs(Z,{value:X,onValueChange:x=>Ze(x),children:[e.jsx(q,{className:"w-64",children:e.jsx(Y,{})}),e.jsxs(Q,{children:[e.jsx(E,{value:"original",children:e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("span",{children:l.formatMessage({id:"publish.photosOriginal"})})})}),e.jsx(E,{value:"ai",children:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(bt,{className:"h-4 w-4"}),e.jsx("span",{children:l.formatMessage({id:"publish.photosAi"})})]})}),e.jsx(E,{value:"editor",children:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(xt,{className:"h-4 w-4"}),e.jsx("span",{children:l.formatMessage({id:"publish.photosEditor"})})]})})]})]}),X==="editor"&&e.jsx(ba,{previewPhotoUrl:c?.preview_photo_url??null,preset:ye,onOpen:()=>ze(!0)}),X==="ai"&&c&&e.jsx(oa,{aiPrompt:Ye,setAiPrompt:Qe,selectedPromptId:Bt,setSelectedPromptId:Xe,savedPrompts:c.prompts,onSave:_,onDelete:m,ph
1otoCount:c.photo_count,costPerPhotoEur:c.cost_per_photo_eur,totalCostEur:c.total_cost_eur}),X==="ai"&&c?.enough_credits===!1&&e.jsx("span",{className:"text-xs text-destructive",children:l.formatMessage({id:"publish.notEnoughCredits"})})]}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"text-sm font-medium",children:l.formatMessage({id:"publish.scheduledAt"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:l.formatMessage({id:"publish.scheduledAtHint"})}),e.jsx("div",{className:"mt-2",children:e.jsx(_a,{value:w,onChange:D})})]}),y>1&&e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"text-sm font-medium",children:l.formatMessage({id:"publish.delayBetween"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:l.formatMessage({id:"publish.delayBetweenHint"})}),e.jsxs("div",{className:"mt-2 flex flex-col gap-2",children:[e.jsxs(Z,{value:I,onValueChange:Kt,children:[e.jsx(q,{className:"w-full",children:e.jsx(Y,{})}),e.jsxs(Q,{children:[te.map(x=>e.jsxs(E,{value:x.key,disabled:x.hi<=J,children:[dt(x.lo)," – ",dt(x.hi)]},x.key)),e.jsx(E,{value:re,children:l.formatMessage({id:"publish.gapCustom"})})]})]}),I===re&&e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(B,{type:"number",className:"w-20",min:Math.max(1,Math.ceil(J/ge(k))),max:Math.floor(Ee/ge(k)),value:T,onChange:x=>
1_e(Number(x.target.value)||0,F,k)}),e.jsx("span",{className:"text-xs text-muted-foreground",children:l.formatMessage({id:"publish.gapCustomTo"})}),e.jsx(B,{type:"number",className:"w-20",min:T,max:Math.floor(Ee/ge(k)),value:F,onChange:x=>_e(T,Number(x.target.value)||T,k)}),e.jsxs(Z,{value:k,onValueChange:Wt,children:[e.jsx(q,{className:"w-[110px]",children:e.jsx(Y,{})}),e.jsx(Q,{children:We.map(x=>e.jsx(E,{value:x.key,children:l.formatMessage({id:`publish.gapUnit.${x.key}`})},x.key))})]})]}),et&&e.jsxs("label",{className:"mt-2 flex items-center justify-between gap-3 text-sm",children:[e.jsxs("span",{children:[e.jsx("span",{className:"block font-medium",children:l.formatMessage({id:"publish.perAccountGap"})}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:l.formatMessage({id:"publish.perAccountGapHint"},{count:n,...da(Math.max(N[0],J),l.locale)})})]}),e.jsx(je,{checked:S,onCheckedChange:h})]})]})]})]}),v&&e.jsxs("p",{className:"text-sm text-destructive",children:[v==="insufficient_credits"&&l.formatMessage({id:"publish.notEnoughCredits"}),v==="photo_prompt_too_long"&&l.formatMessage({id:"publish.promptTooLong"}),v==="bridge_offline"&&l.formatMessage({id:"publish.bridgeOfflineError"}),v!=="insufficient_credits"&&v!=="photo_prompt_too_long"&&v!=="bridge_offline"&&v]})]}),(Ce||tt)&&e.jsxs("div",{className:"flex flex-col items-center gap-3 py-4 text-center",children:[Ce&&e.jsx(Te,{}),e.jsx("p",{className:"text-sm",children:Ce?l.formatMessage({id:"publish.scheduling"}):l.formatMessage({id:"publish.scheduledSummary"},{count:p??0})})]}),e.jsxs(ue,{children:[K==="form"&&e.jsxs(e.Fragment,{children:[e.jsx(M,{variant:"outline",onClick:Pe,children:l.formatMessage({id:"dialog.cancel"})}),e.jsx(M,{onClick:Gt,disabled:y===0||X==="ai"&&c?.enough_credits===!1||X==="editor"&&!ye,children:l.formatMessage({id:"publish.confirm"})})]}),tt&&e.jsx(M,{onClick:Pe,children:l.formatMessage({id:"publish.close"})})]})]})}),Zt]})}function Ae({itemId:t,field:i,value:a,currency:s}){const{pushEvent:n}=ie(),[r,o]=d.useState(a??"");d.useEffect(()=>o(a??""),[a]);const c=()=>{n("update_item",{item_id:t,field:i,value:r||null})};return i==="purchase_price"||i==="minimum_offer_price"?e.jsxs("div",{className:"flex items-center gap-0.5",children:[e.jsx(B,{type:"text",inputMode:"decimal",value:r,onChange:u=>o(gi(u.target.value)),onBlur:c,placeholder:"0",className:"h-6 w-18 text-xs px-1.5 py-0.5"}),s&&e.jsx("span",{className:"text-muted-foreground text-xs ml-0.5",children:ti(s)})]}):i==="sku"?e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-muted-foreground text-xs",children:"#"}),e.jsx(B,{value:r,onChange:u=>o(u.target.value),onBlur:c,placeholder:"",className:"h-6 w-24 text-xs px-1.5 py-0.5 blur-sensitive"})]}):e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(vt,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),e.jsx(B,{value:r,onChange:u=>o(u.target.value),onBlur:c,placeholder:"",className:"h-6 w-24 text-xs px-1.5 py-0.5 blur-sensitive"})]})}function Oe({itemId:t,field:i,value:a}){const{pushEvent:s}=ie(),[n,r]=d.useState(a);d.useEffect(()=>r(a),[a]);const o=c=>{r(c),s("update_item",{item_id:t,field:i,value:c})};return e.jsx(je,{checked:n,onCheckedChange:o,className:"scale-75"})}function xa({itemId:t,quantity:i}){const{pushEvent:a}
1=ie(),s=L(),[n,r]=d.useState(i===-1),[o,c]=d.useState(i===-1?"":String(i));d.useEffect(()=>{r(i===-1),c(i===-1?"":String(i))},[i]);const u=l=>a("update_item",{item_id:t,field:"restock_quantity",value:l}),_=l=>{if(r(l),l)u(-1);else{const g=parseInt(o,10),f=Number.isFinite(g)&&g>0?g:1;c(String(f)),u(f)}},m=()=>{const l=parseInt(o,10);Number.isFinite(l)&&l>=0&&u(l)};return e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(je,{checked:n,onCheckedChange:_,className:"scale-75"}),n?e.jsx("span",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"restock.unlimited"})}):e.jsx(B,{type:"number",min:"0",max:"32767",value:o,onChange:l=>c(l.target.value),onBlur:m,className:"h-6 w-16 text-xs px-1.5 py-0.5"})]})}const va=t=>{const i=t?.editable,a=t?.automation??!1,s=t?.showSize??!1,n=t?.assignableAccounts,r=t?.pendingImport??!1,o=L();return d.useMemo(()=>{const c=[{id:"messages_enabled",accessorKey:"messages_enabled",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.messagesEnabled"})}),cell:({row:l})=>e.jsx(Oe,{itemId:l.original.id,field:"messages_enabled",value:l.original.messages_enabled}),meta:{label:o.formatMessage({id:"column.messagesEnabled"})},enableSorting:!1},{id:"restock_enabled",accessorKey:"restock_enabled",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.restock"})}),cell:({row:l})=>e.jsx(Oe,{itemId:l.original.id,field:"restock_enabled",value:l.original.restock_enabled}),meta:{label:o.formatMessage({id:"column.restock"})},enableSorting:!1},{id:"restock_quantity",accessorKey:"restock_quantity",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.restockQuantity"})}),cell:({row:l})=>l.original.restock_enabled?e.jsx(xa,{itemId:l.original.id,quantity:l.original.restock_quantity}):e.jsx("span",{className:"text-muted-foreground",children:"—"}),meta:{label:o.formatMessage({id:"column.restockQuantity"})},enableSorting:!1},{id:"accept_offers_enabled",accessorKey:"accept_offers_enabled",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.acceptOffers"})}),cell:({row:l})=>e.jsx(Oe,{itemId:l.original.id,field:"accept_offers_enabled",value:l.original.accept_offers_enabled}),meta:{label:o.formatMessage({id:"column.acceptOffers"})},enableSorting:!1},{id:"minimum_offer_price",accessorKey:"minimum_offer_price",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.minOffer"})}),cell:({row:l})=>l.original.accept_offers_enabled?e.jsx(Ae,{itemId:l.original.id,field:"minimum_offer_price",value:l.original.minimum_offer_price,currency:l.original.price_currency}):e.jsx("span",{className:"text-muted-foreground",children:"—"}),meta:{label:o.formatMessage({id:"column.minOffer"})},enableSorting:!1}],u={id:"restock_enabled",accessorKey:"restock_enabled",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.restock"})}),cell:({row:l})=>{const g=l.getValue("restock_enabled"),f=l.original.restock_quantity;if(!g)return e.jsxs(He,{variant:"secondary",className:"gap-1",children:[e.jsx(Ie,{className:"h-3 w-3"}),o.formatMessage({id:"restock.disabled"})]});const y=f===-1?o.formatMessage({id:"restock.unlimited"}):`×${f}`;return e.jsxs(He,{variant:"default",className:"gap-1",children:[e.jsx(Ie,{className:"h-3 w-3"}),y]})},meta:{label:o.formatMessage({id:"column.restock"}),variant:"select",icon:Ie,options:[{label:o.formatMessage({id:"restock.enabled"}),value:"true"},{label:o.formatMessage({id:"restock.disabled"}),value:"false"}]},enableColumnFilter:!0,enableSorting:!1},_={id:"supplier_link",accessorKey:"supplier_link",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.supplierLink"})}),cell:({row:l})=>e.jsx(hi,{itemId:l.original.id,value:l.original.supplier_link,event:"update_item",labelId:"column.supplierLink",placeholderId:"supplierLink.placeholder"}),meta:{label:o.formatMessage({id:"column.supplierLink"}),icon:Xt},enableSorting:!1},m={id:"size",accessorKey:"size",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.size"})}),cell:({row:l})=>{const g=l.original.size;return g?e.jsx("span",{className:"blur-sensitive",children:g}):e.jsx("span",{className:"text-muted-foreground",children:"—"})},meta:{label:o.formatMessage({id:"column.size"})},enableSorting:!1};return[ci(),{id:"thumbnail",header:()=>e.jsx(Jt,{className:"h-4 w-4 text-muted-foreground"}),cell:({row:l})=>{const g=l.original.thumbnail_url;return g?e.jsx(ui,{thumbnails:[g]}):e.jsx("span",{className:"text-muted-foreground",children:"—"})},meta:{label:o.formatMessage({id:"column.image"})},enableSorting:!1,size:50},{id:"vinted_id",accessorKey:"vinted_id",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.vintedId"})}),cell:({row:l})=>{const g=l.getValue("vinted_id"),f=l.original.account_country_code;return e.jsx("a",{href:mi(g,f),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-link hover:underline",children:e.jsxs("span",{className:"blur-sensitive",children:[g,e.jsx(ei,{className:"h-3 w-3"})]})})},meta:{label:o.formatMessage({id:"column.vintedId"})},enableSorting:!0},{id:"title",accessorKey:"title",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.title"})}),cell:({row:l})=>{const g=l.getValue("title");return g?e.jsx("div",{className:"flex items-center gap-2 max-w-[300px]",children:e.jsx("span",{className:"truncate blur-sensitive",title:g,children:g})}):e.jsx("span",{className:"text-muted-foreground",children:"-"})},meta:{label:o.formatMessage({id:"column.title"}),placeholder:o.formatMessage({id:"column.searchItems"}),variant:"text"},enableColumnFilter:!0,enableSorting:!1},...r?[{id:"scheduled",accessorKey:"scheduled_publish_at",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.scheduledPublishAt"})}),cell:({row:l})=>e.jsx(Ne,{date:l.getValue("scheduled")}),meta:{label:o.formatMessage({id:"column.scheduledPublishAt"}),variant:"select",options:[{label:o.formatMessage({id:"column.scheduledYes"}),value:"true"},{label:o.formatMessage({id:"column.scheduledNo"}),value:"false"}]},enableColumnFilter:!0,enableSorting:!1}]:[],{id:"price_amount",accessorKey:"price_amount",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.price"})}),cell:({row:l})=>{const g=l.getValue("price_amount"),f=l.original.price_currency;
1if(g===null||!f)return e.jsx("span",{className:"text-muted-foreground",children:"-"});const y=new Intl.NumberFormat(o.locale,{style:"currency",currency:f}).format(g);return e.jsx("div",{className:"text-right font-medium",children:y})},meta:{label:o.formatMessage({id:"column.price"})},enableSorting:!1},...s?[m]:[],{id:"sku",accessorKey:"sku",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.sku"})}),cell:({row:l})=>e.jsx(Ae,{itemId:l.original.id,field:"sku",value:l.original.sku}),meta:{label:o.formatMessage({id:"column.sku"}),icon:Qt},enableSorting:!1},{id:"location",accessorKey:"location",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.location"})}),cell:({row:l})=>e.jsx(Ae,{itemId:l.original.id,field:"location",value:l.original.location}),meta:{label:o.formatMessage({id:"column.location"}),icon:vt},enableSorting:!1},...a?[_]:[],{id:"purchase_price",accessorKey:"purchase_price",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.purchasePrice"})}),cell:({row:l})=>e.jsx(Ae,{itemId:l.original.id,field:"purchase_price",value:l.original.purchase_price,currency:l.original.price_currency}),meta:{label:o.formatMessage({id:"column.purchasePrice"})},enableSorting:!1},...a?c:[u],{id:"inserted_at",accessorKey:"inserted_at",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.savedAt"})}),cell:({row:l})=>e.jsx(Ne,{date:l.getValue("inserted_at")}),meta:{label:o.formatMessage({id:"column.savedAt"}),variant:"dateRange"},enableColumnFilter:!0,enableSorting:!0},{id:"updated_at",accessorKey:"last_saved_at",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.lastSavedAt"})}),cell:({row:l})=>e.jsx(Ne,{date:l.getValue("updated_at")}),meta:{label:o.formatMessage({id:"column.lastSavedAt"})},enableSorting:!0},{id:"account_login",accessorKey:"account_login",header:({column:l})=>e.jsx(R,{column:l,label:o.formatMessage({id:"column.account"})}),cell:({row:l})=>e.jsx(pi,{login:l.getValue("account_login"),vintedId:l.original.account_vinted_id,countryCode:l.original.account_country_code}),meta:{label:o.formatMessage({id:"column.account"}),placeholder:o.formatMessage({id:"column.searchAccounts"}),variant:"text",icon:di},filterFn:(l,g,f)=>{if(!f||Array.isArray(f)&&f.length===0)return!0;const y=l.getValue(g);return Array.isArray(f)?f.includes(y):y.toLowerCase().includes(f.toLowerCase())},enableColumnFilter:!0,enableSorting:!0},{id:"actions",header:()=>e.jsx("span",{className:"sr-only",children:o.formatMessage({id:"aria.actions"})}),cell:({row:l})=>e.jsx(ja,{item:l.original,editable:i,assignableAccounts:n}),enableSorting:!1,enableHiding:!1,size:50}]},[o,i,a,s,n,r])};function ja({item:t,editable:i,assignableAccounts:a}){const s=L(),{pushEvent:n}=ie(),[r,o]=d.useState(!1),[c,u]=d.useState(!1),[_,m]=d.useState(!1),l=()=>{n("delete_item",{item_id:t.id})},g=w=>{n("assign_account",{item_ids:[t.id],account_id:w}),u(!1)},f=d.useCallback((w,D)=>n("schedule_publishes",{item_ids:w,publish:D.publish,scheduled_at:D.scheduledAt.toISOString(),gap_lo_ms:D.gapLoMs,gap_hi_ms:D.gapHiMs,per_account_gap:D.perAccount,photo_mode:D.photoMode,photo_prompt:D.photoPrompt,photo_preset:D.photoPreset}),[n]),[y,A]=d.useState(null),z=d.useCallback(()=>{n("load_ai_photo_options",{item_ids:[t.id]}).then(w=>A(w))},[n,t.id]),S=d.useCallback(async(w,D)=>{const I=await n("create_ai_prompt",{name:w,prompt:D});return!I.ok||!I.prompt?null:(z(),I.prompt)},[n,z]),h=d.useCallback(async w=>{await n("delete_ai_prompt",{id:w}),z()},[n,z]);return e.jsxs(e.Fragment,{children:[e.jsxs(Tt,{children:[e.jsx(Mt,{asChild:!0,children:e.jsxs(M,{variant:"outline",size:"icon",className:"h-8 w-8",children:[e.jsx(ii,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s.formatMessage({id:"aria.openMenu"})})]})}),e.jsxs(Pt,{align:"end",children:[i&&e.jsx(W,{asChild:!0,children:e.jsxs("a",{href:`/dashboard/vinted/items/${t.id}/edit?return_to=${encodeURIComponent(window.location.pathname+window.location.search)}`,children:[e.jsx(ai,{className:"h-4 w-4"}),s.formatMessage({id:"actions.edit"})]})}),a&&a.length>0&&e.jsxs(W,{onSelect:w=>{w.preventDefault(),u(!0)},children:[e.jsx(jt,{className:"h-4 w-4"}),s.formatMessage({id:"toolbar.assignAccount"})]}),t.bridge_connected!==void 0&&(t.scheduled_publish_at?e.jsxs(W,{onSelect:w=>{w.preventDefault(),n("cancel_scheduled_publish",{item_id:t.id})},children:[e.jsx(oi,{className:"h-4 w-4"}),s.formatMessage({id:"publish.cancelScheduled"})]}):e.jsxs(W,{disabled:t.bridge_connected===!1,onSelect:w=>{w.preventDefault(),m(!0)},children:[e.jsx(kt,{className:"h-4 w-4"}),s.formatMessage({id:"publish.action"}),t.bridge_connected===!1&&e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:s.formatMessage({id:"publish.bridgeOffline"})})]})),e.jsxs(W,{onSelect:w=>{w.preventDefault(),o(!0)},children:[e.jsx(Ke,{className:"h-4 w-4"}),s.formatMessage({id:"actions.delete"})]})]})]}),e.jsx(oe,{open:r,onOpenChange:o,children:e.jsxs(ne,{children:[e.jsxs(se,{children:[e.jsx(le,{children:s.formatMessage({id:"dialog.deleteItemTitle"})}),e.jsx(he,{children:s.formatMessage({id:"dialog.deleteItemDescription"},{title:t.title||t.vinted_id})})]}),e.jsxs(ue,{children:[e.jsx(ve,{asChild:!0,children:e.jsx(M,{variant:"outline",children:s.formatMessage({id:"dialog.cancel"})})}),e.jsx(ve,{asChild:!0,children:e.jsx(M,{variant:"destructive",onClick:l,children:s.formatMessage({id:"dialog.confirm"})})})]})]})}),e.jsx(Nt,{open:c,onOpenChange:u,accounts:a??[],count:1,onConfirm:g}),e.jsx(Rt,{open:_,onOpenChange:m,itemIds:[t.id],schedulePublishes:f,onFinished:()=>n("publishing_done",{}),aiOptions:y,onLoadAiOptions:z,onSavePrompt:S,onDeletePrompt:h})]})}const ka={no_modifications:"No modifications",image_editor_load_failed:"This photo could not be loaded.",image_editor_background_blur:"Blur",image_editor_background_color:"Color",image_editor_background_image:"Image",image_editor_background_none:"None",image_editor_background_pick_color:"Pick Color",image_editor_category_all:"All",image_editor_category_custom:"My Backgroun
1ds",image_editor_category_marble:"Marble",image_editor_category_rug:"Rug",image_editor_category_wood:"Wood",image_editor_choose_image:"Choose an image",image_editor_navigation_adjust:"Adjust",image_editor_navigation_background:"Background",image_editor_navigation_brightness:"Brightness",image_editor_navigation_contrast:"Contrast",image_editor_navigation_crop:"Crop",image_editor_navigation_download:"Download",image_editor_navigation_flip_horizontal:"Flip horizontal",image_editor_navigation_flip_vertical:"Flip vertical",image_editor_navigation_frame:"Frame",image_editor_navigation_rotate:"Rotate",image_editor_navigation_rotate_left:"Rotate left",image_editor_navigation_rotate_right:"Rotate right",image_editor_navigation_saturation:"Saturation",image_editor_navigation_save:"Save",image_editor_navigation_simple_2_frame_size:"Simple Frame vertical: {VERTICAL}%, horizontal: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Simple Frame size",image_editor_navigation_skew:"Skew",image_editor_navigation_skew_x:"Skew X",image_editor_navigation_skew_y:"Skew Y",image_editor_navigation_upload:"Upload",image_editor_no_custom_backgrounds:"No custom backgrounds yet",image_editor_or_drop:"or drop it here",image_editor_title:"Image Editor",image_editor_upload_first_background:"Upload your first background image above",image_editor_upload_image:"Upload image",image_editor_uploading:"Uploading...",image_editor_utils_date:"Date",image_editor_utils_preset:"Modifications"},wa={no_modifications:"Aucune modification",image_editor_load_failed:"Cette photo n’a pas pu être chargée.",image_editor_background_blur:"Flou",image_editor_background_color:"Couleur",image_editor_background_image:"Image",image_editor_background_none:"Aucun",image_editor_background_pick_color:"Choisir une couleur",image_editor_category_all:"Tout",image_editor_category_custom:"Mes arrière-plans",image_editor_category_marble:"Marbre",image_editor_category_rug:"Tapis",image_editor_category_wood:"Bois",image_editor_choose_image:"Choisir une image",image_editor_navigation_adjust:"Ajuster",image_editor_navigation_background:"Arrière-plan",image_editor_navigation_brightness:"Luminosité",image_editor_navigation_contrast:"Contraste",image_editor_navigation_crop:"Recadrer",image_editor_navigation_download:"Télécharger",image_editor_navigation_flip_horizontal:"Retourner horizontalement",image_editor_navigation_flip_vertical:"Retourner verticalement",image_editor_navigation_frame:"Cadre",image_editor_navigation_rotate:"Pivoter",image_editor_navigation_rotate_left:"Pivoter à gauche",image_editor_navigation_rotate_right:"Pivoter à droite",image_editor_navigation_saturation:"Saturation",image_editor_navigation_save:"Enregistrer",image_editor_navigation_simple_2_frame_size:"Cadre simple vertical : {VERTICAL}%, horizontal : {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Taille du cadre simple",image_editor_navigation_skew:"Incliner",image_editor_navigation_skew_x:"Inclinaison X",image_editor_navigation_skew_y:"Inclinaison Y",image_editor_navigation_upload:"Télécharger",image_editor_no_custom_backgrounds:"Pas encore d'arrière-plans personnalisés",image_editor_or_drop:"ou déposez-le ici",image_editor_title:"Éditeur d'images",image_editor_upload_first_background:"Téléchargez votre première image d'arrière-plan ci-dessus",image_editor_upload_image:"Télécharger l'image",image_editor_uploading:"Téléchargement...",image_editor_utils_date:"Date",image_editor_utils_preset:"Modifications"},ya={no_modifications:"Sin modificaciones",image_editor_load_failed:"No se ha podido cargar esta foto.",image_editor_background_blur:"Desenfoque",image_editor_background_color:"Color",image_editor_background_image:"Imagen",image_editor_background_none:"Ninguno",image_editor_background_pick_color:"Elegir color",image_editor_category_all:"Todo",image_editor_category_custom:"Mis fondos",image_editor_category_marble:"Mármol",image_editor_category_rug:"Alfombra",image_editor_category_wood:"Madera",image_editor_choose_image:"Elige una imagen",image_editor_navigation_adjust:"Ajustar",image_editor_navigation_background:"Fondo",image_editor_navigation_brightness:"Brillo",image_editor_navigation_contrast:"Contraste",image_editor_navigation_crop:"Recortar",image_editor_navigation_download:"Descargar",image_editor_navigation_flip_horizontal:"Voltear horizontal",image_editor_navigation_flip_vertical:"Voltear vertical",image_editor_navigation_frame:"Marco",image_editor_navigation_rotate:"Rotar",image_editor_navigation_rotate_left:"Rotar a la izquierda",image_editor_navigation_rotate_right:"Rotar a la derecha",image_editor_navigation_saturation:"Saturación",image_editor_navigation_save:"Guardar",image_editor_navigation_simple_2_frame_size:"Marco simple vertical: {VERTICAL}%, horizontal: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Tamaño de marco simple",image_editor_navigation_skew:"Sesgar",image_editor_navigation_skew_x:"Sesgar X",image_editor_navigation_skew_y:"Sesgar Y",image_editor_navigation_upload:"Subir",image_editor_no_custom_backgrounds:"Aún no hay fondos personalizados",image_editor_or_drop:"o suéltalo aquí",image_editor_title:"Editor de imágenes",image_editor_upload_first_background:"Sube tu primera imagen de fondo arriba",image_editor_upload_image:"Subir imagen",image_editor_uploading:"Subiendo...",image_editor_utils_date:"Fecha",image_editor_utils_preset:"Modificaciones"},za={no_modifications:"Nessuna modifica",image_editor_load_failed:"Non è stato possibile caricare questa foto.",image_editor_background_blur:"Sfocatura",image_editor_background_color:"Colore",image_editor_background_image:"Immagine",image_editor_background_none:"Nessuno",image_editor_background_pick_color:"Scegli colore",image_editor_category_all:"Tutto",image_editor_category_custom:"I miei sfondi",image_editor_category_marble:"Marmo",image_editor_category_rug:"Tappeto",image_editor_category_woo
1d:"Legno",image_editor_choose_image:"Scegli un'immagine",image_editor_navigation_adjust:"Regola",image_editor_navigation_background:"Sfondo",image_editor_navigation_brightness:"Luminosità",image_editor_navigation_contrast:"Contrasto",image_editor_navigation_crop:"Ritaglia",image_editor_navigation_download:"Scarica",image_editor_navigation_flip_horizontal:"Capovolgi orizzontalmente",image_editor_navigation_flip_vertical:"Capovolgi verticalmente",image_editor_navigation_frame:"Cornice",image_editor_navigation_rotate:"Ruota",image_editor_navigation_rotate_left:"Ruota a sinistra",image_editor_navigation_rotate_right:"Ruota a destra",image_editor_navigation_saturation:"Saturazione",image_editor_navigation_save:"Salva",image_editor_navigation_simple_2_frame_size:"Cornice semplice verticale: {VERTICAL}%, orizzontale: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Dimensioni cornice semplice",image_editor_navigation_skew:"Inclina",image_editor_navigation_skew_x:"Inclina X",image_editor_navigation_skew_y:"Inclina Y",image_editor_navigation_upload:"Carica",image_editor_no_custom_backgrounds:"Nessuno sfondo personalizzato ancora",image_editor_or_drop:"o trascinalo qui",image_editor_title:"Editor di immagini",image_editor_upload_first_background:"Carica la tua prima immagine di sfondo sopra",image_editor_upload_image:"Carica immagine",image_editor_uploading:"Caricamento...",image_editor_utils_date:"Data",image_editor_utils_preset:"Modifiche"},Aa={no_modifications:"Sem modificações",image_editor_load_failed:"Não foi possível carregar esta foto.",image_editor_background_blur:"Desfoque",image_editor_background_color:"Cor",image_editor_background_image:"Imagem",image_editor_background_none:"Nenhum",image_editor_background_pick_color:"Escolher cor",image_editor_category_all:"Tudo",image_editor_category_custom:"Os meus fundos",image_editor_category_marble:"Mármore",image_editor_category_rug:"Tapete",image_editor_category_wood:"Madeira",image_editor_choose_image:"Escolher uma imagem",image_editor_navigation_adjust:"Ajustar",image_editor_navigation_background:"Fundo",image_editor_navigation_brightness:"Brilho",image_editor_navigation_contrast:"Contraste",image_editor_navigation_crop:"Cortar",image_editor_navigation_download:"Descarregar",image_editor_navigation_flip_horizontal:"Inverter horizontalmente",image_editor_navigation_flip_vertical:"Inverter verticalmente",image_editor_navigation_frame:"Moldura",image_editor_navigation_rotate:"Rodar",image_editor_navigation_rotate_left:"Rodar para a esquerda",image_editor_navigation_rotate_right:"Rodar para a direita",image_editor_navigation_saturation:"Saturação",image_editor_navigation_save:"Guardar",image_editor_navigation_simple_2_frame_size:"Moldura Simples vertical: {VERTICAL}%, horizontal: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Tamanho da Moldura Simples",image_editor_navigation_skew:"Inclinar",image_editor_navigation_skew_x:"Inclinar X",image_editor_navigation_skew_y:"Inclinar Y",image_editor_navigation_upload:"Carregar",image_editor_no_custom_backgrounds:"Ainda sem fundos personalizados",image_editor_or_drop:"ou largue aqui",image_editor_title:"Editor de imagens",image_editor_upload_first_background:"Carregue a sua primeira imagem de fundo acima",image_editor_upload_image:"Carregar imagem",image_editor_uploading:"A carregar...",image_editor_utils_date:"Data",image_editor_utils_preset:"Modificações"},Da={no_modifications:"Geen wijzigingen",image_editor_load_failed:"Deze foto kon niet worden geladen.",image_editor_background_blur:"Vervagen",image_editor_background_color:"Kleur",image_editor_background_image:"Afbeelding",image_editor_background_none:"Geen",image_editor_background_pick_color:"Kies kleur",image_editor_category_all:"Alle",image_editor_category_custom:"Mijn achtergronden",image_editor_category_marble:"Marmer",image_editor_category_rug:"Tapijt",image_editor_category_wood:"Hout",image_editor_choose_image:"Kies een afbeelding",image_editor_navigation_adjust:"Aanpassen",image_editor_navigation_background:"Achtergrond",image_editor_navigation_brightness:"Helderheid",image_editor_navigation_contrast:"Contrast",image_editor_navigation_crop:"Bijsnijden",image_editor_navigation_download:"Downloaden",image_editor_navigation_flip_horizontal:"Horizontaal spiegelen",image_editor_navigation_flip_vertical:"Verticaal spiegelen",image_editor_navigation_frame:"Kader",image_editor_navigation_rotate:"Roteren",image_editor_navigation_rotate_left:"Linksom draaien",image_editor_navigation_rotate_right:"Rechtsom draaien",image_editor_navigation_saturation:"Verzadiging",image_editor_navigation_save:"Opslaan",image_editor_navigation_simple_2_frame_size:"Eenvoudig kader verticaal: {VERTICAL}%, horizontaal: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Eenvoudige kadergrootte",image_editor_navigation_skew:"Scheeftrekken",image_editor_navigation_skew_x:"X scheeftrekken",image_editor_navigation_skew_y:"Y scheeftrekken",image_editor_navigation_upload:"Uploaden",image_editor_no_custom_backgrounds:"Nog geen aangepaste achtergronden",image_editor_or_drop:"of sleep het hier",image_editor_title:"Afbeeldingeneditor",image_editor_upload_first_background:"Upload je eerste achtergrondafbeelding hierboven",image_editor_upload_image:"Afbeelding uploaden",image_editor_uploading:"Uploaden...",image_editor_utils_date:"Datum",image_editor_utils_preset:"Aanpassingen"},Sa={no_modifications:"Brak modyfikacji",image_editor_load_failed:"Nie udało się wczytać tego zdjęcia.",image_editor_background_blur:"Rozmycie",image_editor_background_color:"Kolor",image_editor_background_image:"Obraz",image_editor_background_none:"Brak",image_editor_background_pick_color:"Wybierz kolor",image_editor_category_all:"Wszystkie",image_editor_category_custom:"Moje tła",image_editor_category_marble:"Marmur",image_editor_category_rug:"Dywan",image_editor_category_woo
1d:"Drewno",image_editor_choose_image:"Wybierz obraz",image_editor_navigation_adjust:"Dostosuj",image_editor_navigation_background:"Tło",image_editor_navigation_brightness:"Jasność",image_editor_navigation_contrast:"Kontrast",image_editor_navigation_crop:"Przytnij",image_editor_navigation_download:"Pobierz",image_editor_navigation_flip_horizontal:"Odbij poziomo",image_editor_navigation_flip_vertical:"Odbij pionowo",image_editor_navigation_frame:"Ramka",image_editor_navigation_rotate:"Obróć",image_editor_navigation_rotate_left:"Obróć w lewo",image_editor_navigation_rotate_right:"Obróć w prawo",image_editor_navigation_saturation:"Nasycenie",image_editor_navigation_save:"Zapisz",image_editor_navigation_simple_2_frame_size:"Prosta ramka pionowa: {VERTICAL}%, pozioma: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Rozmiar prostej ramki",image_editor_navigation_skew:"Przekrzyw",image_editor_navigation_skew_x:"Przekrzyw X",image_editor_navigation_skew_y:"Przekrzyw Y",image_editor_navigation_upload:"Prześlij",image_editor_no_custom_backgrounds:"Brak niestandardowych teł",image_editor_or_drop:"lub upuść tutaj",image_editor_title:"Edytor obrazów",image_editor_upload_first_background:"Prześlij swój pierwszy obraz tła powyżej",image_editor_upload_image:"Prześlij obraz",image_editor_uploading:"Przesyłanie...",image_editor_utils_date:"Data",image_editor_utils_preset:"Modyfikacje"},Ta={no_modifications:"Keine Änderungen",image_editor_load_failed:"Dieses Foto konnte nicht geladen werden.",image_editor_background_blur:"Unschärfe",image_editor_background_color:"Farbe",image_editor_background_image:"Bild",image_editor_background_none:"Keine",image_editor_background_pick_color:"Farbe wählen",image_editor_category_all:"Alle",image_editor_category_custom:"Meine Hintergründe",image_editor_category_marble:"Marmor",image_editor_category_rug:"Teppich",image_editor_category_wood:"Holz",image_editor_choose_image:"Wähle ein Bild",image_editor_navigation_adjust:"Anpassen",image_editor_navigation_background:"Hintergrund",image_editor_navigation_brightness:"Helligkeit",image_editor_navigation_contrast:"Kontrast",image_editor_navigation_crop:"Zuschneiden",image_editor_navigation_download:"Herunterladen",image_editor_navigation_flip_horizontal:"Horizontal spiegeln",image_editor_navigation_flip_vertical:"Vertikal spiegeln",image_editor_navigation_frame:"Rahmen",image_editor_navigation_rotate:"Drehen",image_editor_navigation_rotate_left:"Links drehen",image_editor_navigation_rotate_right:"Rechts drehen",image_editor_navigation_saturation:"Sättigung",image_editor_navigation_save:"Speichern",image_editor_navigation_simple_2_frame_size:"Einfacher Rahmen vertikal: {VERTICAL}%, horizontal: {HORIZONTAL}%",image_editor_navigation_simple_frame_size:"Einfache Rahmengröße",image_editor_navigation_skew:"Schräg stellen",image_editor_navigation_skew_x:"X schräg stellen",image_editor_navigation_skew_y:"Y schräg stellen",image_editor_navigation_upload:"Hochladen",image_editor_no_custom_backgrounds:"Noch keine benutzerdefinierten Hintergründe",image_editor_or_drop:"oder hier ablegen",image_editor_title:"Bildbearbeitung",image_editor_upload_first_background:"Lade dein erstes Hintergrundbild oben hoch",image_editor_upload_image:"Bild hochladen",image_editor_uploading:"Hochladen...",image_editor_utils_date:"Datum",image_editor_utils_preset:"Änderungen"},Be={en:ka,fr:wa,es:ya,it:za,pt:Aa,nl:Da,pl:Sa,de:Ta};function Ma(t){const i={};for(const a of Object.keys(Be))i[a]={...Be[a],...t[a]};return i}wt(Be);const Pa={"column.vintedId":"Vinted ID","column.image":"Image","column.title":"Title","column.price":"Price","column.account":"Account","column.sku":"SKU","column.size":"Size","column.location":"Location","column.purchasePrice":"Purchase Price","column.supplierLink":"Supplier Link","supplierLink.placeholder":"Paste a URL...","column.restock":"Restock","column.messagesEnabled":"Messages Enabled","column.restockQuantity":"Restock Quantity","column.acceptOffers":"Accept Offers","column.minOffer":"Min Offer","column.savedAt":"Saved At","column.lastSavedAt":"Last Saved","column.scheduledPublishAt":"Scheduled","column.scheduledYes":"Scheduled","column.scheduledNo":"Not scheduled","column.searchAccounts":"Search accounts...","column.searchItems":"Search title, SKU or location...","restock.enabled":"Enabled","restock.disabled":"Disabled","restock.unlimited":"Unlimited","toolbar.simple":"Simple","toolbar.advanced":"Advanced","toolbar.reset":"Reset","toolbar.resetFilters":"Reset filters","toolbar.bulkActions":"Actions","toolbar.deleteSelected":"Delete selected","toolbar.assignAccount":"Assign Account","publish.action":"Schedule publish","duplicate.action":"Duplicate","duplicate.title":"Duplicate listings","duplicate.description":"This will duplicate {count} listing(s) {copies} time(s).","duplicate.copies":"Number of duplicates per item","duplicate.copyPhotos":"Copy photos","duplicate.copyPhotosHint":"Toggle off to duplicate without photos","duplicate.confirm":"Duplicate","duplicate.tooMany":"That is too many duplicates at once. Reduce the selection or the number of copies.","duplicate.progress":"{done} of {total} duplicated…","duplicate.failed":"The duplication could not be started.","publish.cancelScheduled":"Cancel scheduled publish","publish.title":"Schedule publish to Vinted?","publish.description":"Schedule {count} item(s) to publish to Vinted with the extension.","publish.afterImport":"Publish after import","publish.afterImportHint":"Otherwise it stays a draft","publish.scheduledAt":"Publish at","publish.scheduledAtHint":"Choose the date and time to start publishing items.","publish.scheduledAtDone":"Done","publish.delayBetween":"Delay between each action","publish.delayBetweenHint":"A random delay will be picked between these two values for each publish action.","publish.perAccountGap":"Publish accounts in parallel","publish.perAccountGapHint":"The delay applies within each account, not across them, so all {count} accounts start at the same time. Example with 2 accounts of 2 items each: {t0} and {t1} on both, instead of {serial} in a single queue.","publish.gapCustom":"Custom…","publish.gapCustomTo":"to","publish.gapUnit.seconds":"seconds","publish.gapUnit.minutes":"minutes","publish.gapUnit.hours":"hours","publish.confirm":"Schedule","publish.scheduling":"Scheduling…","publish.scheduledSummary":"Scheduled {count} item(s) to publish","publish.close":"Close","dialog.assignAccountTitle":"Assign Account","dialog.assignAccountDescription":"Select the account to assign {count, plural, one {# item} other {# items}} to.","dialog.assignAccountPlaceholder":"Select account...","dialog.assign":"Assign","dialog.deleteItemsTitle":"Delete Items","dialog.deleteItemsDescription":"Are you sure you want to delete {count, plural, one {# item} other {# items}}? This action cannot be undone.","aria.selectAll":"Select all","aria.selectRow":"Select row","aria.actions":"Actions","aria.openMenu":"Open menu","actions.edit":"Edit","actions.delete":"Delete","dialog.deleteItemTitle":"Delete Item","dialog.deleteItemDescription":'Are you sure you want to delete "{title}"? This action cannot be undone.',"dialog.cancel":"Cancel","dialog.confirm":"Delete","toolbar.editTitleDesc":"Edit Title/Desc","toolbar.editCatalog":"Edit Catalog","editTitleDesc.title":"Edit Items","editTitleDesc.action":"Action","editTitleDesc.actionReplace":"Replace","editTitleDesc.actionAppend":"Append","editTitleDesc.actionPrepend":"Prepend","editTitleDesc.field":"Field","editTitleDesc.fieldTitle":"Title","editTitleDesc.fieldDescription":"Description","editTitleDesc.text":"Text","editTitleDesc.textPlaceholder":"Enter text...","editTitleDesc.replaceWith":"Replace with","editTitleDesc.replaceWithPlaceholder":"Replacement text...","editTitleDesc.apply":"Apply","editTitleDesc.titleLabel":"Title","editTitleDesc.descriptionLabel":"Description","editTitleDesc.reset":"Reset","editTitleDesc.update":"Update","editTitleDesc.loading":"Loading…","title-min-length":"Title must be at least 5 characters","title-max-length":"Title must be at most 100 characters","title-too-many-capitals":"Title contains too many capital letters, try using lowercase letters","description-min-length":"Description must be at least 5 characters","description-max-length":"Description must be at most 2000 characters","publish.photos":"Photos modification","publish.photosOriginal":"No modification (default)","publish.photosAi":"AI edit photos","publish.photosEditor":"Editor","publish.editorOpen":"Open the editor","publish.editorEdit":"Edit again","publish.editorHint":"Crop, rotate, adjust, add a frame or a background","publish.editorEdited":"Your edit will be applied to every photo","publish.editorNoPhoto":"None of the selected listings has a photo to edit.","publish.editorTitle":"Edit photos","publish.editorSubtitle":"The edit is applied to every photo of every selected listing.","publish.notEnoughCredits":"Not enough AI credits for this selection","publish.promptTooLong":"The prompt is too long (max 10,000 characters)","publish.bridgeOffline":"(extension offline)","publish.skippedOffline":"{count} item(s) skipped — their extension is offline.","publish.bridgeOfflineError":"The extension for this account is offline. Open your browser with the extension connected and try again.","ai.savedPrompts":"Saved prompts","ai.defaultPrompt":"Default","ai.newPrompt":"New prompt","ai.defaultPrompts":"Default prompts","ai.savePrompt":"Save prompt","ai.promptName":"Prompt name","ai.promptNamePlaceholder":"My prompt...","ai.save":"Save","ai.deletePrompt":"Delete prompt","ai.promptPlaceholder":"Write a prompt. Use english for best results.","ai.costPerPhoto":"{cost} € / photo","ai.costInfo":"{cost} € / photo — Total: {total} € ({count, plural, one {# photo} other {# photos}})"},Ca={"column.vintedId":"ID Vinted","column.image":"Image","column.title":"Titre","column.price":"Prix","column.account":"Compte","column.sku":"SKU","column.size":"Taille","column.location":"Emplacement","column.purchasePrice":"Prix d'achat","column.supplierLink":"Lien fournisseur","supplierLink.placeholder":"Coller une URL...","column.restock":"Réapprovisionnement","column.messagesEnabled":"Messages activés","column.restockQuantity":"Quantité de réappro.","column.acceptOffers":"Accepter les offres","column.minOffer":"Offre min.","column.savedAt":"Enregistré le","column.lastSavedAt":"Dernier enregistrement","column.scheduledPublishAt":"Planifié","column.scheduledYes":"Planifié","column.scheduledNo":"Non planifié","column.searchAccounts":"Rechercher des comptes...","column.searchItems":"Rechercher titre, SKU ou emplacement...","restock.enabled":"Activé","restock.disabled":"Désactivé","restock.unlimited":"Illimité","toolbar.simple":"Simple","toolbar.advanced":"Avancé","toolbar.reset":"Réinitialiser","toolbar.resetFilters":"Réinitialiser les filtres","toolbar.bulkActions":"Actions","toolbar.deleteSelected":"Supprimer la sélection","toolbar.assignAccount":"Assigner un compte","publish.action":"Planifier la publication","duplicate.action":"Dupliquer","duplicate.title":"Dupliquer les annonces","duplicate.description":"Cela va dupliquer {count} annonce(s) {copies} fois.","duplicate.copies":"Nombre de copies par article","duplicate.copyPhotos":"Copier les photos","duplicate.copyPhotosHint":"Désactivez pour dupliquer sans les photos","duplicate.confirm":"Dupliquer","duplicate.tooMany":"Cela fait trop de copies d’un coup. Réduisez la sélection ou le nombre de copies.","duplicate.progress":"{done} sur {total} dupliquées…","duplicate.failed":"La duplication n’a pas pu démarrer.","publish.cancelScheduled":"Annuler la publication planifiée","publish.title":"Planifier la publication sur Vinted ?","publish.description":"Planifier la publication de {count} article(s) sur Vinted via l’extension.","publish.afterImport":"Publier après l’import","publish.afterImportHint":"Sinon, reste un brouillon","publish.scheduledAt":"Publier le","publish.scheduledAtHint":"Choisissez la date et l’heure de début de publication.","publish.scheduledAtDone":"Terminé","publish.delayBetween":"Délai entre chaque action","publish.delayBetweenHint":"Un délai aléatoire sera choisi entre ces deux valeurs pour chaque publication.","publish.perAccountGap":"Publier les comptes en parallèle","publish.perAccountGapHint":"Le délai s’applique au sein de chaque compte, pas entre eux : vos {count} comptes démarrent tous en même temps. Exemple avec 2 comptes de 2 articles : {t0} et {t1}
1 sur chacun, au lieu de {serial} à la suite.","publish.gapCustom":"Personnalisé…","publish.gapCustomTo":"à","publish.gapUnit.seconds":"secondes","publish.gapUnit.minutes":"minutes","publish.gapUnit.hours":"heures","publish.confirm":"Planifier","publish.scheduling":"Planification…","publish.scheduledSummary":"{count} article(s) planifié(s) pour publication","publish.close":"Fermer","dialog.assignAccountTitle":"Assigner un compte","dialog.assignAccountDescription":"Sélectionnez le compte à assigner à {count, plural, one {# article} other {# articles}}.","dialog.assignAccountPlaceholder":"Sélectionner un compte...","dialog.assign":"Assigner","dialog.deleteItemsTitle":"Supprimer les articles","dialog.deleteItemsDescription":"Êtes-vous sûr de vouloir supprimer {count, plural, one {# article} other {# articles}} ? Cette action est irréversible.","aria.selectAll":"Tout sélectionner","aria.selectRow":"Sélectionner la ligne","aria.actions":"Actions","aria.openMenu":"Ouvrir le menu","actions.edit":"Modifier","actions.delete":"Supprimer","dialog.deleteItemTitle":"Supprimer l'article","dialog.deleteItemDescription":'Êtes-vous sûr de vouloir supprimer "{title}" ? Cette action est irréversible.',"dialog.cancel":"Annuler","dialog.confirm":"Supprimer","toolbar.editTitleDesc":"Modifier titre/desc.","toolbar.editCatalog":"Modifier le catalogue","editTitleDesc.title":"Modifier les articles","editTitleDesc.action":"Action","editTitleDesc.actionReplace":"Remplacer","editTitleDesc.actionAppend":"Ajouter à la fin","editTitleDesc.actionPrepend":"Ajouter au début","editTitleDesc.field":"Champ","editTitleDesc.fieldTitle":"Titre","editTitleDesc.fieldDescription":"Description","editTitleDesc.text":"Texte","editTitleDesc.textPlaceholder":"Saisir du texte...","editTitleDesc.replaceWith":"Remplacer par","editTitleDesc.replaceWithPlaceholder":"Texte de remplacement...","editTitleDesc.apply":"Appliquer","editTitleDesc.titleLabel":"Titre","editTitleDesc.descriptionLabel":"Description","editTitleDesc.reset":"Réinitialiser","editTitleDesc.update":"Mettre à jour","editTitleDesc.loading":"Chargement…","title-min-length":"Le titre doit contenir au moins 5 caractères","title-max-length":"Le titre doit contenir au plus 100 caractères","title-too-many-capitals":"Le titre contient trop de lettres majuscules, essayez en minuscules","description-min-length":"La description doit contenir au moins 5 caractères","description-max-length":"La description doit contenir au plus 2000 caractères","publish.photos":"Modification des photos","publish.photosOriginal":"Aucune modification (par défaut)","publish.photosAi":"Retouche IA des photos","publish.photosEditor":"Éditeur","publish.editorOpen":"Ouvrir l’éditeur","publish.editorEdit":"Modifier à nouveau","publish.editorHint":"Recadrez, pivotez, ajustez, ajoutez un cadre ou un fond","publish.editorEdited":"Votre modification sera appliquée à toutes les photos","publish.editorNoPhoto":"Aucune des annonces sélectionnées n’a de photo à modifier.","publish.editorTitle":"Modifier les photos","publish.editorSubtitle":"La modification est appliquée à toutes les photos de chaque annonce sélectionnée.","publish.notEnoughCredits":"Crédits IA insuffisants pour cette sélection","publish.promptTooLong":"Le prompt est trop long (10 000 caractères maximum)","publish.bridgeOffline":"(extension hors ligne)","publish.skippedOffline":"{count} article(s) ignoré(s) — leur extension est hors ligne.","publish.bridgeOfflineError":"L’extension de ce compte est hors ligne. Ouvrez votre navigateur avec l’extension connectée, puis réessayez.","ai.savedPrompts":"Prompts enregistrés","ai.defaultPrompt":"Par défaut","ai.newPrompt":"Nouveau prompt","ai.defaultPrompts":"Prompts par défaut","ai.savePrompt":"Enregistrer le prompt","ai.promptName":"Nom du prompt","ai.promptNamePlaceholder":"Mon prompt...","ai.save":"Enregistrer","ai.deletePrompt":"Supprimer le prompt","ai.promptPlaceholder":"Écrivez un prompt. Utilisez l’anglais pour de meilleurs résultats.","ai.costPerPhoto":"{cost} € / photo","ai.costInfo":"{cost} € / photo — Total : {total} € ({count, plural, one {# photo} other {# photos}})"},Ia={"column.vintedId":"ID de Vinted","column.image":"Imagen","column.title":"Título","column.price":"Precio","column.account":"Cuenta","column.sku":"SKU","column.size":"Talla","column.location":"Ubicación","column.purchasePrice":"Precio de compra","column.supplierLink":"Enlace del proveedor","supplierLink.placeholder":"Pega una URL...","column.restock":"Reabastecimiento","column.messagesEnabled":"Mensajes activados","column.restockQuantity":"Cantidad de reabastecimiento","column.acceptOffers":"Aceptar ofertas","column.minOffer":"Oferta mín.","column.savedAt":"Guardado el","column.lastSavedAt":"Último guardado","column.scheduledPublishAt":"Programado","column.scheduledYes":"Programado","column.scheduledNo":"No programado","column.searchAccounts":"Buscar cuentas...","column.searchItems":"Buscar título, SKU o ubicación...","restock.enabled":"Habilitado","restock.disabled":"Deshabilitado","restock.unlimited":"Ilimitado","toolbar.simple":"Simple","toolbar.advanced":"Avanzado","toolbar.reset":"Restablecer","toolbar.resetFilters":"Restablecer filtros","toolbar.bulkActions":"Acciones","toolbar.deleteSelected":"Eliminar seleccionados","toolbar.assignAccount":"Asignar cuenta","publish.action":"Programar publicación","duplicate.action":"Duplicar","duplicate.title":"Duplicar anuncios","duplicate.description":"Esto duplicará {count} anuncio(s) {copies} vez/veces.","duplicate.copies":"Número de copias por artículo","duplicate.copyPhotos":"Copiar fotos","duplicate.copyPhotosHint":"Desactívalo para duplicar sin fotos","duplicate.confirm":"Duplicar","duplicate.tooMany":"Son demasiadas copias a la vez. Reduce la selección o el número de copias.","duplicate.progress":"{done} de {total} duplicados…","duplicate.failed":"No se pudo iniciar la duplicación.","publish.cancelScheduled":"Cancelar publicación programada","publish.title":"¿Programar publicación en Vinted?","publish.description":"Programar la publicación de {count} artículo(s) en Vinted con la extensión.","publish.afterImport":"Publicar tras la importación","publish.afterImportHint":"Si no, queda como borrador","publish.scheduledAt":"Publicar el","publish.scheduledAtHint":"Elige la fecha y la hora para empezar a publicar.","publish.scheduledAtDone":"Listo","publish.delayBetween":"Retraso entre cada acción","publish.delayBetweenHint":"Se elegirá un retraso aleatorio entre estos dos valores para cada publicación.","publish.perAccountGap":"Publicar las cuentas en paralelo","publish.perAccountGapHint":"El retraso se aplica dentro de cada cuenta, no entre ellas: tus {count} cuentas empiezan todas a la vez. Ejemplo con 2 cuentas de 2 artículos: {t0} y {t1}
1 en cada una, en lugar de {serial} en una sola cola.","publish.gapCustom":"Personalizado…","publish.gapCustomTo":"a","publish.gapUnit.seconds":"segundos","publish.gapUnit.minutes":"minutos","publish.gapUnit.hours":"horas","publish.confirm":"Programar","publish.scheduling":"Programando…","publish.scheduledSummary":"{count} artículo(s) programado(s) para publicar","publish.close":"Cerrar","dialog.assignAccountTitle":"Asignar cuenta","dialog.assignAccountDescription":"Selecciona la cuenta para asignar {count, plural, one {# artículo} other {# artículos}}.","dialog.assignAccountPlaceholder":"Seleccionar cuenta...","dialog.assign":"Asignar","dialog.deleteItemsTitle":"Eliminar artículos","dialog.deleteItemsDescription":"¿Está seguro de que desea eliminar {count, plural, one {# artículo} other {# artículos}}? Esta acción no se puede deshacer.","aria.selectAll":"Seleccionar todo","aria.selectRow":"Seleccionar fila","aria.actions":"Acciones","aria.openMenu":"Abrir menú","actions.edit":"Editar","actions.delete":"Eliminar","dialog.deleteItemTitle":"Eliminar artículo","dialog.deleteItemDescription":'¿Está seguro de que desea eliminar "{title}"? Esta acción no se puede deshacer.',"dialog.cancel":"Cancelar","dialog.confirm":"Eliminar","toolbar.editTitleDesc":"Editar título/desc.","toolbar.editCatalog":"Editar catálogo","editTitleDesc.title":"Editar artículos","editTitleDesc.action":"Acción","editTitleDesc.actionReplace":"Reemplazar","editTitleDesc.actionAppend":"Añadir al final","editTitleDesc.actionPrepend":"Añadir al inicio","editTitleDesc.field":"Campo","editTitleDesc.fieldTitle":"Título","editTitleDesc.fieldDescription":"Descripción","editTitleDesc.text":"Texto","editTitleDesc.textPlaceholder":"Introduce texto...","editTitleDesc.replaceWith":"Reemplazar con","editTitleDesc.replaceWithPlaceholder":"Texto de reemplazo...","editTitleDesc.apply":"Aplicar","editTitleDesc.titleLabel":"Título","editTitleDesc.descriptionLabel":"Descripción","editTitleDesc.reset":"Restablecer","editTitleDesc.update":"Actualizar","editTitleDesc.loading":"Cargando…","title-min-length":"El título debe tener al menos 5 caracteres","title-max-length":"El título debe tener como máximo 100 caracteres","title-too-many-capitals":"El título contiene demasiadas letras mayúsculas, intenta usar minúsculas","description-min-length":"La descripción debe tener al menos 5 caracteres","description-max-length":"La descripción debe tener como máximo 2000 caracteres","publish.photos":"Modificación de fotos","publish.photosOriginal":"Sin modificación (predeterminado)","publish.photosAi":"Editar fotos con IA","publish.photosEditor":"Editor","publish.editorOpen":"Abrir el editor","publish.editorEdit":"Editar de nuevo","publish.editorHint":"Recorta, gira, ajusta, añade un marco o un fondo","publish.editorEdited":"Tu edición se aplicará a todas las fotos","publish.editorNoPhoto":"Ninguno de los anuncios seleccionados tiene una foto que editar.","publish.editorTitle":"Editar fotos","publish.editorSubtitle":"La edición se aplica a todas las fotos de cada anuncio seleccionado.","publish.notEnoughCredits":"Créditos de IA insuficientes para esta selección","publish.promptTooLong":"El prompt es demasiado largo (máximo 10.000 caracteres)","publish.bridgeOffline":"(extensión sin conexión)","publish.skippedOffline":"{count} artículo(s) omitido(s): su extensión está sin conexión.","publish.bridgeOfflineError":"La extensión de esta cuenta está sin conexión. Abre tu navegador con la extensión conectada e inténtalo de nuevo.","ai.savedPrompts":"Prompts guardados","ai.defaultPrompt":"Predeterminado","ai.newPrompt":"Nuevo prompt","ai.defaultPrompts":"Prompts predeterminados","ai.savePrompt":"Guardar prompt","ai.promptName":"Nombre del prompt","ai.promptNamePlaceholder":"Mi prompt...","ai.save":"Guardar","ai.deletePrompt":"Eliminar prompt","ai.promptPlaceholder":"Escribe un prompt. Usa inglés para mejores resultados.","ai.costPerPhoto":"{cost} € / foto","ai.costInfo":"{cost} € / foto — Total: {total} € ({count, plural, one {# foto} other {# fotos}})"},Na={"column.vintedId":"ID Vinted","column.image":"Immagine","column.title":"Titolo","column.price":"Prezzo","column.account":"Account","column.sku":"SKU","column.size":"Taglia","column.location":"Posizione","column.purchasePrice":"Prezzo di acquisto","column.supplierLink":"Link fornitore","supplierLink.placeholder":"Incolla un URL...","column.restock":"Rifornimento","column.messagesEnabled":"Messaggi abilitati","column.restockQuantity":"Quantità rifornimento","column.acceptOffers":"Accetta offerte","column.minOffer":"Offerta min.","column.savedAt":"Salvato il","column.lastSavedAt":"Ultimo salvataggio","column.scheduledPublishAt":"Programmato","column.scheduledYes":"Programmato","column.scheduledNo":"Non programmato","column.searchAccounts":"Cerca account...","column.searchItems":"Cerca titolo, SKU o posizione...","restock.enabled":"Abilitato","restock.disabled":"Disabilitato","restock.unlimited":"Illimitato","toolbar.simple":"Semplice","toolbar.advanced":"Avanzato","toolbar.reset":"Reimposta","toolbar.resetFilters":"Reimposta filtri","toolbar.bulkActions":"Azioni","toolbar.deleteSelected":"Elimina selezionati","toolbar.assignAccount":"Assegna account","publish.action":"Pianifica la pubblicazione","duplicate.action":"Duplica","duplicate.title":"Duplica gli annunci","duplicate.description":"Questo duplicherà {count} annuncio/i {copies} volta/e.","duplicate.copies":"Numero di copie per articolo","duplicate.copyPhotos":"Copia le foto","duplicate.copyPhotosHint":"Disattiva per duplicare senza foto","duplicate.confirm":"Duplica","duplicate.tooMany":"Sono troppe copie in una volta. Riduci la selezione o il numero di copie.","duplicate.progress":"{done} su {total} duplicati…","duplicate.failed":"Non è stato possibile avviare la duplicazione.","publish.cancelScheduled":"Annulla la pubblicazione pianificata","publish.title":"Pianificare la pubblicazione su Vinted?","publish.description":"Pianifica la pubblicazione di {count} articolo/i su Vinted tramite l’estensione.","publish.afterImport":"Pubblica dopo l’importazione","publish.afterImportHint":"Altrimenti resta una bozza","publish.scheduledAt":"Pubblica il","publish.scheduledAtHint":"Scegli la data e l’ora di inizio della pubblicazione.","publish.scheduledAtDone":"Fatto","publish.delayBetween":"Ritardo tra ogni azione","publish.delayBetweenHint":"Verrà scelto un ritardo casuale tra questi due valori per ogni pubblicazione.","publish.perAccountGap":"Pubblica gli account in parallelo","publish.perAccountGapHint":"Il ritardo si applica all’interno di ogni account, non tra gli account: i tuoi {count} account partono tutti insieme. Esempio con 2 account da 2 articoli: {t0} e {t1} su ciascuno, invece di {serial} in un’unica coda.","publish.gapCustom":"Personalizzato…","publish.gapCustomTo":"a","publish.gapUnit.seconds":"secondi","publish.gapUnit.minutes":"minuti","publish.gapUnit.hours":"ore","publish.confirm":"Pianifica","publish.scheduling":"Pianificazione…","publish.scheduledSummary":"{count} articolo/i pianificato/i per la pubblicazione","publish.close":"Chiudi","dialog.assignAccountTitle":"Assegna account","dialog.assignAccountDescription":"Seleziona l'account a cui assegnare {count, plural, one {# articolo} other {# articoli}}.","dialog.assignAccountPlaceholder":"Seleziona account...","dialog.assign":"Assegna","dialog.deleteItemsTitle":"Elimina articoli","dialog.deleteItemsDescription":"Sei sicuro di voler eliminare {count, plural, one {# articolo} other {# articoli}}? Questa azione non può essere annullata.","aria.selectAll":"Seleziona tutto","aria.selectRow":"Seleziona riga","aria.actions":"Azioni","aria.openMenu":"Apri menu","actions.edit":"Modifica","actions.delete":"Elimina","dialog.deleteItemTitle":"Elimina articolo","dialog.deleteItemDescription":'Sei sicuro di voler eliminare "{title}"? Questa azione non può essere annullata.',"dialog.cancel":"Annulla","dialog.confirm":"Elimina","toolbar.editTitleDesc":"Modifica titolo/desc.","toolbar.editCatalog":"Modifica catalogo","editTitleDesc.title":"Modifica articoli","editTitleDesc.action":"Azione","editTitleDesc.actionReplace":"Sostituisci","editTitleDesc.actionAppend":"Aggiungi alla fine","editTitleDesc.actionPrepend":"Aggiungi all'inizio","editTitleDesc.field":"Campo","editTitleDesc.fieldTitle":"Titolo","editTitleDesc.fieldDescription":"Descrizione","editTitleDesc.text":"Testo","editTitleDesc.textPlaceholder":"Inserisci testo...","editTitleDesc.replaceWith":"Sostituisci con","editTitleDesc.replaceWithPlaceholder":"Testo sostitutivo...","editTitleDesc.apply":"Applica","editTitleDesc.titleLabel":"Titolo","editTitleDesc.descriptionLabel":"Descrizione","editTitleDesc.reset":"Reimposta","editTitleDesc.update":"Aggiorna","editTitleDesc.loading":"Caricamento…","title-min-length":"Il titolo deve contenere almeno 5 caratteri","title-max-length":"Il titolo deve contenere al massimo 100 caratteri","title-too-many-capitals":"Il titolo contiene troppe lettere maiuscole, prova a usare le minuscole","description-min-length":"La descrizione deve contenere almeno 5 caratteri","description-max-length":"La descrizione deve contenere al massimo 2000 caratteri","publish.photos":"Modifica delle foto","publish.photosOriginal":"Nessuna modifica (predefinito)","publish.photosAi":"Modifica foto con IA","publish.photosEditor":"Editor","publish.editorOpen":"Apri l’editor","publish.editorEdit":"Modifica di nuovo","publish.editorHint":"Ritaglia, ruota, regola, aggiungi una cornice o uno sfondo","publish.editorEdited":"La tua modifica sarà applicata a tutte le foto","publish.editorNoPhoto":"Nessuno degli annunci selezionati ha una foto da modificare.","publish.editorTitle":"Modifica le foto","publish.editorSubtitle":"La modifica viene applicata a tutte le foto di ogni annuncio selezionato.","publish.notEnoughCredits":"Crediti IA insufficienti per questa selezione","publish.promptTooLong":"Il prompt è troppo lungo (massimo 10.000 caratteri)","publish.bridgeOffline":"(estensione offline)","publish.skippedOffline":"{count} articolo(i) ignorato(i): la loro estensione è offline.","publish.bridgeOfflineError":"L’estensione di questo account è offline. Apri il browser con l’estensione connessa e riprova.","ai.savedPrompts":"Prompt salvati","ai.defaultPrompt":"Predefinito","ai.newPrompt":"Nuovo prompt","ai.defaultPrompts":"Prompt predefiniti","ai.savePrompt":"Salva prompt","ai.promptName":"Nome del prompt","ai.promptNamePlaceholder":"Il mio prompt...","ai.save":"Salva","ai.deletePrompt":"Elimina prompt","ai.promptPlaceholder":"Scrivi un prompt. Usa l’inglese per risultati migliori.","ai.costPerPhoto":"{cost} € / foto","ai.costInfo":"{cost} € / foto — Totale: {total} € ({count, plural, one {# foto} other {# foto}})"},Ea={"column.vintedId":"ID Vinted","column.image":"Imagem","column.title":"Título","column.price":"Preço","column.account":"Conta","column.sku":"SKU","column.size":"Tamanho","column.location":"Localização","column.purchasePrice":"Preço de compra","column.supplierLink":"Link do fornecedor","supplierLink.placeholder":"Cole um URL...","column.restock":"Reabastecimento","column.messagesEnabled":"Mensagens ativadas","column.restockQuantity":"Quantidade de reabastecimento","column.acceptOffers":"Aceitar ofertas","column.minOffer":"Oferta mín.","column.savedAt":"Salvo em","column.lastSavedAt":"Último salvamento","column.scheduledPublishAt":"Agendado","column.scheduledYes":"Agendado","column.scheduledNo":"Não agendado","column.searchAccounts":"Pesquisar contas...","column.searchItems":"Pesquisar título, SKU ou localização...","restock.enabled":"Ativado","restock.disabled":"Desativado","restock.unlimited":"Ilimitado","toolbar.simple":"Simples","toolbar.advanced":"Avançado","toolbar.reset":"Redefinir","toolbar.resetFilters":"Redefinir filtros","toolbar.bulkActions":"Ações","toolbar.deleteSelected":"Excluir selecionados","toolbar.assignAccount":"Atribuir conta","publish.action":"Agendar publicação","duplicate.action":"Duplicar","duplicate.title":"Duplicar anúncios","duplicate.description":"Isto vai duplicar {count} anúncio(s) {copies} vez/vezes.","duplicate.copies":"Número de cópias por artigo","duplicate.copyPhotos":"Copiar fotos","duplicate.copyPhotosHint":"Desative para duplicar sem fotos","duplicate.confirm":"Duplicar","duplicate.tooMany":"São demasiadas cópias de uma vez. Reduza a seleção ou o número de cópias.","duplicate.progress":"{done} de {total} duplicados…","duplicate.failed":"Não foi possível iniciar a duplicação.","publish.cancelScheduled":"Cancelar publicação agendada","publish.title":"Agendar publicação no Vinted?","publish.description":"Agendar a publicação de {count} artigo(s) no Vinted através da extensão.","publish.afterImport":"Publicar após a importação","publish.afterImportHint":"Caso contrário, fica como rascunho","publish.scheduledAt":"Publicar em","publish.scheduledAtHint":"Escolha a data e a hora para começar a publicar.","publish.scheduledAtDone":"Concluído","publish.delayBetween":"Atraso entre cada ação","publish.delayBetweenHint":"Será escolhido um atraso aleatório entre estes dois valores para cada publicação.","publish.perAccountGap":"Publicar as contas em paralelo","publish.perAccountGapHint":"O atraso aplica-se dentro de cada conta, não entre elas: as suas {count} contas começam todas ao mesmo tempo. Exemplo com 2 contas de 2 artigos: {t0} e {t1}
1 em cada uma, em vez de {serial} numa única fila.","publish.gapCustom":"Personalizado…","publish.gapCustomTo":"a","publish.gapUnit.seconds":"segundos","publish.gapUnit.minutes":"minutos","publish.gapUnit.hours":"horas","publish.confirm":"Agendar","publish.scheduling":"A agendar…","publish.scheduledSummary":"{count} artigo(s) agendado(s) para publicação","publish.close":"Fechar","dialog.assignAccountTitle":"Atribuir conta","dialog.assignAccountDescription":"Selecione a conta para atribuir {count, plural, one {# item} other {# itens}}.","dialog.assignAccountPlaceholder":"Selecionar conta...","dialog.assign":"Atribuir","dialog.deleteItemsTitle":"Excluir itens","dialog.deleteItemsDescription":"Tem certeza de que deseja excluir {count, plural, one {# item} other {# itens}}? Esta ação não pode ser desfeita.","aria.selectAll":"Selecionar tudo","aria.selectRow":"Selecionar linha","aria.actions":"Ações","aria.openMenu":"Abrir menu","actions.edit":"Editar","actions.delete":"Excluir","dialog.deleteItemTitle":"Excluir item","dialog.deleteItemDescription":'Tem certeza de que deseja excluir "{title}"? Esta ação não pode ser desfeita.',"dialog.cancel":"Cancelar","dialog.confirm":"Excluir","toolbar.editTitleDesc":"Editar título/desc.","toolbar.editCatalog":"Editar catálogo","editTitleDesc.title":"Editar artigos","editTitleDesc.action":"Ação","editTitleDesc.actionReplace":"Substituir","editTitleDesc.actionAppend":"Adicionar ao fim","editTitleDesc.actionPrepend":"Adicionar ao início","editTitleDesc.field":"Campo","editTitleDesc.fieldTitle":"Título","editTitleDesc.fieldDescription":"Descrição","editTitleDesc.text":"Texto","editTitleDesc.textPlaceholder":"Introduzir texto...","editTitleDesc.replaceWith":"Substituir por","editTitleDesc.replaceWithPlaceholder":"Texto de substituição...","editTitleDesc.apply":"Aplicar","editTitleDesc.titleLabel":"Título","editTitleDesc.descriptionLabel":"Descrição","editTitleDesc.reset":"Repor","editTitleDesc.update":"Atualizar","editTitleDesc.loading":"A carregar…","title-min-length":"O título deve ter pelo menos 5 caracteres","title-max-length":"O título deve ter no máximo 100 caracteres","title-too-many-capitals":"O título contém muitas letras maiúsculas, tente usar minúsculas","description-min-length":"A descrição deve ter pelo menos 5 caracteres","description-max-length":"A descrição deve ter no máximo 2000 caracteres","publish.photos":"Modificação de fotos","publish.photosOriginal":"Sem modificação (predefinição)","publish.photosAi":"Editar fotos com IA","publish.photosEditor":"Editor","publish.editorOpen":"Abrir o editor","publish.editorEdit":"Editar novamente","publish.editorHint":"Corte, rode, ajuste, adicione uma moldura ou um fundo","publish.editorEdited":"A sua edição será aplicada a todas as fotos","publish.editorNoPhoto":"Nenhum dos anúncios selecionados tem uma foto para editar.","publish.editorTitle":"Editar fotos","publish.editorSubtitle":"A edição é aplicada a todas as fotos de cada anúncio selecionado.","publish.notEnoughCredits":"Créditos de IA insuficientes para esta seleção","publish.promptTooLong":"A instrução é demasiado longa (máximo de 10 000 carateres)","publish.bridgeOffline":"(extensão offline)","publish.skippedOffline":"{count} artigo(s) ignorado(s): a extensão deles está offline.","publish.bridgeOfflineError":"A extensão desta conta está offline. Abra o seu navegador com a extensão ligada e tente novamente.","ai.savedPrompts":"Prompts salvos","ai.defaultPrompt":"Padrão","ai.newPrompt":"Novo prompt","ai.defaultPrompts":"Prompts padrão","ai.savePrompt":"Salvar prompt","ai.promptName":"Nome do prompt","ai.promptNamePlaceholder":"Meu prompt...","ai.save":"Salvar","ai.deletePrompt":"Excluir prompt","ai.promptPlaceholder":"Escreva um prompt. Use inglês para melhores resultados.","ai.costPerPhoto":"{cost} € / foto","ai.costInfo":"{cost} € / foto — Total: {total} € ({count, plural, one {# foto} other {# fotos}})"},Oa={"column.vintedId":"Vinted ID","column.image":"Afbeelding","column.title":"Titel","column.price":"Prijs","column.account":"Account","column.sku":"SKU","column.size":"Maat","column.location":"Locatie","column.purchasePrice":"Aankoopprijs","column.supplierLink":"Leverancierslink","supplierLink.placeholder":"Plak een URL...","column.restock":"Herbevoorrading","column.messagesEnabled":"Berichten ingeschakeld","column.restockQuantity":"Herbevoorradingsaantal","column.acceptOffers":"Biedingen accepteren","column.minOffer":"Min. bod","column.savedAt":"Opgeslagen op","column.lastSavedAt":"Laatst opgeslagen","column.scheduledPublishAt":"Gepland","column.scheduledYes":"Gepland","column.scheduledNo":"Niet gepland","column.searchAccounts":"Zoek accounts...","column.searchItems":"Zoek titel, SKU of locatie...","restock.enabled":"Ingeschakeld","restock.disabled":"Uitgeschakeld","restock.unlimited":"Onbeperkt","toolbar.simple":"Eenvoudig","toolbar.advanced":"Geavanceerd","toolbar.reset":"Resetten","toolbar.resetFilters":"Filters resetten","toolbar.bulkActions":"Acties","toolbar.deleteSelected":"Selectie verwijderen","toolbar.assignAccount":"Account toewijzen","publish.action":"Publicatie plannen","duplicate.action":"Dupliceren","duplicate.title":"Advertenties dupliceren","duplicate.description":"Dit dupliceert {count} advertentie(s) {copies} keer.","duplicate.copies":"Aantal kopieën per item","duplicate.copyPhotos":"Foto's kopiëren","duplicate.copyPhotosHint":"Zet uit om zonder foto's te dupliceren","duplicate.confirm":"Dupliceren","duplicate.tooMany":"Dat zijn te veel kopieën in één keer. Beperk de selectie of het aantal kopieën.","duplicate.progress":"{done} van {total} gedupliceerd…","duplicate.failed":"De duplicatie kon niet worden gestart.","publish.cancelScheduled":"Geplande publicatie annuleren","publish.title":"Publicatie naar Vinted plannen?","publish.description":"{count} artikel(en) plannen om via de extensie op Vinted te publiceren.","publish.afterImport":"Publiceren na import","publish.afterImportHint":"Anders blijft het een concept","publish.scheduledAt":"Publiceren op","publish.scheduledAtHint":"Kies de datum en tijd waarop het publiceren start.","publish.scheduledAtDone":"Klaar","publish.delayBetween":"Vertraging tussen elke actie","publish.delayBetweenHint":"Er wordt een willekeurige vertraging tussen deze twee waarden gekozen voor elke publicatie.","publish.perAccountGap":"Accounts parallel publiceren","publish.perAccountGapHint":"De vertraging geldt binnen elk account, niet ertussen: je {count} accounts starten allemaal tegelijk. Voorbeeld met 2 accounts van 2 items: {t0} en {t1} op elk, in plaats van {serial} in één rij.","publish.gapCustom":"Aangepast…","publish.gapCustomTo":"tot","publish.gapUnit.seconds":"seconden","publish.gapUnit.minutes":"minuten","publish.gapUnit.hours":"uren","publish.confirm":"Plannen","publish.scheduling":"Plannen…","publish.scheduledSummary":"{count} artikel(en) gepland om te publiceren","publish.close":"Sluiten","dialog.assignAccountTitle":"Account toewijzen","dialog.assignAccountDescription":"Selecteer het account om {count, plural, one {# item} other {# items}} aan toe te wijzen.","dialog.assignAccountPlaceholder":"Account selecteren...","dialog.assign":"Toewijzen","dialog.deleteItemsTitle":"Items verwijderen","dialog.deleteItemsDescription":"Weet u zeker dat u {count, plural, one {# item} other {# items}} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.","aria.selectAll":"Alles selecteren","aria.selectRow":"Rij 
1selecteren","aria.actions":"Acties","aria.openMenu":"Menu openen","actions.edit":"Bewerken","actions.delete":"Verwijderen","dialog.deleteItemTitle":"Item verwijderen","dialog.deleteItemDescription":'Weet u zeker dat u "{title}" wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.',"dialog.cancel":"Annuleren","dialog.confirm":"Verwijderen","toolbar.editTitleDesc":"Titel/besch. bewerken","toolbar.editCatalog":"Catalogus bewerken","editTitleDesc.title":"Items bewerken","editTitleDesc.action":"Actie","editTitleDesc.actionReplace":"Vervangen","editTitleDesc.actionAppend":"Achteraan toevoegen","editTitleDesc.actionPrepend":"Vooraan toevoegen","editTitleDesc.field":"Veld","editTitleDesc.fieldTitle":"Titel","editTitleDesc.fieldDescription":"Beschrijving","editTitleDesc.text":"Tekst","editTitleDesc.textPlaceholder":"Voer tekst in...","editTitleDesc.replaceWith":"Vervangen door","editTitleDesc.replaceWithPlaceholder":"Vervangende tekst...","editTitleDesc.apply":"Toepassen","editTitleDesc.titleLabel":"Titel","editTitleDesc.descriptionLabel":"Beschrijving","editTitleDesc.reset":"Herstellen","editTitleDesc.update":"Bijwerken","editTitleDesc.loading":"Laden…","title-min-length":"De titel moet minstens 5 tekens bevatten","title-max-length":"De titel mag maximaal 100 tekens bevatten","title-too-many-capitals":"De titel bevat te veel hoofdletters, probeer kleine letters te gebruiken","description-min-length":"De beschrijving moet minstens 5 tekens bevatten","description-max-length":"De beschrijving mag maximaal 2000 tekens bevatten","publish.photos":"Fotobewerking","publish.photosOriginal":"Geen bewerking (standaard)","publish.photosAi":"Foto's AI-bewerken","publish.photosEditor":"Editor","publish.editorOpen":"Editor openen","publish.editorEdit":"Opnieuw bewerken","publish.editorHint":"Bijsnijden, draaien, aanpassen, een kader of achtergrond toevoegen","publish.editorEdited":"Je bewerking wordt op alle foto's toegepast","publish.editorNoPhoto":"Geen van de geselecteerde advertenties heeft een foto om te bewerken.","publish.editorTitle":"Foto's bewerken","publish.editorSubtitle":"De bewerking wordt toegepast op alle foto's van elke geselecteerde advertentie.","publish.notEnoughCredits":"Onvoldoende AI-credits voor deze selectie","publish.promptTooLong":"De prompt is te lang (maximaal 10.000 tekens)","publish.bridgeOffline":"(extensie offline)","publish.skippedOffline":"{count} item(s) overgeslagen: hun extensie is offline.","publish.bridgeOfflineError":"De extensie van dit account is offline. Open je browser met de extensie verbonden en probeer het opnieuw.","ai.savedPrompts":"Opgeslagen prompts","ai.defaultPrompt":"Standaard","ai.newPrompt":"Nieuwe prompt","ai.defaultPrompts":"Standaardprompts","ai.savePrompt":"Prompt opslaan","ai.promptName":"Promptnaam","ai.promptNamePlaceholder":"Mijn prompt...","ai.save":"Opslaan","ai.deletePrompt":"Prompt verwijderen","ai.promptPlaceholder":"Schrijf een prompt. Gebruik Engels voor het beste resultaat.","ai.costPerPhoto":"{cost} € / foto","ai.costInfo":"{cost} € / foto — Totaal: {total} € ({count, plural, one {# foto} other {# foto's}})"},Ra={"column.vintedId":"ID Vinted","column.image":"Zdjęcie","column.title":"Tytuł","column.price":"Cena","column.account":"Konto","column.sku":"SKU","column.size":"Rozmiar","column.location":"Lokalizacja","column.purchasePrice":"Cena zakupu","column.supplierLink":"Link dostawcy","supplierLink.placeholder":"Wklej URL...","column.restock":"Uzupełnianie","column.messagesEnabled":"Wiadomości włączone","column.restockQuantity":"Ilość uzupełnienia","column.acceptOffers":"Akceptuj oferty","column.minOffer":"Min. oferta","column.savedAt":"Zapisano","column.lastSavedAt":"Ostatnio zapisano","column.scheduledPublishAt":"Zaplanowane","column.scheduledYes":"Zaplanowane","column.scheduledNo":"Niezaplanowane","column.searchAccounts":"Szukaj kont...","column.searchItems":"Szukaj tytułu, SKU lub lokalizacji...","restock.enabled":"Włączony","restock.disabled":"Wyłączony","restock.unlimited":"Nieograniczony","toolbar.simple":"Prosty","toolbar.advanced":"Zaawansowany","toolbar.reset":"Resetuj","toolbar.resetFilters":"Resetuj filtry","toolbar.bulkActions":"Akcje","toolbar.deleteSelected":"Usuń zaznaczone","toolbar.assignAccount":"Przypisz konto","publish.action":"Zaplanuj publikację","duplicate.action":"Duplikuj","duplicate.title":"Duplikuj ogłoszenia","duplicate.description":"Spowoduje to zduplikowanie {count} ogłoszeń {copies} razy.","duplicate.copies":"Liczba kopii na przedmiot","duplicate.copyPhotos":"Kopiuj zdjęcia","duplicate.copyPhotosHint":"Wyłącz, aby duplikować bez zdjęć","duplicate.confirm":"Duplikuj","duplicate.tooMany":"To zbyt wiele kopii naraz. Ogranicz wybór lub liczbę kopii.","duplicate.progress":"{done} z {total} zduplikowanych…","duplicate.failed":"Nie udało się rozpocząć duplikowania.","publish.cancelScheduled":"Anuluj zaplanowaną publikację","publish.title":"Zaplanować publikację na Vinted?","publish.description":"Zaplanuj publikację {count} przedmiotu/ów na Vinted przez rozszerzenie.","publish.afterImport":"Opublikuj po imporcie","publish.afterImportHint":"W przeciwnym razie pozostanie szkicem","publish.scheduledAt":"Opublikuj o","publish.scheduledAtHint":"Wybierz datę i godzinę rozpoczęcia publikacji.","publish.scheduledAtDone":"Gotowe","publish.delayBetween":"Opóźnienie między każdą akcją","publish.delayBetweenHint":"Dla każdej publikacji zostanie wybrane losowe opóźnienie pomiędzy tymi dwiema wartościami.","publish.perAccountGap":"Publikuj konta równolegle","publish.perAccountGapHint":"Opóźnienie działa w obrębie każdego konta, a nie pomiędzy kontami — wszystkie konta ({count}) startują w tym samym czasie. Przykład dla 2 kont po 2 przedmioty: {t0} i {t1} na każdym, zamiast {serial} w jednej kolejce.","publish.gapCustom":"Niestandardowy…","publish.gapCustomTo":"do","publish.gapUnit.seconds":"sekundy","publish.gapUnit.minutes":"minuty","publish.gapUnit.hours":"godziny","publish.confirm":"Zaplanuj","publish.scheduling":"Planowanie…","publish.scheduledSummary":"Zaplanowano publikację {count} przedmiotu/ów","publish.close":"Zamknij","dialog.assignAccountTitle":"Przypisz konto","dialog.assignAccountDescription":"Wybierz konto, do którego przypisać {c
1ount, plural, one {# przedmiot} few {# przedmioty} many {# przedmiotów} other {# przedmiotów}}.","dialog.assignAccountPlaceholder":"Wybierz konto...","dialog.assign":"Przypisz","dialog.deleteItemsTitle":"Usuń przedmioty","dialog.deleteItemsDescription":"Czy na pewno chcesz usunąć {count, plural, one {# przedmiot} few {# przedmioty} many {# przedmiotów} other {# przedmiotów}}? Tej akcji nie można cofnąć.","aria.selectAll":"Zaznacz wszystko","aria.selectRow":"Zaznacz wiersz","aria.actions":"Akcje","aria.openMenu":"Otwórz menu","actions.edit":"Edytuj","actions.delete":"Usuń","dialog.deleteItemTitle":"Usuń przedmiot","dialog.deleteItemDescription":'Czy na pewno chcesz usunąć "{title}"? Tej akcji nie można cofnąć.',"dialog.cancel":"Anuluj","dialog.confirm":"Usuń","toolbar.editTitleDesc":"Edytuj tytuł/opis","toolbar.editCatalog":"Edytuj katalog","editTitleDesc.title":"Edytuj przedmioty","editTitleDesc.action":"Akcja","editTitleDesc.actionReplace":"Zamień","editTitleDesc.actionAppend":"Dodaj na końcu","editTitleDesc.actionPrepend":"Dodaj na początku","editTitleDesc.field":"Pole","editTitleDesc.fieldTitle":"Tytuł","editTitleDesc.fieldDescription":"Opis","editTitleDesc.text":"Tekst","editTitleDesc.textPlaceholder":"Wpisz tekst...","editTitleDesc.replaceWith":"Zamień na","editTitleDesc.replaceWithPlaceholder":"Tekst zastępczy...","editTitleDesc.apply":"Zastosuj","editTitleDesc.titleLabel":"Tytuł","editTitleDesc.descriptionLabel":"Opis","editTitleDesc.reset":"Resetuj","editTitleDesc.update":"Aktualizuj","editTitleDesc.loading":"Ładowanie…","title-min-length":"Tytuł musi mieć co najmniej 5 znaków","title-max-length":"Tytuł może mieć maksymalnie 100 znaków","title-too-many-capitals":"Tytuł zawiera zbyt wiele wielkich liter, spróbuj użyć małych liter","description-min-length":"Opis musi mieć co najmniej 5 znaków","description-max-length":"Opis może mieć maksymalnie 2000 znaków","publish.photos":"Modyfikacja zdjęć","publish.photosOriginal":"Bez modyfikacji (domyślnie)","publish.photosAi":"Edycja zdjęć AI","publish.photosEditor":"Edytor","publish.editorOpen":"Otwórz edytor","publish.editorEdit":"Edytuj ponownie","publish.editorHint":"Przytnij, obróć, dostosuj, dodaj ramkę lub tło","publish.editorEdited":"Twoja edycja zostanie zastosowana do wszystkich zdjęć","publish.editorNoPhoto":"Żadne z wybranych ogłoszeń nie ma zdjęcia do edycji.","publish.editorTitle":"Edytuj zdjęcia","publish.editorSubtitle":"Edycja jest stosowana do wszystkich zdjęć każdego wybranego ogłoszenia.","publish.notEnoughCredits":"Za mało kredytów AI na ten wybór","publish.promptTooLong":"Prompt jest za długi (maksymalnie 10 000 znaków)","publish.bridgeOffline":"(rozszerzenie offline)","publish.skippedOffline":"Pominięto {count} przedmiot(ów) — ich rozszerzenie jest offline.","publish.bridgeOfflineError":"Rozszerzenie tego konta jest offline. Otwórz przeglądarkę z połączonym rozszerzeniem i spróbuj ponownie.","ai.savedPrompts":"Zapisane prompty","ai.defaultPrompt":"Domyślny","ai.newPrompt":"Nowy prompt","ai.defaultPrompts":"Domyślne prompty","ai.savePrompt":"Zapisz prompt","ai.promptName":"Nazwa promptu","ai.promptNamePlaceholder":"Mój prompt...","ai.save":"Zapisz","ai.deletePrompt":"Usuń prompt","ai.promptPlaceholder":"Napisz prompt. Użyj języka angielskiego, aby uzyskać najlepsze wyniki.","ai.costPerPhoto":"{cost} € / zdjęcie","ai.costInfo":"{cost} € / zdjęcie — Razem: {total} € ({count, plural, one {# zdjęcie} other {# zdjęć}})"},La={"column.vintedId":"Vinted ID","column.image":"Bild","column.title":"Titel","column.price":"Preis","column.account":"Konto","column.sku":"SKU","column.size":"Größe","column.location":"Standort","column.purchasePrice":"Einkaufspreis","column.supplierLink":"Lieferantenlink","supplierLink.placeholder":"URL einfügen...","column.restock":"Nachschub","column.messagesEnabled":"Nachrichten aktiviert","column.restockQuantity":"Nachschubmenge","column.acceptOffers":"Angebote annehmen","column.minOffer":"Mindestangebot","column.savedAt":"Gespeichert am","column.lastSavedAt":"Zuletzt gespeichert","column.scheduledPublishAt":"Geplant","column.scheduledYes":"Geplant","column.scheduledNo":"Nicht geplant","column.searchAccounts":"Konten suchen...","column.searchItems":"Titel, SKU oder Standort suchen...","restock.enabled":"Aktiviert","restock.disabled":"Deaktiviert","restock.unlimited":"Unbegrenzt","toolbar.simple":"Einfach","toolbar.advanced":"Erweitert","toolbar.reset":"Zurücksetzen","toolbar.resetFilters":"Filter zurücksetzen","toolbar.bulkActions":"Aktionen","toolbar.deleteSelected":"Ausgewählte löschen","toolbar.assignAccount":"Konto zuweisen","publish.action":"Veröffentlichung planen","duplicate.action":"Duplizieren","duplicate.title":"Anzeigen duplizieren","duplicate.description":"Dies dupliziert {count} Anzeige(n) {copies}-mal.","duplicate.copies":"Anzahl der Kopien pro Artikel","duplicate.copyPhotos":"Fotos kopieren","duplicate.copyPhotosHint":"Ausschalten, um ohne Fotos zu duplizieren","duplicate.confirm":"Duplizieren","duplicate.tooMany":"Das sind zu viele Kopien auf einmal. Reduziere die Auswahl oder die Anzahl der Kopien.","duplicate.progress":"{done} von {total} dupliziert…","duplicate.failed":"Die Duplizierung konnte nicht gestartet werden.","publish.cancelScheduled":"Geplante Veröffentlichung abbrechen","publish.title":"Veröffentlichung auf Vinted planen?","publish.description":"Veröffentlichung von {count} Artikel(n) auf Vinted über die Erweiterung planen.","publish.afterImport":"Nach dem Import veröffentlichen","publish.afterImportHint":"Sonst bleibt es ein Entwurf","publish.scheduledAt":"Veröffentlichen am","publish.scheduledAtHint":"Wähle Datum und Uhrzeit für den Start der Veröffentlichung.","publish.scheduledAtDone":"Fertig","publish.delayBetween":"Verzögerung zwischen jeder Aktion","publish.delayBetweenHint":"Für jede Veröffentlichung wird eine zufällige Verzögerung zwischen diesen beiden Werten gewählt.","publish.perAccountGap":"Konten parallel veröffentlichen","publish.perAccountGapHint":"Die Verzögerung gilt innerhalb jedes Kontos, nicht zwischen den Konten: Deine {count} Konten starten alle gleichzeitig. Beispiel mit 2 Konten mit je 2 Artikeln: {t0} und {t1} auf beiden, statt {serial} nacheinander.","publish.gapCustom":"Benutzerdefiniert…","publish.gapCustomTo":"bis","publish.gapUnit.seconds":"Sekunden","publish.gapUnit.minutes":"Minuten","publish.gapUnit.hours":"Stunden","publish.confirm":"Planen","publish.scheduling":"Wird geplant…","publish.scheduledSummary":"{count} Artikel zur Veröffentlichung geplant","publish.close":"Schließen","dialog.assignAccountTitle":"Konto zuweisen","dialog.assignAccountDescription":"Wählen Sie das Konto, dem {count, plural, one {# Artikel} other {# Artikel}} zugewiesen werden sollen.","dialog.assignAccountPlaceholder":"Konto auswählen...","dialog.assign":"Zuweisen","dialog.deleteItemsTitle":"Artikel löschen","dialog.deleteItemsDescription":"Sind Sie sicher, dass Sie {count, plural, one {# Artikel} other {# Artikel}} löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.","aria.selectAll":"Alle au
1swählen","aria.selectRow":"Zeile auswählen","aria.actions":"Aktionen","aria.openMenu":"Menü öffnen","actions.edit":"Bearbeiten","actions.delete":"Löschen","dialog.deleteItemTitle":"Artikel löschen","dialog.deleteItemDescription":'Sind Sie sicher, dass Sie "{title}" löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',"dialog.cancel":"Abbrechen","dialog.confirm":"Löschen","toolbar.editTitleDesc":"Titel/Beschr. bearbeiten","toolbar.editCatalog":"Katalog bearbeiten","editTitleDesc.title":"Artikel bearbeiten","editTitleDesc.action":"Aktion","editTitleDesc.actionReplace":"Ersetzen","editTitleDesc.actionAppend":"Anhängen","editTitleDesc.actionPrepend":"Voranstellen","editTitleDesc.field":"Feld","editTitleDesc.fieldTitle":"Titel","editTitleDesc.fieldDescription":"Beschreibung","editTitleDesc.text":"Text","editTitleDesc.textPlaceholder":"Text eingeben...","editTitleDesc.replaceWith":"Ersetzen durch","editTitleDesc.replaceWithPlaceholder":"Ersatztext...","editTitleDesc.apply":"Anwenden","editTitleDesc.titleLabel":"Titel","editTitleDesc.descriptionLabel":"Beschreibung","editTitleDesc.reset":"Zurücksetzen","editTitleDesc.update":"Aktualisieren","editTitleDesc.loading":"Wird geladen…","title-min-length":"Der Titel muss mindestens 5 Zeichen lang sein","title-max-length":"Der Titel darf maximal 100 Zeichen lang sein","title-too-many-capitals":"Der Titel enthält zu viele Großbuchstaben, versuche Kleinbuchstaben zu verwenden","description-min-length":"Die Beschreibung muss mindestens 5 Zeichen lang sein","description-max-length":"Die Beschreibung darf maximal 2000 Zeichen lang sein","publish.photos":"Fotobearbeitung","publish.photosOriginal":"Keine Bearbeitung (Standard)","publish.photosAi":"Fotos KI-bearbeiten","publish.photosEditor":"Editor","publish.editorOpen":"Editor öffnen","publish.editorEdit":"Erneut bearbeiten","publish.editorHint":"Zuschneiden, drehen, anpassen, Rahmen oder Hintergrund hinzufügen","publish.editorEdited":"Deine Bearbeitung wird auf alle Fotos angewendet","publish.editorNoPhoto":"Keine der ausgewählten Anzeigen hat ein Foto zum Bearbeiten.","publish.editorTitle":"Fotos bearbeiten","publish.editorSubtitle":"Die Bearbeitung wird auf alle Fotos jeder ausgewählten Anzeige angewendet.","publish.notEnoughCredits":"Nicht genügend KI-Guthaben für diese Auswahl","publish.promptTooLong":"Der Prompt ist zu lang (maximal 10.000 Zeichen)","publish.bridgeOffline":"(Erweiterung offline)","publish.skippedOffline":"{count} Artikel übersprungen – ihre Erweiterung ist offline.","publish.bridgeOfflineError":"Die Erweiterung dieses Kontos ist offline. Öffne deinen Browser mit verbundener Erweiterung und versuche es erneut.","ai.savedPrompts":"Gespeicherte Prompts","ai.defaultPrompt":"Standard","ai.newPrompt":"Neuer Prompt","ai.defaultPrompts":"Standard-Prompts","ai.savePrompt":"Prompt speichern","ai.promptName":"Prompt-Name","ai.promptNamePlaceholder":"Mein Prompt...","ai.save":"Speichern","ai.deletePrompt":"Prompt löschen","ai.promptPlaceholder":"Schreibe einen Prompt. Verwende Englisch für beste Ergebnisse.","ai.costPerPhoto":"{cost} € / Foto","ai.costInfo":"{cost} € / Foto — Gesamt: {total} € ({count, plural, one {# Foto} other {# Fotos}})"},Ua=Ma({en:Pa,fr:Ca,es:Ia,it:Na,pt:Ea,nl:Oa,pl:Ra,de:La}),Ha=fi(Ua),Fa=wt(Ha);function Va(t,i=[]){let a=[];function s(r,o){const c=d.createContext(o);c.displayName=r+"Context";const u=a.length;a=[...a,o];const _=l=>{const{scope:g,children:f,...y}=l,A=g?.[t]?.[u]||c,z=d.useMemo(()=>y,Object.values(y));return e.jsx(A.Provider,{value:z,children:f})};_.displayName=r+"Provider";function m(l,g){const f=g?.[t]?.[u]||c,y=d.useContext(f);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${l}\` must be used within \`${r}\``)}return[_,m]}const n=()=>{const r=a.map(o=>d.createContext(o));return function(c){const u=c?.[t]||r;return d.useMemo(()=>({[`__scope${t}`]:{...c,[t]:u}}),[c,u])}};return n.scopeName=t,[s,Ba(n,...i)]}function Ba(...t){const i=t[0];if(t.length===1)return i;const a=()=>{const s=t.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(r){const o=s.reduce((c,{useScope:u,scopeName:_})=>{const l=u(r)[`__scope${_}`];return{...c,...l}},{});return d.useMemo(()=>({[`__scope${i.scopeName}`]:o}),[o])}};return a.scopeName=i.scopeName,a}var Ge="Progress",$e=100,[Ka]=Va(Ge),[Wa,Ga]=Ka(Ge),Lt=d.forwardRef((t,i)=>{const{__scopeProgress:a,value:s=null,max:n,getValueLabel:r=$a,...o}=t;(n||n===0)&&!ut(n)&&console.error(Za(`${n}`,"Progress"));const c=ut(n)?n:$e;s!==null&&!mt(s,c)&&console.error(qa(`${s}`,"Progress"));const u=mt(s,c)?s:null,_=Se(u)?r(u,c):void 0;return e.jsx(Wa,{scope:a,value:u,max:c,children:e.jsx(Ct.div,{"aria-valuemax":c,"aria-valuemin":0,"aria-valuenow":Se(u)?u:void 0,"aria-valuetext":_,role:"progressbar","data-state":Ft(u,c),"data-value":u??void 0,"data-max":c,...o,ref:i}
1)})});Lt.displayName=Ge;var Ut="ProgressIndicator",Ht=d.forwardRef((t,i)=>{const{__scopeProgress:a,...s}=t,n=Ga(Ut,a);return e.jsx(Ct.div,{"data-state":Ft(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...s,ref:i})});Ht.displayName=Ut;function $a(t,i){return`${Math.round(t/i*100)}%`}function Ft(t,i){return t==null?"indeterminate":t===i?"complete":"loading"}function Se(t){return typeof t=="number"}function ut(t){return Se(t)&&!isNaN(t)&&t>0}function mt(t,i){return Se(t)&&!isNaN(t)&&t<=i&&t>=0}function Za(t,i){return`Invalid prop \`max\` of value \`${t}\` supplied to \`${i}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${$e}\`.`}function qa(t,i){return`Invalid prop \`value\` of value \`${t}\` supplied to \`${i}\`. The \`value\` prop must be:
2  - a positive number
3  - less than the value passed to \`max\` (or ${$e} if no \`max\` prop is set)
4  - \`null\` or \`undefined\` if the progress is indeterminate.
5
6Defaulting to \`null\`.`}var Ya=Lt,Qa=Ht;function Xa({className:t,value:i,...a}){return e.jsx(Ya,{"data-slot":"progress",className:ce("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",t),...a,children:e.jsx(Qa,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(i||0)}%)`}})})}const pt=20,Ja=12e4;function eo({open:t,onOpenChange:i,count:a,onConfirm:s,onFinished:n}){const r=L(),{handleEvent:o,removeHandleEvent:c}=ie(),[u,_]=d.useState(1),[m,l]=d.useState(!0),[g,f]=d.useState(null),[y,A]=d.useState("form"),[z,S]=d.useState({done:0,total:0});d.useEffect(()=>{t&&(_(1),l(!0),f(null),A("form"),S({done:0,total:0}))},[t]),d.useEffect(()=>{if(y!=="running"||!o)return;const C=()=>{A("form"),i(!1),n?.()},N=o("bulk_duplicate_progress",P=>S({done:P?.done??0,total:P?.total??0})),U=o("bulk_duplicate_done",C),k=window.setTimeout(C,Ja);return()=>{c(N),c(U),window.clearTimeout(k)}},[y,o,c]);const h=async()=>{f(null),S({done:0,total:a*u}),A("running");const C=await s(u,m);C?.ok===!1&&(A("form"),f(C.error??"unknown"))},w=y==="running",D=z.total>0?Math.round(z.done/z.total*100):0,I=C=>{w&&!C||i(C)};return e.jsx(oe,{open:t,onOpenChange:I,children:e.jsxs(ne,{children:[e.jsxs(se,{children:[e.jsx(le,{children:r.formatMessage({id:"duplicate.title"})}),e.jsx(he,{children:r.formatMessage({id:"duplicate.description"},{count:a,copies:u})})]}),w?e.jsxs("div",{className:"flex flex-col items-center gap-3 py-4 text-center",children:[e.jsx(Te,{}),e.jsx("p",{className:"text-sm",children:r.formatMessage({id:"duplicate.progress"},{done:z.done,total:z.total})}),e.jsx(Xa,{value:D})]}):e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"font-medium",children:r.formatMessage({id:"duplicate.copies"})}),e.jsx(B,{type:"number",min:1,max:pt,value:u,className:"w-24",onChange:C=>{const N=Number.parseInt(C.target.value,10);_(Number.isNaN(N)?1:Math.min(Math.max(N,1),pt))}})]}),e.jsxs("label",{className:"flex items-center justify-between gap-3 text-sm",children:[e.jsxs("span",{children:[e.jsx("span",{className:"block font-medium",children:r.formatMessage({id:"duplicate.copyPhotos"})}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:r.formatMessage({id:"duplicate.copyPhotosHint"})})]}),e.jsx(je,{checked:m,onCheckedChange:l})]}),g&&e.jsx("p",{className:"text-sm text-destructive",children:g==="too_many"?r.formatMessage({id:"duplicate.tooMany"}):r.formatMessage({id:"duplicate.failed"})})]}),e.jsx(ue,{children:!w&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{asChild:!0,children:e.jsx(M,{variant:"outline",children:r.formatMessage({id:"dialog.cancel"})})}),e.jsx(M,{onClick:h,disabled:a===0,children:r.formatMessage({id:"duplicate.confirm"})})]})})]})})}const gt={en:{"ec.subtitle":"Set the catalog and attributes for the selected items.","ec.applyToAll":"Apply to All","ec.reset":"Reset","ec.update":"Update","ec.c
6ancel":"Cancel","ec.catalog":"Catalog","ec.brand":"Brand","ec.size":"Size","ec.color1":"Color 1","ec.color2":"Color 2","ec.packageSize":"Package Size","ec.status":"Status","ec.material":"Material","ec.none":"None","ec.title":"Edit Catalog Details"},fr:{"ec.subtitle":"Définissez le catalogue et les attributs des articles sélectionnés.","ec.applyToAll":"Appliquer à tout","ec.reset":"Réinitialiser","ec.update":"Mettre à jour","ec.cancel":"Annuler","ec.catalog":"Catalogue","ec.brand":"Marque","ec.size":"Taille","ec.color1":"Couleur 1","ec.color2":"Couleur 2","ec.packageSize":"Taille du colis","ec.status":"État","ec.material":"Matière","ec.none":"Aucun","ec.title":"Modifier le catalogue"},es:{"ec.subtitle":"Establece el catálogo y los atributos de los artículos seleccionados.","ec.applyToAll":"Aplicar a todos","ec.reset":"Restablecer","ec.update":"Actualizar","ec.cancel":"Cancelar","ec.catalog":"Catálogo","ec.brand":"Marca","ec.size":"Talla","ec.color1":"Color 1","ec.color2":"Color 2","ec.packageSize":"Tamaño del paquete","ec.status":"Estado","ec.material":"Material","ec.none":"Ninguno","ec.title":"Editar catálogo"},it:{"ec.subtitle":"Imposta il catalogo e gli attributi per gli articoli selezionati.","ec.applyToAll":"Applica a tutti","ec.reset":"Reimposta","ec.update":"Aggiorna","ec.cancel":"Annulla","ec.catalog":"Catalogo","ec.brand":"Marca","ec.size":"Taglia","ec.color1":"Colore 1","ec.color2":"Colore 2","ec.packageSize":"Dimensione del pacco","ec.status":"Stato","ec.material":"Materiale","ec.none":"Nessuno","ec.title":"Modifica catalogo"},pt:{"ec.subtitle":"Defina o catálogo e os atributos dos artigos selecionados.","ec.applyToAll":"Aplicar a todos","ec.reset":"Repor","ec.update":"Atualizar","ec.cancel":"Cancelar","ec.catalog":"Catálogo","ec.brand":"Marca","ec.size":"Tamanho","ec.color1":"Cor 1","ec.color2":"Cor 2","ec.packageSize":"Tamanho da encomenda","ec.status":"Estado","ec.material":"Material","ec.none":"Nenhum","ec.title":"Editar catálogo"},nl:{"ec.subtitle":"Stel de catalogus en kenmerken in voor de geselecteerde artikelen.","ec.applyToAll":"Op alles toepassen","ec.reset":"Herstellen","ec.update":"Bijwerken","ec.cancel":"Annuleren","ec.catalog":"Catalogus","ec.brand":"Merk","ec.size":"Maat","ec.color1":"Kleur 1","ec.color2":"Kleur 2","ec.packageSize":"Pakketgrootte","ec.status":"Staat","ec.material":"Materiaal","ec.none":"Geen","ec.title":"Catalogus bewerken"},pl:{"ec.subtitle":"Ustaw katalog i atrybuty dla wybranych przedmiotów.","ec.applyToAll":"Zastosuj do wszystkich","ec.reset":"Resetuj","ec.update":"Zaktualizuj","ec.cancel":"Anuluj","ec.catalog":"Katalog","ec.brand":"Marka","ec.size":"Rozmiar","ec.color1":"Kolor 1","ec.color2":"Kolor 2","ec.packageSize":"Rozmiar paczki","ec.status":"Stan","ec.material":"Materiał","ec.none":"Brak","ec.title":"Edytuj katalog"},de:{"ec.subtitle":"Lege Katalog und Attribute für die ausgewählten Artikel fest.","ec.applyToAll":"Auf alle anwenden","ec.reset":"Zurücksetzen","ec.update":"Aktualisieren","ec.cancel":"Abbrechen","ec.catalog":"Katalog","ec.brand":"Marke","ec.size":"Größe","ec.color1":"Farbe 1","ec.color2":"Farbe 2","ec.packageSize":"Paketgröße","ec.status":"Zustand","ec.material":"Material","ec.none":"Keine","ec.title":"Katalog bearbeiten"}},Re=(t,i)=>`${t}:${i}`,to=t=>({id:t.id,title:t.title,thumbnailUrl:t.thumbnail_url,country:t.country_code,catalogId:t.catalog_id,catalogTitle:t.catalog_title,brand:t.brand,brandId:t.brand_id,sizeId:t.size_id,color1Id:t.color1_id,color2Id:t.color2_id,statusId:t.status_id,packageSizeId:t.package_size_id,materialIds:t.material_ids??[]}),io=(t,i)=>t.length===i.length&&t.every((a,s)=>a===i[s]),ao=(t,i)=>({id:t,title:i??"",photo_url:null,code:"",children:[]}),Le="__none__";function De({value:t,onChange:i,options:a,disabled:s,placeholder:n}){const r=L();return e.jsxs(Z,{value:t==null?Le:String(t),onValueChange:o=>i(o===Le?null:Number(o)),disabled:s,children:[e.jsx(q,{className:"h-9 w-full",children:e.jsx(Y,{placeholder:n})}),e.jsxs(Q,{children:[e.jsx(E,{value:Le,children:r.formatMessage({id:"ec.none"})}),a.map(o=>e.jsx(E,{value:String(o.id),children:o.title},o.id))]})]})}function $({label:t,children:i,className:a}){return e.jsxs("div",{className:ce("flex min-w-0 flex-col gap-1",a),children:[e.jsx(de,{className:"text-xs",children:t}),i]})}
6const Ue={brand:null,brandId:null,sizeId:null,color1Id:null,color2Id:null,statusId:null,packageSizeId:null,materialIds:[]};function ht({fd:t,values:i,onChange:a}){const s=L(),n=t?.attributes.find(o=>o.code==="material"),r=!!t&&t.size_groups.length>0;return e.jsxs(e.Fragment,{children:[e.jsx($,{label:s.formatMessage({id:"ec.brand"}),children:e.jsx(Ei,{value:{brand:i.brand,brand_id:i.brandId},onChange:(o,c)=>a({brand:o,brandId:c})})}),r&&e.jsx($,{label:s.formatMessage({id:"ec.size"}),children:e.jsx(Oi,{sizeGroups:t.size_groups,value:i.sizeId,onChange:o=>a({sizeId:o})})}),e.jsx($,{label:s.formatMessage({id:"ec.color1"}),children:e.jsx(De,{value:i.color1Id,onChange:o=>a({color1Id:o}),options:t?.colors??[],disabled:!t,placeholder:s.formatMessage({id:"ec.color1"})})}),e.jsx($,{label:s.formatMessage({id:"ec.color2"}),children:e.jsx(De,{value:i.color2Id,onChange:o=>a({color2Id:o}),options:t?.colors??[],disabled:!t,placeholder:s.formatMessage({id:"ec.color2"})})}),e.jsx($,{label:s.formatMessage({id:"ec.packageSize"}),children:e.jsx(De,{value:i.packageSizeId,onChange:o=>a({packageSizeId:o}),options:t?.package_sizes??[],disabled:!t,placeholder:s.formatMessage({id:"ec.packageSize"})})}),e.jsx($,{label:s.formatMessage({id:"ec.status"}),children:e.jsx(De,{value:i.statusId,onChange:o=>a({statusId:o}),options:t?.conditions??[],disabled:!t,placeholder:s.formatMessage({id:"ec.status"})})}),n&&e.jsx($,{label:n.title||s.formatMessage({id:"ec.material"}),children:e.jsx(Ri,{attribute:n,value:i.materialIds,onChange:o=>a({materialIds:Array.isArray(o)?o:o==null?[]:[o]})})})]})}function oo({itemIds:t,open:i,onOpenChange:a,onComplete:s}){const n=L(),{pushEvent:r}
6=ie(),[o,c]=d.useState([]),u=d.useRef({}),[_,m]=d.useState(!1),[l,g]=d.useState({}),[f,y]=d.useState({}),A=d.useRef(new Set),[z,S]=d.useState(null),[h,w]=d.useState(Ue),D=d.useCallback(async(j,p)=>{const b=Re(j,p);if(f[b]||A.current.has(b))return;A.current.add(b);const v=await r("pending_catalog_form_data",{catalog_id:j,country_code:p});A.current.delete(b),v&&!v.error&&y(fe=>({...fe,[b]:v}))},[f,r]);d.useEffect(()=>{if(!i)return;let j=!1;return m(!0),c([]),y({}),S(null),w(Ue),A.current=new Set,(async()=>{const p=await r("load_pending_items_catalog",{item_ids:t});if(j)return;const b=(p?.items??[]).map(to);u.current=Object.fromEntries(b.map(v=>[v.id,{...v}])),c(b),g(p?.catalog_trees??{}),m(!1);for(const v of b)v.catalogId!=null&&D(v.catalogId,v.country)})(),()=>{j=!0}},[i]);const I=(j,p)=>c(b=>b.map(v=>v.id===j?{...v,...p}:v)),C={brand:null,brandId:null,sizeId:null,color1Id:null,color2Id:null,statusId:null,packageSizeId:null,materialIds:[]},N=(j,p)=>{I(j.id,{catalogId:p.id,catalogTitle:p.title,...C}),D(p.id,j.country)},U=o[0]?.country,k=z&&U?f[Re(z.id,U)]:void 0,P=j=>{S(j),w(Ue),U&&D(j.id,U)},T=()=>{if(!z)return;c(p=>p.map(b=>{const v={catalogId:z.id,catalogTitle:z.title};return(h.brand!==null||h.brandId!==null)&&(v.brand=h.brand,v.brandId=h.brandId),h.sizeId!==null&&(v.sizeId=h.sizeId),h.color1Id!==null&&(v.color1Id=h.color1Id),h.color2Id!==null&&(v.color2Id=h.color2Id),h.packageSizeId!==null&&(v.packageSizeId=h.packageSizeId),h.statusId!==null&&(v.statusId=h.statusId),h.materialIds.length>0&&(v.materialIds=h.materialIds),{...b,...v}})),new Set(o.map(p=>p.country)).forEach(p=>D(z.id,p))},H=j=>{const p=u.current[j];p&&(I(j,{...p}),p.catalogId!=null&&D(p.catalogId,p.country))},F=j=>j.catalogId!=null?f[Re(j.catalogId,j.country)]:void 0,G=()=>{const j=o.map(p=>{const b=u.current[p.id],v={id:p.id};return p.catalogId!==b.catalogId&&(v.catalog_id=p.catalogId),(p.brandId!==b.brandId||p.brand!==b.brand)&&(v.brand=p.brand,v.brand_id=p.brandId),p.sizeId!==b.sizeId&&(v.size_id=p.sizeId),p.color1Id!==b.color1Id&&(v.color1_id=p.color1Id),p.color2Id!==b.color2Id&&(v.color2_id=p.color2Id),p.statusId!==b.statusId&&(v.status_id=p.statusId),p.packageSizeId!==b.packageSizeId&&(v.package_size_id=p.packageSizeId),io(p.materialIds,b.materialIds)||(v.material_ids=p.materialIds),v}).filter(p=>Object.keys(p).length>1);j.length>0&&r("bulk_edit_catalog",{items:j}),a(!1),s()},K=e.jsx(rt,{catalogTree:U&&l[U]||[],selectedCategory:z,onSelect:P});return e.jsxs(e.Fragment,{children:[e.jsxs(se,{children:[e.jsx(le,{children:n.formatMessage({id:"ec.title"})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.formatMessage({id:"ec.subtitle"})})]}),_?e.jsx(Te,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-3 rounded border bg-muted/30 p-4",children:z?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-3 xl:grid-cols-4",children:[e.jsx($,{label:n.formatMessage({id:"ec.catalog"}),children:K}),e.jsx(ht,{fd:k,values:h,onChange:j=>w(p=>({...p,...j}))})]}),e.jsx("div",{className:"flex justify-center",children:e.jsx(M,{type:"button",variant:"outline",onClick:T,children:n.formatMessage({id:"ec.applyToAll"})})})]}):e.jsx($,{label:n.formatMessage({id:"ec.catalog"}),className:"max-w-xs",children:K})}),e.jsx("div",{className:"flex max-h-[50vh] flex-col gap-4 overflow-y-auto pt-1",children:o.map(j=>{const p=F(j);return e.jsxs("div",{className:"flex gap-4 rounded border p-4",children:[e.jsx("div",{className:"flex-shrink-0",children:j.thumbnailUrl&&e.jsx("img",{src:j.thumbnailUrl,alt:"",className:"h-16 w-16 rounded object-cover"})}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-3",children:[e.jsx("p",{className:"truncate text-sm font-medium blur-sensitive",title:j.title??"",children:j.title||"—"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-3 xl:grid-cols-4",children:[e.jsx($,{label:n.formatMessage({id:"ec.catalog"}),children:e.jsx(rt,{catalogTree:l[j.country]??[],selectedCategory:j.catalogId!=null?ao(j.catalogId,j.catalogTitle):null,onSelect:b=>N(j,b)})}),e.jsx(ht,{fd:p,values:j,onChange:b=>I(j.id,b)})]}
6),e.jsx("div",{children:e.jsx(M,{type:"button",variant:"outline",size:"sm",onClick:()=>H(j.id),children:n.formatMessage({id:"ec.reset"})})})]})]},j.id)})})]}),e.jsxs(ue,{children:[e.jsx(M,{type:"button",variant:"outline",onClick:()=>a(!1),children:n.formatMessage({id:"ec.cancel"})}),e.jsx(M,{type:"button",onClick:G,disabled:_,children:n.formatMessage({id:"ec.update"})})]})]})}function no({open:t,onOpenChange:i,itemIds:a,onComplete:s}){const{locale:n}=L(),r=d.useMemo(()=>({...Ni(n),...gt[n]??gt.en}),[n]);return e.jsxs(oe,{open:t,onOpenChange:i,modal:!1,children:[t&&e.jsx(_i,{children:e.jsx("div",{className:"fixed inset-0 z-40 bg-black/50","aria-hidden":!0})}),e.jsx(ne,{className:"sm:max-w-6xl",children:e.jsx(yt,{locale:n,messages:r,children:e.jsx(oo,{itemIds:a,open:t,onOpenChange:i,onComplete:s})})})]})}function so(t){const i=It.shape.title.safeParse(t);return i.success?null:i.error.issues[0].message}function lo(t){const i=It.shape.description.safeParse(t);return i.success?null:i.error.issues[0].message}function ro(t,i,a,s){switch(i){case"replace":return t.replaceAll(a,s);case"append":return t?`${t} ${a}`:a;case"prepend":return t?`${a} ${t}`:a}}function ft({label:t,value:i,maxLen:a,error:s,onChange:n,multiline:r=!1}){const o=L();return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(de,{children:t}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[i.length,"/",a]})]}),r?e.jsx(St,{value:i,rows:4,onChange:c=>n(c.target.value)}):e.jsx(B,{value:i,onChange:c=>n(c.target.value)}),s&&e.jsx("span",{className:"text-xs text-destructive",children:o.formatMessage({id:s})})]})}function co({open:t,onOpenChange:i,itemIds:a,onComplete:s}){const n=L(),{pushEvent:r}
6=ie(),[o,c]=d.useState([]),u=d.useRef([]),[_,m]=d.useState(!1),[l,g]=d.useState("replace"),[f,y]=d.useState("title"),[A,z]=d.useState(""),[S,h]=d.useState("");d.useEffect(()=>{if(!t)return;let k=!1;return m(!0),c([]),g("replace"),y("title"),z(""),h(""),(async()=>{const P=await r("load_pending_items_fields",{item_ids:a});if(k)return;const T=(P?.items??[]).map(H=>({id:H.id,title:H.title??"",description:H.description??"",thumbnailUrl:H.thumbnail_url??null}));u.current=T,c(T.map(H=>({...H}))),m(!1)})(),()=>{k=!0}},[t]);const w=()=>{c(k=>k.map(P=>({...P,[f]:ro(P[f],l,A,S)})))},D=()=>c(u.current.map(k=>({...k}))),I=(k,P,T)=>{c(H=>H.map(F=>F.id===k?{...F,[P]:T}:F))},C=d.useMemo(()=>o.map(k=>({title:so(k.title),description:lo(k.description)})),[o]),N=d.useMemo(()=>C.some(k=>k.title!==null||k.description!==null),[C]),U=()=>{const k=u.current,P=o.map((T,H)=>{const F=k[H],G={id:T.id};return T.title!==F.title&&(G.title=T.title),T.description!==F.description&&(G.description=T.description),G}).filter(T=>T.title!==void 0||T.description!==void 0);P.length>0&&r("bulk_edit_title_desc",{items:P}),i(!1),s()};return e.jsx(oe,{open:t,onOpenChange:i,children:e.jsxs(ne,{className:"sm:max-w-3xl",children:[e.jsx(se,{children:e.jsx(le,{children:n.formatMessage({id:"editTitleDesc.title"})})}),e.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx(de,{children:n.formatMessage({id:"editTitleDesc.action"})}),e.jsxs(Z,{value:l,onValueChange:k=>g(k),children:[e.jsx(q,{className:"w-36",children:e.jsx(Y,{})}),e.jsxs(Q,{children:[e.jsx(E,{value:"replace",children:n.formatMessage({id:"editTitleDesc.actionReplace"})}),e.jsx(E,{value:"append",children:n.formatMessage({id:"editTitleDesc.actionAppend"})}),e.jsx(E,{value:"prepend",children:n.formatMessage({id:"editTitleDesc.actionPrepend"})})]})]})]}),e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx(de,{children:n.formatMessage({id:"editTitleDesc.field"})}),e.jsxs(Z,{value:f,onValueChange:k=>y(k),children:[e.jsx(q,{className:"w-36",children:e.jsx(Y,{})}),e.jsxs(Q,{children:[e.jsx(E,{value:"title",children:n.formatMessage({id:"editTitleDesc.fieldTitle"})}),e.jsx(E,{value:"description",children:n.formatMessage({id:"editTitleDesc.fieldDescription"})})]})]})]}),e.jsxs("div",{className:"flex flex-1 flex-col gap-1.5",children:[e.jsx(de,{children:n.formatMessage({id:"editTitleDesc.text"})}),e.jsx(B,{value:A,onChange:k=>z(k.target.value),placeholder:n.formatMessage({id:"editTitleDesc.textPlaceholder"})})]}),l==="replace"&&e.jsxs("div",{className:"flex flex-1 flex-col gap-1.5",children:[e.jsx(de,{children:n.formatMessage({id:"editTitleDesc.replaceWith"})}),e.jsx(B,{value:S,onChange:k=>h(k.target.value),placeholder:n.formatMessage({id:"editTitleDesc.replaceWithPlaceholder"})})]}),e.jsx(M,{type:"button",variant:"secondary",onClick:w,disabled:_,children:n.formatMessage({id:"editTitleDesc.apply"})})]}),_?e.jsx(Te,{}):e.jsx("div",{className:"flex max-h-[50vh] flex-col gap-4 overflow-y-auto border-t pt-4",children:o.map((k,P)=>e.jsxs("div",{className:"flex space-x-4 rounded border p-4",children:[e.jsx("div",{className:"flex-shrink-0",children:k.thumbnailUrl&&e.jsx("img",{src:k.thumbnailUrl,alt:"",className:"h-16 w-16 rounded object-cover"})}),e.jsxs("div",{className:"flex flex-1 flex-col gap-2",children:[e.jsx(ft,{label:n.formatMessage({id:"editTitleDesc.titleLabel"}),value:k.title,maxLen:Li,error:C[P].title,onChange:T=>I(k.id,"title",T)}),e.jsx(ft,{label:n.formatMessage({id:"editTitleDesc.descriptionLabel"}),value:k.description,maxLen:Ui,error:C[P].description,onChange:T=>I(k.id,"description",T),multiline:!0})]})]},k.id))}),e.jsxs(ue,{children:[e.jsx(M,{type:"button",variant:"outline",onClick:D,disabled:_,children:n.formatMessage({id:"editTitleDesc.reset"})}),e.jsx(M,{type:"button",onClick:U,disabled:_||N,children:n.formatMessage({id:"editTitleDesc.update"})})]})]})})}function uo({table:t,accounts:i,assignableAccounts:a,tableId:s,isPendingImport:n}){const r=L(),{isMobile:o}=bi(),c=t.getState().columnFilters.length>0,u=t.getSelectedRowModel().rows,_=u.length>0,m=t.getColumn("title"),l=t.getColumn("account_login"),g=t.getColumn("scheduled"),f=d.useMemo(()=>i.map(z=>({label:z,value:z})),[i]),y=d.useMemo(()=>[{label:r.formatMessage({id:"column.scheduledYes"}),value:"true"},{label:r.formatMessage({id:"column.scheduledNo"}),value:"false"}],[r]),A=d.useCallback(()=>{t.resetColumnFilters()},[t]);return e.jsx("div",{role:"toolbar","aria-orientation":"horizontal",className:"flex w-full flex-col gap-2 p-1",children:e.jsxs("div",{className:"flex w-full items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[m&&e.jsx(B,{placeholder:r.formatMessage({id:"column.searchItems"}),value:m.getFilterValue()??"",onChange:z=>m.setFilterValue(z.target.value),className:"h-8 w-full sm:w-40 lg:w-56"}),l&&f.length>0&&e.jsx(st,{column:l,title:r.formatMessage({id:"column.account"}),options:f,multiple:!0,sensitive:!0}),g&&e.jsx(st,{column:g,title:r.formatMessage({id:"column.scheduledPublishAt"}),options:y,multiple:!1}),c&&e.jsxs(M,{"aria-label":r.formatMessage({id:"toolbar.resetFilters"}),variant:"outline",size:"sm",className:"h-8 border-dashed",onClick:A,children:[e.jsx(ni,{className:"size-4"}),r.formatMessage({id:"toolbar.reset"})]}),o&&(_?e.jsx(_t,{selectedRows:u,onClearSelection:()=>t.resetRowSelection(),assignableAccounts:a,isPendingImport:n,buttonClassName:"w-full"}):e.jsx(lt,{table:t,tableId:s,align:"end",buttonClassName:"w-full"}))]}),!o&&(_?e.jsx(_t,{selectedRows:u,onClearSelection:()=>t.resetRowSelection(),assignableAccounts:a,isPendingImport:n}):e.jsx(lt,{table:t,tableId:s,align:"end"}))]})})}function _t({selectedRows:t,onClearSelection:i,assignableAccounts:a,isPendingImport:s,buttonClassName:n}){const r=L(),{pushEvent:o}=ie(),[c,u]=d.useState(!1),[_,m]=d.useState(!1),[l,g]=d.useState(!1),[f,y]=d.use
6State(!1),[A,z]=d.useState(!1),[S,h]=d.useState(!1),w=t.filter(p=>p.original.bridge_connected!==!1),D=w.map(p=>p.original.id),I=t.length-w.length,C=new Set(w.map(p=>p.original.vinted_account_id)).size,N=d.useCallback((p,b)=>o("schedule_publishes",{item_ids:p,publish:b.publish,scheduled_at:b.scheduledAt.toISOString(),gap_lo_ms:b.gapLoMs,gap_hi_ms:b.gapHiMs,per_account_gap:b.perAccount,photo_mode:b.photoMode,photo_prompt:b.photoPrompt,photo_preset:b.photoPreset}),[o]),[U,k]=d.useState(null),P=d.useCallback(()=>{const p=t.filter(b=>b.original.bridge_connected!==!1).map(b=>b.original.id);o("load_ai_photo_options",{item_ids:p}).then(b=>k(b))},[o,t]),T=d.useCallback(async(p,b)=>{const v=await o("create_ai_prompt",{name:p,prompt:b});return!v.ok||!v.prompt?null:(P(),v.prompt)},[o,P]),H=d.useCallback(async p=>{await o("delete_ai_prompt",{id:p}),P()},[o,P]),F=d.useCallback(()=>{o("publishing_done",{}),i()},[o,i]),G=d.useCallback(()=>{const p=t.map(b=>b.original.id);o("delete_items",{item_ids:p}),u(!1),i()},[t,o,i]),K=d.useCallback((p,b)=>o("bulk_duplicate",{item_ids:t.map(v=>v.original.id),copies:p,copy_photos:b}),[t,o]),j=d.useCallback(p=>{const b=t.map(v=>v.original.id);o("assign_account",{item_ids:b,account_id:p}),m(!1),i()},[t,o,i]);return e.jsxs(e.Fragment,{children:[e.jsxs(Tt,{children:[e.jsx(Mt,{asChild:!0,children:e.jsxs(M,{variant:"outline",size:"sm",className:ce("h-8",n),children:[e.jsx(si,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"toolbar.bulkActions"})]})}),e.jsxs(Pt,{align:"end",children:[a&&a.length>0&&e.jsxs(W,{onClick:()=>m(!0),children:[e.jsx(jt,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"toolbar.assignAccount"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",t.length,")"]})]}),e.jsxs(W,{onClick:()=>u(!0),children:[e.jsx(Ke,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"toolbar.deleteSelected"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",t.length,")"]})]}),s&&e.jsxs(e.Fragment,{children:[e.jsx(xi,{}),e.jsxs(W,{onClick:()=>g(!0),children:[e.jsx(it,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"toolbar.editTitleDesc"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",t.length,")"]})]}),e.jsxs(W,{onClick:()=>y(!0),children:[e.jsx(it,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"toolbar.editCatalog"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",t.length,")"]})]}),e.jsxs(W,{disabled:t.length===0,onClick:()=>h(!0),children:[e.jsx(li,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"duplicate.action"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",t.length,")"]})]}),e.jsxs(W,{disabled:w.length===0,onClick:()=>z(!0),children:[e.jsx(kt,{className:"mr-2 h-4 w-4"}),r.formatMessage({id:"publish.action"}),e.jsxs("span",{className:"ml-1 text-muted-foreground",children:["(",w.length,")"]})]})]})]})]}),e.jsx(oe,{open:c,onOpenChange:u,children:e.jsxs(ne,{children:[e.jsxs(se,{children:[e.jsx(le,{children:r.formatMessage({id:"dialog.deleteItemsTitle"})}),e.jsx(he,{children:r.formatMessage({id:"dialog.deleteItemsDescription"},{count:t.length})})]}),e.jsxs(ue,{children:[e.jsx(ve,{asChild:!0,children:e.jsx(M,{variant:"outline",children:r.formatMessage({id:"dialog.cancel"})})}),e.jsx(M,{variant:"destructive",onClick:G,children:r.formatMessage({id:"dialog.confirm"})})]})]})}),e.jsx(Nt,{open:_,onOpenChange:m,accounts:a??[],count:t.length,onConfirm:j}),e.jsx(co,{open:l,onOpenChange:g,itemIds:t.map(p=>p.original.id),onComplete:i}),e.jsx(no,{open:f,onOpenChange:y,itemIds:t.map(p=>p.original.id),onComplete:i}),e.jsx(eo,{open:S,onOpenChange:h,count:t.length,onConfirm:K,onFinished:i}),e.jsx(Rt,{open:A,onOpenChange:z,itemIds:D,skippedOffline:I,accountCount:C,schedulePublishes:N,onFinished:F,aiOptions:U,onLoadAiOptions:P,onSavePrompt:T,onDeletePrompt:H})]})}const mo=({items:t,page_count:i,accounts:a,assignable_accounts:s,mode:n="default"})=>{const r=n==="pending_import",o=va({editable:!0,automation:!r,showSize:r,assignableAccounts:s,pendingImport:r}),c=r?"vinted-items-pending":"vinted-items",{table:u}=ki({data:t,columns:o,pageCount:i,initialState:{sorting:r?[]:[{id:"vinted_id",desc:!0}],pagination:{pageSize:20,pageIndex:0},columnPinning:{left:["select"],right:["actions"]},columnVisibility:{inserted_at:!1,...r&&{vinted_id:!1}}},getRowId:_=>_.id,enableRowSelection:!0,eventName:"update_table"});return e.jsx(wi,{table:u,children:e.jsx(uo,{table:u,accounts:a,tableId:c,assignableAccounts:s,isPendingImport:r})})},po=({locale:t="en",accounts:i,assignable_accounts:a,mode:s="default",...n})=>{const r=Fa(t);return e.jsx(yt,{locale:t,messages:r,children:e.jsx(vi,{children:e.jsx(ji,{children:e.jsx(mo,{...n,accounts:i,assignable_accounts:a,mode:s})})})})},xo=Object.freeze(Object.defineProperty({__proto__:null,default:po},Symbol.toStringTag,{value:"Module"}));
6export{Xa as P,xo as i};

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.