PageSourceSearch

https://atcom.ro/assets/Idei-BsIZ80e0.js

js atcom.ro collected 2026-10-10 01:32:47 UTC 34,644 bytes, 1 lines download raw bytes

1import{G as je,x as ke,q as l,f as S,o as e,r as ve,e as ye,v as ge}from"./index-CHGZ0aK0.js";const Ne=["Cod / Dev","Design","Conținut","Marketing / Social","Produs / SKU","Site","Idei Noi","Research","Urgent"],xe={titlu:"",categorie:""};let ze=0;const Se=()=>`m${Date.now()}${++ze}`;function be({value:s,onChange:z}){const[w,p]=l.useState(!1),[f,T]=l.useState(""),D=l.useRef(null);l.useEffect(()=>{function x(k){D.current&&!D.current.contains(k.target)&&p(!1)}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[]);function g(){const x=f.trim();x&&(z(x),T(""),p(!1))}return e.jsxs("div",{className:"cp-wrap",ref:D,children:[e.jsxs("button",{type:"button",className:`cp-badge${s?" cp-badge--set":""}`,onClick:()=>p(x=>!x),children:["📂 ",s||"Categorie"," ",e.jsx("span",{className:"cp-arr",children:w?"▴":"▾"})]}),w&&e.jsxs("div",{className:"cp-dropdown",children:[e.jsx("button",{type:"button",className:`cp-opt${s?"":" cp-opt--on"}`,onClick:()=>{z(""),p(!1)},children:"— Fără categorie"}),Ne.map(x=>e.jsx("button",{type:"button",className:`cp-opt${s===x?" cp-opt--on":""}`,onClick:()=>{z(x),p(!1)},children:x},x)),e.jsxs("div",{className:"cp-custom-row",children:[e.jsx("input",{className:"cp-custom-input",value:f,onChange:x=>T(x.target.value),placeholder:"Categorie nouă...",onKeyDown:x=>{x.key==="Enter"&&g()}}),e.jsx("button",{type:"button",className:"cp-custom-add",onClick:g,disabled:!f.trim(),children:"+"})]})]})]})}function Ce({m:s,onToggleStar:z,onSaveText:w,onDelete:p,onUploadPoza:f,onDelPoza:T,onMarkDone:D,onMarkActive:g,onUploadFeedbackPoza:x,onDelFeedbackPoza:k,onPauza:b,canDelete:O=!0}){const[W,$]=l.useState(!1),[d,y]=l.useState(!1),[M,K]=l.useState(!1),[Z,C]=l.useState(s.text),[I,E]=l.useState(!1),[H,U]=l.useState(!1),[A,_]=l.useState(!1),[L,Y]=l.useState(""),[J,q]=l.useState(!1),Q=l.useRef(null),V=l.useRef(null);l.useEffect(()=>{M||C(s.text)},[s.text,M]),l.useEffect(()=>{A&&V.current&&V.current.focus()},[A]),l.useEffect(()=>{if(M&&Q.current){const a=Q.current;a.style.height="auto",a.style.height=Math.max(72,a.scrollHeight)+"px",a.focus(),a.setSelectionRange(a.value.length,a.value.length)}},[M]);function F(a){a.style.height="auto",a.style.height=Math.max(72,a.scrollHeight)+"px"}async function ee(){const a=Z.trim();K(!1),$(!1),y(!1),a!==s.text&&(E(!0),await w(a),E(!1))}function te(){C(s.text),K(!1),$(!1),y(!1)}function ae(a){return a?a.type.startsWith("image/")?!0:/\.(jpg|jpeg|png|gif|webp|avif|heic|bmp|tiff?)$/i.test(a.name):!1}function ce(a){a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy",U(!0)}function se(a){a.currentTarget.contains(a.relatedTarget)||(a.preventDefault(),U(!1))}function ne(a){a.preventDefault(),a.stopPropagation(),U(!1);const h=a.dataTransfer.files[0]||(a.dataTransfer.items?.[0]?.kind==="file"?a.dataTransfer.items[0].getAsFile():null);ae(h)&&f(h)}function X(a){a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy",q(!0)}function oe(a){a.currentTarget.contains(a.relatedTarget)||(a.preventDefault(),q(!1))}function le(a){a.preventDefault(),a.stopPropagation(),q(!1);const h=a.dataTransfer.files[0]||(a.dataTransfer.items?.[0]?.kind==="file"?a.dataTransfer.items[0].getAsFile():null);ae(h)&&x(h)}async function de(){_(!1),E(!0),await g(L.trim()),Y(""),E(!1)}async function ue(a){a.stopPropagation(),s.terminat?(_(!0),W||$(!0)):(E(!0),await D(),E(!1))}const P=s.poze?.length??0,B=s.feedback_poze?.length??0,ie=s.feedback_text||B>0;function re({stopProp:a=!1}){return e.jsx("button",{type:"button",className:`mc-status-btn${s.terminat?" mc-status-btn--done":""}`,onClick:h=>{a&&h.stopPropagation(),ue(h)},title:s.terminat?"Terminat de Claude — click pentru debifat":"Marchează misiunea ca terminată",children:s.terminat?"✓":"○"})}if(!W)return e.jsxs("div",{className:`mc-wrap mc-wrap--collapsed${s.starred?" mc-wrap--star":""}${s.terminat?" mc-wrap--done":""}${s.pauzat?" mc-wrap--pauzat":""}${I?" mc-wrap--saving":""}`,onClick:()=>$(!0),title:"Click pentru a deschide misiunea",children:[e.jsxs("div",{className:"mc-row mc-row--top",children:[e.jsx("button",{type:"button",className:`mc-star${s.starred?" mc-star--on":""}`,onClick:a=>{a.stopPropagation(),z()},title:s.starred?"Elimină prioritate":"Marchează prioritar",children:s.starred?"★":"☆"}),e.jsxs("span",{className:`mc-text mc-text--collapsed${s.terminat?" mc-text--done":""}${s.pauzat?" mc-text--pauzat":""}`,children:[s.pauzat&&e.jsx("span",{className:"mc-pauzat-badge",children:"⏸"}),s.text||"…fără text"]})]}),e.jsxs("div",{className:"mc-row mc-row--acts",onClick:a=>a.stopPropagation(),children:[e.jsx(re,{stopProp:!0}),e.jsxs("div",{className:"mc-acts-right",children:[P>0&&e.jsxs("span",{className:"mc-photo-badge",children:["📷",P]}),ie&&e.jsx("span",{className:"mc-feedback-badge",title:"Are feedback de refăcut",children:"⚠"}),s.terminat&&e.jsx("button",{type:"button",className:"mc-nu-e-bine-btn",onClick:a=>{a.stopPropagation(),_(!0),$(!0)},title:"Nu e bine — adaugă feedback",children:"✗ Nu e bine"}),!s.terminat&&b&&e.jsx("button",{type:"button",className:`mc-pauza-btn${s.pauzat?" mc-pauza-btn--active":""}`,onClick:a=>{a.stopPropagation(),b()},title:s.pauzat?"Reia misiunea":"Pune pe pauză",children:s.pauzat?"▶":"⏸"}),O&&e.jsx("button",{type:"button",className:"mc-del",onClick:a=>{a.stopPropagation(),p()},title:"Șterge misiunea",children:"✕"})]})]})]});function me(){$(!1),K(!1),y(!1),_(!1)}return e.jsxs("div",{className:`mc-wrap mc-wrap--open${s.starred?" mc-wrap--star":""}${s.terminat?" mc-wrap--done":""}${s.pauzat?" mc-wrap--pauzat":""}${I?" mc-wrap--saving":""}`,children:[e.jsxs("div",{className:"mc-header",onClick:me,title:"Click pentru a restrânge",children:[e.jsx(re,{stopProp:!0}),e.jsx("button",{type:"button",className:`mc-star${s.starred?" mc-star--on":""}`,onClick:a=>{a.stopPropagation(),z()},title:s.starred?"Elimină prioritate":"Marchează prioritar",children:s.starred?"★":"☆"}),e.jsx("span",{className:`mc-header-preview${s.terminat?" mc-text--done":""}`,children:s.text||"…fără text"}),e.jsxs("div",{className:"mc-acts",onClick:a=>a.stopPropagation(),children:[!M&&e.jsx("button",{type:"button",className:"mc-edit-icon",onClick:()=>K(!0),title:"Editează textul misiunii",children:"✎"}),e.jsx("button",{type:"button",className:`mc-expand${d?" mc-expand--on":""}`,onClick:()=>y(a=>!a),title:d?"Ascunde poze":`Poze misiune (${P}/5)`,children:P>0?`📷${P}`:"📷"})]}),e.jsx("span",{className:"mc-toggle-arrow",children:"▴"})]}),s.terminat&&!A&&e.jsxs("div",{className:"mc-done-banner",children:[e.jsx("span",{className:"mc-done-check",children:"✓"}),e.jsx("span",{className:"mc-done-label",children:"Misiune terminată de Claude"}),e.jsx("button",{type:"button",className:"mc-done-rebtn",onClick:()=>_(!0),children:"✕ Nu e bine"})]}),!s.terminat&&ie&&!A&&e.jsxs("div",{className:"mc-feedback-info",children:[e.jsx("div",{className:"mc-feedback-info-title",children:"⚠ De refăcut:"}),s.feedback_text&&e.jsx("div",{className:"mc-feedback-info-text",children:s.feedback_text}),B>0&&e.jsx("div",{className:"mc-feedback-info-photos",children:s.feedback_poze.map((a,h)=>e.jsx("img",{src:a,alt:`fb-${h+1}`,className:"mc-feedback-info-img",onClick:()=>
1window.open(a,"_blank"),title:"Deschide în tab nou"},h))})]}),A&&e.jsxs("div",{className:"mc-feedback-panel",children:[e.jsx("div",{className:"mc-feedback-panel-title",children:"✕ Ce nu e bine? Scrie ce trebuie refăcut:"}),e.jsx("textarea",{ref:V,className:"mc-feedback-ta",rows:3,value:L,onChange:a=>Y(a.target.value),placeholder:"ex: butonul nu apare pe mobil, culoarea nu e corectă..."}),e.jsxs("div",{className:`mc-feedback-photos${J?" mc-feedback-photos--drag":""}`,onDragOver:X,onDragLeave:oe,onDrop:le,children:[e.jsx("div",{className:"mc-photos-title",children:J?"⬇ Dă drumul pozei":`📷 Poze feedback (${B}/5)`}),e.jsxs("div",{className:"mc-photos-grid",children:[(s.feedback_poze||[]).map((a,h)=>e.jsxs("div",{className:"mc-photo",children:[e.jsx("img",{src:a,alt:`fb-${h+1}`,onClick:()=>window.open(a,"_blank"),title:"Deschide în tab nou"}),e.jsx("button",{type:"button",className:"mc-photo-del",onClick:()=>k(a),title:"Șterge poza",children:"✕"})]},h)),B<5&&e.jsxs("label",{className:"mc-upload",children:[e.jsx("span",{className:"mc-upload-icon",children:"📷"}),e.jsx("span",{className:"mc-upload-label",children:B===0?"Click sau Drag":"Mai multe"}),e.jsx("input",{type:"file",accept:"image/*",multiple:!0,style:{display:"none"},onChange:a=>{[...a.target.files].slice(0,5-B).forEach(t=>x(t)),a.target.value=""}})]})]})]}),e.jsxs("div",{className:"mc-feedback-btns",children:[e.jsx("button",{type:"button",className:"mc-feedback-submit",onClick:de,children:"✕ Debifează — trimite la refăcut"}),e.jsx("button",{type:"button",className:"mc-feedback-cancel",onClick:()=>_(!1),children:"Anulează"})]})]}),e.jsx("div",{className:"mc-body-expanded",children:M?e.jsx("textarea",{ref:Q,className:"mc-textarea",value:Z,onChange:a=>{C(a.target.value),F(a.target)},onKeyDown:a=>{a.key==="Escape"&&te(),a.key==="Enter"&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),ee())},style:{overflow:"hidden",resize:"none"}}):e.jsx("span",{className:`mc-text${s.text?"":" mc-text--empty"}`,onClick:()=>K(!0),title:"Click pentru a edita",children:s.text||"…fără text — click pentru a scrie"})}),d&&e.jsxs("div",{className:`mc-photos${H?" mc-photos--drag":""}`,onDragOver:ce,onDragLeave:se,onDrop:ne,children:[e.jsx("div",{className:"mc-photos-title",children:H?"⬇ Dă drumul pozei aici":`📷 Pozele acestei misiuni (${P}/5)`}),e.jsxs("div",{className:"mc-photos-grid",children:[s.poze?.map((a,h)=>e.jsxs("div",{className:"mc-photo",children:[e.jsx("img",{src:a,alt:`poza-${h+1}`,onClick:()=>
1window.open(a,"_blank"),title:"Deschide în tab nou"}),e.jsx("button",{type:"button",className:"mc-photo-del",onClick:()=>T(a),title:"Șterge poza",children:"✕"})]},h)),P<5&&e.jsxs("label",{className:"mc-upload",children:[e.jsx("span",{className:"mc-upload-icon",children:"📷"}),e.jsx("span",{className:"mc-upload-label",children:P===0?"Click sau Drag":"Mai multe"}),e.jsx("input",{type:"file",accept:"image/*",multiple:!0,style:{display:"none"},onChange:a=>{[...a.target.files].slice(0,5-P).forEach(t=>f(t)),a.target.value=""}})]})]})]}),M&&e.jsxs("div",{className:"mc-footer-btns",children:[e.jsx("button",{type:"button",className:"mc-edit-ok",onClick:ee,children:"✓ Salvează misiunea"}),e.jsx("button",{type:"button",className:"mc-edit-cancel",onClick:te,children:"✕ Anulează"})]}),e.jsxs("div",{className:"mc-footer-del",children:[!s.terminat&&b&&e.jsx("button",{type:"button",className:`mc-pauza-bottom${s.pauzat?" mc-pauza-bottom--active":""}`,onClick:a=>{a.stopPropagation(),b()},title:s.pauzat?"Reia misiunea":"Pune pe pauză",children:s.pauzat?"▶ Reia misiunea":"⏸ Pune pe pauză"}),O?e.jsx("button",{type:"button",className:"mc-del-bottom",onClick:a=>{a.stopPropagation(),p()},title:"Șterge misiunea",children:"🗑 Șterge misiunea"}):e.jsx("span",{className:"mc-del-bottom",style:{opacity:.6,cursor:"default"},title:"Board autonom Claude — protejat, nu se șterge",children:"🔒 Protejat"})]})]})}function we({onAdd:s}){const[z,w]=l.useState(""),[p,f]=l.useState(!1),T=l.useRef(null);function D(){const g=z.trim();g&&(s(g,p),w(""),f(!1),setTimeout(()=>T.current?.focus(),30))}return e.jsxs("div",{className:"mc-draft",children:[e.jsx("button",{type:"button",className:`mc-star${p?" mc-star--on":""}`,onClick:()=>f(g=>!g),title:p?"Elimină prioritate":"Marchează ca prioritar",children:p?"★":"☆"}),e.jsx("textarea",{ref:T,className:"mc-draft-input",value:z,rows:1,onChange:g=>w(g.target.value),placeholder:"Scrie o misiune nouă... (Ctrl+Enter = adaugă)",onKeyDown:g=>{g.key==="Enter"&&(g.ctrlKey||g.metaKey)&&(g.preventDefault(),D())}}),z.trim()&&e.jsx("button",{type:"button",className:"mc-draft-add",onClick:D,children:"+ Adaugă"})]})}function De(){const[s,z]=l.useState(null),[w,p]=l.useState(!1),[f,T]=l.useState(!1),[D,g]=l.useState(null),[x,k]=l.useState(!1);l.useEffect(()=>{S.get("/api/admin/cron-idei").then(d=>z(d.data.config)).catch(()=>{})},[]);function b(d,y){z(M=>({...M,[d]:y}))}async function O(){if(s){p(!0);try{const d=await S.put("/api/admin/cron-idei",s);z(d.data.config),g({ok:!0,text:"✓ Salvat cu succes"}),setTimeout(()=>g(null),3e3)}catch{g({ok:!1,text:"✕ Eroare la salvare"})}finally{p(!1)}}}async function W(){T(!0),g(null);try{const d=await S.post("/api/admin/cron-idei/test");if(d.data.sent){const y=d.data.mock?" (SMTP neconfigurat — simulare)":"";g({ok:!0,text:`✓ Email test trimis la ${d.data.to}${y}`})}else g({ok:!1,text:`ℹ ${{no_tasks:"Nu există misiuni neterminate",too_recent:"Email trimis recent (interval prea mic)"}[d.data.reason]||"Emailul nu a fost trimis"}`})}catch(d){const y=d.response?.data?.error||d.response?.data?.eroare||"Eroare necunoscută";g({ok:!1,text:`✕ ${y}`})}finally{T(!1)}}function $(d){return d?new Date(d).toLocaleString("ro-RO",{dateStyle:"short",timeStyle:"short"}):"—"}return e.jsxs("div",{className:"cron-section",children:[e.jsxs("div",{className:"cron-header",onClick:()=>k(d=>!d),children:[e.jsx("span",{className:"cron-header-icon",children:"⏰"}),e.jsx("span",{className:"cron-header-title",children:"Notificări email automate"}),e.jsx("span",{className:"cron-header-badge",style:{background:s?.activ?"#22c55e22":"#ffffff11",color:s?.activ?"#4ade80":"#888"},children:s?.activ?"Activ":"Inactiv"}),e.jsx("span",{className:"cron-toggle-arrow",children:x?"▴":"▾"})]}),x&&e.jsxs("div",{className:"cron-body",children:[!s&&e.jsx("p",{className:"cron-desc",style:{color:"#555"},children:"Se încarcă setările…"}),s&&e.jsx("p",{className:"cron-desc",children:"Când există misiuni neterminate și laptopul este pornit, cronul trimite un email de reamintire la ora stabilită."}),s&&e.jsxs("div",{className:"cron-row",children:[e.jsx("label",{className:"cron-label",children:"Activat"}),e.jsx("button",{type:"button",className:"cron-toggle-btn"+(s.activ?" cron-toggle-btn--on":""),onClick:()=>b("activ",!s.activ),children:s.activ?"● Activ":"○ Inactiv"})]}),s&&e.jsxs("div",{className:"cron-row",children:[e.jsx("label",{className:"cron-label",children:"Ora trimitere"}),e.jsx("input",{type:"time",className:"cron-input cron-input--sm",value:s.ora,onChange:d=>b("ora",d.target.value)})]}),s&&e.jsxs("div",{className:"cron-row",children:[e.jsx("label",{className:"cron-label",children:"Interval minim între emailuri"}),e.jsx("select",{className:"cron-input cron-input--sm",value:s.interval_ore,onChange:d=>b("interval_ore",Number(d.target.value)),children:[1,2,4,6,8,12,24,48].map(d=>e.jsxs("option",{value:d,children:[d," ",d===1?"oră":"ore"]},d))})]}),s&&e.jsxs("div",{className:"cron-row",children:[e.jsx("label",{className:"cron-label",children:"Trimite la"}),e.jsx("input",{type:"email",className:"cron-input",value:s.email_to,onChange:d=>b("email_to",d.target.value),placeholder:"[email protected]"})]}),s&&e.jsxs("div",{className:"cron-row",children:[e.jsx("label",{className:"cron-label",children:"Subiect email"}),e.jsx("input",{type:"text",className:"cron-input",value:s.email_subject,onChange:d=>b("email_subject",d.target.value)})]}),s&&e.jsxs("div",{className:"cron-row cron-row--col",children:[e.jsxs("label",{className:"cron-label",children:["Textul emailului",e.jsxs("span",{className:"cron-hint",children:[" — variabile: ","{numar_taskuri}",", ","{lista_taskuri}"]})]}),e.jsx("textarea",{className:"cron-input cron-textarea",rows:8,value:s.email_body,onChange:d=>b("email_body",d.target.value)})]}),s&&e.jsxs("div",{className:"cron-info-row",children:[e.jsxs("span",{children:["Ultima verificare: ",e.jsx("strong",{children:$(s.ultima_rulare)})]}),e.jsxs("span",{children:["Ultimul email: ",e.jsx("strong",{children:$(s.ultimul_email)})]})]}),D&&e.jsx("div",{className:"cron-msg",style:{color:D.ok?"#4ade80":"#fb923c"},children:D.text}),s&&e.jsxs("div",{className:"cron-btns",children:[e.jsx("button",{className:"cron-btn cron-btn--save",onClick:O,disabled:w,children:w?"Salvează…":"💾 Salvează setări"}),e.jsx("button",{className:"cron-btn cron-btn--test",onClick:W,disabled:f,children:f?"
1Se trimite…":"📧 Test email acum"})]})]})]})}function Me(){const s=je(),{user:z}=ke(),w=z?.role==="master",[p,f]=l.useState([]),[T,D]=l.useState(!0),[g,x]=l.useState({}),[k,b]=l.useState({}),[O,W]=l.useState({}),[$,d]=l.useState(!1),[y,M]=l.useState({...xe}),[K,Z]=l.useState(""),[C,I]=l.useState(!1),[E,H]=l.useState(null),[U,A]=l.useState(null),[_,L]=l.useState({}),[Y,J]=l.useState({});l.useEffect(()=>{S.get("/api/admin/idei").then(t=>{const n=t.data.idei||[];f(n);const i={};n.forEach(c=>{i[c.id]={titlu:c.titlu,categorie:c.categorie||"",missiuni:c.missiuni||[]}}),b(i)}).catch(()=>{}).finally(()=>D(!1))},[]);function q(t){if(C)return;const n=!g[t];if(x(i=>({[t]:!i[t]})),n&&w){const i=p.find(c=>c.id===t);i&&!i.vazut_master&&(S.put(`/api/admin/idei/${t}/vazut`).catch(()=>{}),f(c=>c.map(r=>r.id===t?{...r,vazut_master:!0}:r)))}}async function Q(t){if(t===0)return;const n=[...p];[n[t-1],n[t]]=[n[t],n[t-1]],f(n),await S.put("/api/admin/idei/reorder",{order:n.map(i=>i.id)}).catch(()=>{})}async function V(t){if(t>=p.length-1)return;const n=[...p];[n[t],n[t+1]]=[n[t+1],n[t]],f(n),await S.put("/api/admin/idei/reorder",{order:n.map(i=>i.id)}).catch(()=>{})}async function F(t,n){const i=n||k[t];try{const r=(await S.put(`/api/admin/idei/${t}`,i)).data.idee;return f(o=>o.map(u=>u.id===t?{...u,...r}:u)),b(o=>({...o,[t]:{titlu:r.titlu,categorie:r.categorie||"",missiuni:r.missiuni||[]}})),r}catch{return null}}async function ee(t){try{const n=await S.put(`/api/admin/idei/${t}`,{status:"terminat",feedback:""});f(i=>i.map(c=>c.id===t?{...c,status:"terminat",feedback:""}:c))}catch{}}async function te(t){const n=(Y[t]||"").trim();try{const i=await S.put(`/api/admin/idei/${t}`,{status:"activ",feedback:n});f(c=>c.map(r=>r.id===t?{...r,status:"activ",feedback:n}:r)),L(c=>({...c,[t]:!1})),J(c=>({...c,[t]:""}))}catch{}}async function ae(t){W(i=>({...i,[t]:!0})),await F(t)&&(A(t),setTimeout(()=>A(i=>i===t?null:i),2200)),W(i=>({...i,[t]:!1}))}async function ce(t){if(t.avertisment_stergere)H({id:t.id,titlu:t.titlu});else{if(!await ye("Ștergi acest task?"))return;se(t.id)}}async function se(t){await S.delete(`/api/admin/idei/${t}`),f(n=>n.filter(i=>i.id!==t)),x(n=>{const i={...n};return delete i[t],i}),b(n=>{const i={...n};return delete i[t],i}),H(null)}async function ne(){if(y.titlu.trim())try{const n=(await S.post("/api/admin/idei",{...y,missiuni:[]})).data.idee;f(i=>[...i,n]),b(i=>({...i,[n.id]:{titlu:n.titlu,categorie:n.categorie||"",missiuni:n.missiuni||[]}})),x({[n.id]:!0}),M({...xe}),Z(""),d(!1)}catch{}}function X(t,n){b(i=>({...i,[t]:{...i[t],missiuni:n}}))}function oe(t,n,i){const c={id:Se(),text:n,starred:i,poze:[],terminat:!1,feedback_text:"",feedback_poze:[]},o=[...k[t]?.missiuni||[],c];X(t,[...o.filter(u=>u.starred),...o.filter(u=>!u.starred)])}function le(t,n){const c=(k[t]?.missiuni||[]).map(r=>r.id===n?{...r,starred:!r.starred}:r);X(t,[...c.filter(r=>r.starred),...c.filter(r=>!r.starred)])}function de(t,n){const i=k[t]?.missiuni||[];X(t,i.filter(c=>c.id!==n))}async function ue(t,n,i){if(!p.find(u=>u.id===t)?.missiuni?.some(u=>u.id===n)&&!(await F(t))?.missiuni?.some(N=>
1N.id===n)){ge("Misiunea nu a putut fi salvată. Apasă Salvează manual și încearcă din nou.");return}const o=new FormData;o.append("poza",i);try{const N=(await S.post(`/api/admin/idei/${t}/misiune/${n}/poza`,o)).data.idee.missiuni||[];f(j=>j.map(R=>R.id===t?{...R,missiuni:N}:R)),b(j=>({...j,[t]:{...j[t],missiuni:N}}))}catch{}}async function P(t,n,i){try{const r=(await S.delete(`/api/admin/idei/${t}/misiune/${n}/poza`,{data:{url:i}})).data.idee.missiuni||[];f(o=>o.map(u=>u.id===t?{...u,missiuni:r}:u)),b(o=>({...o,[t]:{...o[t],missiuni:r}}))}catch{}}async function B(t,n){const c=(k[t]?.missiuni||[]).map(r=>r.id===n?{...r,terminat:!0,feedback_text:"",feedback_poze:[]}:r);b(r=>({...r,[t]:{...r[t],missiuni:c}})),f(r=>r.map(o=>o.id===t?{...o,missiuni:c}:o)),await F(t,{...k[t],missiuni:c})}async function ie(t,n,i){const c=k[t]?.missiuni||[];c.find(o=>o.id===n);const r=c.map(o=>o.id===n?{...o,terminat:!1,feedback_text:i,feedback_poze:o.feedback_poze||[]}:o);b(o=>({...o,[t]:{...o[t],missiuni:r}})),f(o=>o.map(u=>u.id===t?{...u,missiuni:r}:u)),await F(t,{...k[t],missiuni:r})}async function re(t,n){const c=(k[t]?.missiuni||[]).map(r=>r.id===n?{...r,pauzat:!r.pauzat}:r);b(r=>({...r,[t]:{...r[t],missiuni:c}})),f(r=>r.map(o=>o.id===t?{...o,missiuni:c}:o)),await F(t,{...k[t],missiuni:c})}async function me(t,n,i){if(!p.find(u=>u.id===t)?.missiuni?.some(u=>u.id===n)&&!(await F(t))?.missiuni?.some(N=>
1N.id===n)){ge("Misiunea nu a putut fi salvată. Apasă Salvează manual și încearcă din nou.");return}const o=new FormData;o.append("poza",i);try{const N=(await S.post(`/api/admin/idei/${t}/misiune/${n}/feedback-poza`,o)).data.idee.missiuni||[];f(j=>j.map(R=>R.id===t?{...R,missiuni:N}:R)),b(j=>({...j,[t]:{...j[t],missiuni:N}}))}catch{}}async function a(t,n,i){try{const r=(await S.delete(`/api/admin/idei/${t}/misiune/${n}/feedback-poza`,{data:{url:i}})).data.idee.missiuni||[];f(o=>o.map(u=>u.id===t?{...u,missiuni:r}:u)),b(o=>({...o,[t]:{...o[t],missiuni:r}}))}catch{}}function h(t,n,i){b(c=>({...c,[t]:{...c[t],[n]:i}}))}return T?e.jsx("div",{className:"sl-loading",children:"Se încarcă..."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"sl-page",children:[e.jsxs("div",{className:"sl-header",children:[e.jsx("button",{className:"sl-back",onClick:()=>s("/admin"),children:"← Înapoi"}),e.jsx("h1",{className:"sl-h1",children:"💡 Idei & Taskuri"}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",alignItems:"center"},children:[e.jsx("button",{title:C?"Oprește reordonarea":"Reordonează",onClick:()=>I(t=>!t),style:{background:C?"rgba(201,168,76,0.2)":"rgba(255,255,255,0.06)",border:`1px solid ${C?"rgba(201,168,76,0.6)":"rgba(255,255,255,0.12)"}`,color:C?"#c9a84c":"#888",borderRadius:"6px",padding:"0.4rem 0.7rem",fontSize:"1rem",cursor:"pointer",lineHeight:1},children:"⇅"}),e.jsx("button",{className:"sl-btn-add",onClick:()=>d(t=>!t),children:$?"✕ Anulează":"+ Task nou"})]})]}),C&&e.jsx("div",{style:{background:"rgba(201,168,76,0.08)",border:"1px solid rgba(201,168,76,0.25)",borderRadius:"6px",padding:"0.5rem 0.8rem",marginBottom:"0.8rem",fontSize:"0.78rem",color:"#c9a84c",display:"flex",alignItems:"center",gap:"0.5rem"},children:"⇅ Mod reordonare activ — folosește săgețile ▲ ▼"}),$&&e.jsx("div",{className:"sl-card",style:{marginBottom:"1rem",border:"1px solid rgba(201,168,76,0.4)"},children:e.jsxs("div",{style:{padding:"1.2rem",display:"flex",flexDirection:"column",gap:"0.8rem"},children:[e.jsxs("div",{style:{display:"flex",gap:"0.6rem",flexWrap:"wrap",alignItems:"center"},children:[e.jsx("input",{className:"sl-input",style:{flex:1,minWidth:"200px"},value:y.titlu,onChange:t=>M(n=>({...n,titlu:t.target.value})),placeholder:"Titlu task...",autoFocus:!0,onKeyDown:t=>{t.key==="Enter"&&ne()}}),e.jsx(be,{value:y.categorie,onChange:t=>M(n=>({...n,categorie:t}))})]}),e.jsx("button",{className:"sl-btn-save",onClick:ne,disabled:!y.titlu.trim(),children:"✓ Creează task"})]})}),p.length===0&&!$&&e.jsx("div",{className:"sl-empty",children:e.jsxs("p",{children:["Niciun task salvat. Apasă ",e.jsx("strong",{children:"+ Task nou"})," pentru a începe."]})}),p.map((t,n)=>{const i=!!g[t.id]&&!C,c=k[t.id]||{titlu:t.titlu,categorie:t.categorie||"",missiuni:t.missiuni||[]},r=(c.missiuni||[]).filter(m=>m.starred).length,o=(c.missiuni||[]).reduce((m,v)=>m+(v.poze?.length||0),0),u=(c.missiuni||[]).filter(m=>m.terminat).length,N=(c.missiuni||[]).length,j=t.status==="terminat",R=w&&!t.vazut_master,pe=t.categorie==="claude"||t.id===7,he=w&&!pe;return e.jsxs("div",{className:"sl-card",style:{marginBottom:"0.6rem",borderColor:R?"rgba(251,191,36,0.5)":j?"rgba(34,197,94,0.5)":void 0,borderLeft:R?"3px solid #fbbf24":j?"3px solid #22c55e":void 0},children:[e.jsxs("div",{className:"sl-slider-header",onClick:()=>q(t.id),style:{cursor:C?"default":"pointer"},children:[C&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"2px",marginRight:"0.4rem",flexShrink:0},children:[e.jsx("button",{onClick:m=>{m.stopPropagation(),Q(n)},disabled:n===0,style:{background:n===0?"rgba(255,255,255,0.04)":"rgba(201,168,76,0.15)",border:"1px solid rgba(201,168,76,0.25)",color:n===0?"#444":"#c9a84c",borderRadius:"3px",width:"22px",height:"22px",fontSize:"0.7rem",cursor:n===0?"default":"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:"▲"}),e.jsx("button",{onClick:m=>{m.stopPropagation(),V(n)},disabled:n>=p.length-1,style:{background:n>=p.length-1?"rgba(255,255,255,0.04)":"rgba(201,168,76,0.15)",border:"1px solid rgba(201,168,76,0.25)",color:n>=p.length-1?"#444":"#c9a84c",borderRadius:"3px",width:"22px",height:"22px",fontSize:"0.7rem",cursor:n>=p.length-1?"default":"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:"▼"})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:1,minWidth:0},children:[e.jsxs("span",{style:{background:"rgba(201,168,76,0.12)",color:"#c9a84c",borderRadius:"4px",padding:"0.1rem 0.45rem",fontSize:"0.7rem",fontWeight:700,flexShrink:0},children:["#",n+1]}),e.jsx("span",{style:{color:"#c9a84c",fontSize:"0.85rem",flexShrink:0},children:"💡"}),e.jsx("span",{className:"sl-slider-name",children:t.titlu||"Fără titlu"}),R&&e.jsx("span",{style:{background:"rgba(251,191,36,0.2)",color:"#fbbf24",borderRadius:"4px",padding:"0.1rem 0.4rem",fontSize:"0.62rem",fontWeight:700,flexShrink:0,letterSpacing:"0.05em"},children:"NOU"}),t.categorie&&e.jsx("span",{style:{fontSize:"0.64rem",color:"#888",background:"rgba(255,255,255,0.06)",borderRadius:"3px",padding:"0.1rem 0.4rem",flexShrink:0},children:t.categorie}),N>0&&e.jsxs("span",{style:{fontSize:"0.68rem",flexShrink:0,display:"inline-flex",alignItems:"center",gap:"3px"},children:[u>0&&u<N&&e.jsxs("span",{style:{background:"rgba(34,197,94,0.15)",color:"#4ade80",borderRadius:"4px",padding:"0.1rem 0.4rem",fontWeight:700},children:["✓ ",u,"/",N]}),u===N&&N>0&&e.jsxs("span",{style:{background:"rgba(34,197,94,0.2)",color:"#4ade80",borderRadius:"4px",padding:"0.1rem 0.4rem",fontWeight:700},children:["✓ ",N,"/",N," toate"]}),u===0&&e.jsxs("span",{style:{color:"#666"},children:[N," mis."]}),r>0&&e.jsxs("span",{style:{color:"#c9a84c"},children:["★",r]})]}),o>0&&e.jsxs("span",{style:{fontSize:"0.68rem",color:"#666",flexShrink:0},children:["🖼 ",o]})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",flexShrink:0},children:[e.jsx("span",{style:{color:"#444",fontSize:"0.66rem"},children:new Date(t.creat_la).toLocaleDateString("ro-RO")}),!C&&e.jsx("button",{onClick:m=>{m.stopPropagation(),j?(L(v=>({...v,[t.id]:!0})),g[t.id]||q(t.id)):ee(t.id)},title:j?"Debifează — adaugă feedback":"Marchează ca terminat",style:{background:j?"rgba(34,197,94,0.15)":"rgba(255,255,255,0.05)",border:`1px solid ${j?"rgba(34,197,94,0.5)":"rgba(255,255,255,0.1)"}`,color:j?"#4ade80":"#444",borderRadius:"50%",width:"24px",height:"24px",fontSize:j?"0.85rem":"0.7rem",fontWeight:700,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.2s"},children:j?"✓":"○"}),!C&&e.jsx("span",{style:{color:i?"#c9a84c":"#555",fontSize:"0.72rem",fontWeight:600,background:i?"rgba(201,168,76,0.1)":"rgba(255,255,255,0.05)",border:`1px solid ${i?"rgba(201,168,76,0.35)":"rgba(255,255,255,0.08)"}`,borderRadius:"4px",padding:"0.1rem 0.45rem",transition:"all 0.2s",whiteSpace:"nowrap",userSelect:"none"},children:i?"Închide":"✎ Editează"})]})]}),i&&e.jsxs("div",{style:{padding:"1rem 1rem 1.1rem",borderTop:"1px solid rgba(255,255,255,0.06)"},children:[j&&!_[t.id]&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.6rem",background:"rgba(34,197,94,0.08)",border:"1px solid rgba(34,197,94,0.3)",borderRadius:"6px",padding:"0.5rem 0.8rem",marginBottom:"0.9rem"},children:[e.jsx("span",{style:{color:"#4ade80",fontSize:"1rem"},children:"✓"}),e.jsx("span",{style:{color:"#4ade80",fontSize:"0.8rem",fontWeight:600},children:"Task terminat de Claude"}),e.jsx("button",{onClick:()=>L(m=>({...m,[t.id]:!0})),style:{marginLeft:"auto",background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",color:"#888",borderRadius:"4px",padding:"0.2rem 0.6rem",fontSize:"0.72rem",cursor:"pointer"},children:"✕ Nu e bine"})]}),_[t.id]&&e.jsxs("div",{style:{background:"rgba(251,146,60,0.07)",border:"1px solid rgba(251,146,60,0.35)",borderRadius:"6px",padding:"0.7rem 0.8rem",marginBottom:"0.9rem"},children:[e.jsx("div",{style:{color:"#fb923c",fontSize:"0.78rem",fontWeight:600,marginBottom:"0.4rem"},children:"✕ Ce nu e bine? Scrie ce trebuie refăcut:"}),e.jsx("textarea",{autoFocus:!0,rows:3,value:Y[t.id]||"",onChange:m=>J(v=>({...v,[t.id]:m.target.value})),placeholder:"ex: butonul nu apare pe mobil, culoarea nu e corectă...",style:{width:"100%",background:"rgba(0,0,0,0.3)",border:"1px solid rgba(251,146,60,0.3)",borderRadius:"5px",color:"#f0ece6",fontSize:"0.82rem",fontFamily:"inherit",padding:"0.5rem",resize:"vertical",lineHeight:1.5,boxSizing:"border-box"}}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",marginTop:"0.5rem"},children:[e.jsx("button",{onClick:()=>te(t.id),style:{flex:1,background:"rgba(251,146,60,0.15)",border:"1px solid rgba(251,146,60,0.4)",color:"#fb923c",borderRadius:"5px",padding:"0.4rem 0.8rem",fontSize:"0.78rem",fontWeight:700,cursor:"pointer"},children:"✕ Debifează — trimite la refăcut"}),e.jsx("button",{onClick:()=>L(m=>({...m,[t.id]:!1})),style:{background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.1)",color:"#666",borderRadius:"5px",padding:"0.4rem 0.8rem",fontSize:"0.72rem",cursor:"pointer"},children:"Anulează"})]})]}),!j&&t.feedback&&!_[t.id]&&e.jsxs("div",{style:{background:"rgba(251,146,60,0.07)",border:"1px solid rgba(251,146,60,0.3)",borderRadius:"6px",padding:"0.5rem 0.8rem",marginBottom:"0.9rem"},children:[e.jsx("div",{style:{color:"#fb923c",fontSize:"0.72rem",fontWeight:600,marginBottom:"0.2rem"},children:"⚠ De refăcut:"}),e.jsx("div",{style:{color:"#e8c89a",fontSize:"0.82rem",whiteSpace:"pre-wrap",lineHeight:1.5},children:t.feedback})]}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",alignItems:"center",marginBottom:"0.5rem",flexWrap:"wrap"},children:[e.jsx("input",{className:"sl-input",style:{flex:1,minWidth:"160px"},value:c.titlu,onChange:m=>h(t.id,"titlu",m.target.value),placeholder:"Titlu task"}
1),e.jsx(be,{value:c.categorie,onChange:m=>h(t.id,"categorie",m)})]}),e.jsxs("div",{style:{marginBottom:"0.9rem"},children:[e.jsxs("label",{className:"sl-label",style:{marginBottom:"0.5rem",display:"block"},children:["Misiuni  ",e.jsx("span",{style:{color:"#555",fontWeight:400,textTransform:"none",letterSpacing:0},children:"(☆ = prioritar · ▾ = poze · Ctrl+Enter = adaugă)"})]}),e.jsxs("div",{className:"mc-list",children:[(c.missiuni||[]).length===0&&e.jsx("p",{className:"mc-empty-hint",children:"Nicio misiune — scrie mai jos și apasă + Adaugă"}),(c.missiuni||[]).map(m=>e.jsx(Ce,{m,canDelete:!pe,onToggleStar:()=>le(t.id,m.id),onSaveText:async v=>{const fe=(k[t.id]?.missiuni||[]).map(G=>G.id===m.id?{...G,text:v}:G);b(G=>({...G,[t.id]:{...G[t.id],missiuni:fe}})),await F(t.id,{...k[t.id],missiuni:fe})},onDelete:()=>de(t.id,m.id),onUploadPoza:v=>ue(t.id,m.id,v),onDelPoza:v=>P(t.id,m.id,v),onMarkDone:()=>B(t.id,m.id),onMarkActive:v=>ie(t.id,m.id,v),onUploadFeedbackPoza:v=>me(t.id,m.id,v),onDelFeedbackPoza:v=>a(t.id,m.id,v),onPauza:()=>re(t.id,m.id)},m.id))]}),e.jsx(we,{onAdd:(m,v)=>oe(t.id,m,v)})]}),e.jsxs("div",{style:{display:"flex",gap:"0.6rem",alignItems:"center",marginTop:"1.25rem",paddingTop:"1rem",borderTop:"1px solid #2a2a2a"},children:[e.jsx("button",{className:`sl-btn-save${U===t.id?" sl-btn-save--ok":""}`,onClick:()=>ae(t.id),disabled:O[t.id],style:{flex:1},children:O[t.id]?"Se salvează...":U===t.id?"✓ Salvat!":"✓ Salvează"}),he?e.jsx("button",{className:"sl-btn-danger",onClick:()=>ce(t),title:"Șterge taskul",children:"🗑"}):e.jsx("span",{title:pe?"Board autonom Claude — protejat, nu se șterge":"Doar administratorul principal poate șterge acest task",style:{fontSize:"0.7rem",color:"#555",padding:"0.3rem 0.5rem",border:"1px solid #333",borderRadius:"6px",cursor:"not-allowed"},children:"🔒"})]})]})]},t.id)}),e.jsx(De,{})]}),E&&ve.createPortal(e.jsx("div",{style:{position:"fixed",inset:0,zIndex:99999,background:"rgba(0,0,0,0.8)",display:"flex",alignItems:"center",justifyContent:"center",padding:"1rem"},children:e.jsxs("div",{style:{background:"#111",border:"1px solid rgba(220,50,50,0.6)",borderRadius:"12px",padding:"1.5rem 1.5rem 1.2rem",maxWidth:"420px",width:"100%",boxShadow:"0 0 40px rgba(220,50,50,0.25)"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.6rem",marginBottom:"1rem"},children:[e.jsx("span",{style:{fontSize:"1.4rem"},children:"⚠️"}),e.jsx("span",{style:{color:"#ef5350",fontWeight:800,fontSize:"1rem"},children:"Ești sigur că vrei să ștergi?"})]}),e.jsxs("div",{style:{background:"rgba(220,50,50,0.08)",border:"1px solid rgba(220,50,50,0.3)",borderRadius:"8px",padding:"0.9rem 1rem",marginBottom:"1rem"},children:[e.jsxs("p",{style:{color:"#ef9a9a",fontSize:"0.85rem",lineHeight:1.6,margin:0},children:["Acest task conține ",e.jsx("strong",{style:{color:"#ef5350"},children:"cronuri de mesaje"})," și este cuplat la ",e.jsx("strong",{style:{color:"#ef5350"},children:"mail și soft Claude"}),"."]}),e.jsxs("p",{style:{color:"#ef9a9a",fontSize:"0.85rem",lineHeight:1.6,margin:"0.5rem 0 0"},children:["✋ ",e.jsx("strong",{children:"Recomandat: nu șterge"})," dacă vrei să păstrezi taskurile AI."]})]}),e.jsxs("p",{style:{color:"#666",fontSize:"0.78rem",marginBottom:"1.2rem"},children:["Task: ",e.jsxs("span",{style:{color:"#999"},children:["„",E.titlu,'"']})]}),e.jsxs("div",{style:{display:"flex",gap:"0.6rem"},children:[e.jsx("button",{onClick:()=>H(null),style:{flex:1,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.12)",color:"#ccc",borderRadius:"7px",padding:"0.6rem",fontSize:"0.85rem",fontWeight:600,cursor:"pointer"},children:"← Anulează"}),e.jsx("button",{onClick:()=>se(E.id),style:{flex:1,background:"rgba(180,30,30,0.2)",border:"1px solid rgba(220,50,50,0.5)",color:"#ef5350",borderRadius:"7px",padding:"0.6rem",fontSize:"0.85rem",fontWeight:700,cursor:"pointer"},children:"Da, șterge"})]})]})}),document.body)]})}
1export{Me as default};

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