@imj_media/tareas 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,8 @@ interface IValuesContext {
7
7
  selectedTasks: number[];
8
8
  selectTask: (id: number) => void;
9
9
  projectID: number;
10
+ openTasks: number[];
11
+ openTask: (id: number) => void;
10
12
  }
11
13
  export declare const InfoCampaniaProvider: ({ children, project }: IInfoCampaniaContext) => import("react/jsx-runtime").JSX.Element;
12
14
  export declare const useInfoCampania: () => IValuesContext;
@@ -1 +1 @@
1
- export * from './components';
1
+ export * from './pages';
@@ -0,0 +1 @@
1
+ export { default as AppTasks } from './App';
@@ -1,5 +1,5 @@
1
1
  import { Meta, StoryObj } from '@storybook/react';
2
- import { default as AppTasks } from '../pages/App';
2
+ import { AppTasks } from '../pages';
3
3
  declare const meta: Meta<typeof AppTasks>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
package/dist/tareas.cjs CHANGED
@@ -1,3 +1,2 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(".table-container{width:100%;margin:0 auto;padding:1rem;cursor:pointer;border-radius:2%;background-color:#fafafa;box-shadow:0 2px 4px #00000014}.table-container table{width:100%;border-spacing:0;border:none;background-color:#fafafa;border-radius:8px;overflow:hidden;cursor:pointer}.table-container thead{background-color:#fafafa;cursor:pointer}.table-container thead th{padding:16px;text-align:left;border-bottom:none;color:#c4c4c4;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background-color .2s ease}.table-container thead th:hover{background-color:#e9ecef}.table-container thead th .sort-icon{margin-left:8px;opacity:.5}.table-container thead th .sort-icon.active{opacity:1}.table-container tbody tr{transition:background-color .2s ease;cursor:pointer}.table-container tbody tr:hover{background-color:#dae2ec}.table-container tbody td{padding:12px 16px;text-align:left;border-bottom:none;color:#212529;font-size:10px;vertical-align:middle;cursor:pointer}.table-container tbody td .progress-container{background-color:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.table-container tbody td .progress-container .progress-bar{height:100%;transition:width .3s ease}.table-container tbody td .progress-container .progress-bar.green{background-color:#039b59}.table-container tbody td .progress-container .progress-bar.blue{background-color:#3658c1}.table-container tbody td .progress-container .progress-bar.orange{background-color:#dc8921}.table-container tbody td .avatar-container{display:flex;align-items:center;gap:12px}.table-container tbody td .avatar-container .avatar{width:28px;height:28px;border-radius:18px;display:flex;align-items:center;justify-content:center;background-color:#e7e9f2;color:dark;font-weight:600;font-size:10px!important}.table-container tbody td .p-dropdown-sm{font-size:12px;height:auto}.table-container tbody td .dropdown-container{position:relative;display:inline-block;width:100%}.table-container tbody td .dropdown-container .dropdown-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 12px;font-size:10px;background-color:transparent;border:1px solid #D9D9D9;border-radius:4px;cursor:pointer}.table-container tbody td .dropdown-container .dropdown-toggle:hover{background-color:#f5f5f5}.table-container tbody td .dropdown-container .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;width:100%;padding:4px 0;margin-top:4px;background-color:#fafafa;border:1px solid #D9D9D9;border-radius:4px;box-shadow:0 2px 4px #0000001a}.table-container tbody td .dropdown-container .dropdown-menu .dropdown-item{display:block;width:100%;padding:6px 12px;font-size:10px;color:#252525;text-align:left;background-color:transparent;border:none;cursor:pointer}.table-container tbody td .dropdown-container .dropdown-menu .dropdown-item:hover{background-color:#e7e9f2}.table-container .pagination{margin-top:1rem;display:flex;justify-content:center;align-items:center;gap:8px;padding:1rem;width:100%;height:-moz-fit-content;height:fit-content;background-color:#fafafa;font-size:small}.table-container .pagination button{padding:8px;border:none;background-color:#fafafa;color:#495057;border-radius:50%;cursor:pointer;transition:all .2s ease;width:auto;height:auto;align-items:center;align-content:center;text-align:center;font-size:7px}.table-container .pagination button:disabled{background-color:#f5f5f5;color:#c4c4c4;cursor:not-allowed}.table-container .pagination button:hover:not(:disabled){background-color:#e1ebf9;border-color:#e1ebf9;color:#3658c1}.table-container .pagination span{font-size:10px;color:#6c757d}.table-container input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0d6efd}.table-container .table-row{transition:background-color .2s ease}.table-container .table-row .table-row:nth-child(odd){background-color:#fafafa}.table-container .table-row .table-row:nth-child(2n){background-color:#f5f5f5}.table-container .table-row:hover{background-color:#e1ebf9!important;color:#fff;cursor:pointer}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("@imj_media/tasks-modules"),d=require("react"),K=require("react-dom"),S=require("@tanstack/react-query");require("axios");require("qs");const W=require("date-fns"),H=require("date-fns/locale"),_=require("@imj_media/imj-ui"),ge=require("react-hook-form"),fe=require("primereact/avatar"),be=require("primereact/paginator"),je=require("primereact/dropdown"),I=({imageUrl:t="https://www.uv.unach.mx/assets/img/prueba/directorio/userM.png",alt:s="avatar"})=>e.jsx("img",{src:t===""?"https://www.uv.unach.mx/assets/img/prueba/directorio/userM.png":t,alt:s??"avatar",className:"w-[28px] h-[28px] min-w-[28px] min-h-[28px] rounded-full bg-containers border-2 border-white"}),ye=({id:t})=>{const[s,n]=d.useState(!1);return{checked:s,checkTask:()=>{n(!s),console.log("completar tarea",t)}}},v={bg:{DEFAULT:"#EFEFEF",content:"#FAFAFA",card:"#FAFAFA"},texts:{DEFAULT:"#252525",enfasis:"#3658c1",subtext:"#4f4f4f",placeholder:"#929292"},primary:{light:"#E7E9F2",medium:"#dae2ec",dark:"#334990",regular:"#425CAC",pastel:"#5c7ddd"},success:{light:"#368156",medium:"#D2E9DC",dark:"#368156",regular:"#43B071",pastel:"#57BA81"},danger:{light:"#F1E5E4",medium:"#EBDBD9",dark:"#8C352C",regular:"#C34335",pastel:"#C4335"},warning:{light:"#F2ECE5",medium:"#EBE3D9",dark:"#B4782F",regular:"#D38A31",pastel:"#D38A31"},alert:{light:"#F1F1E4",medium:"#EAE9D9",dark:"#ADA63A",regular:"#D6CC48",pastel:"#D6CC48"},info:{light:"#E7F5FF",medium:"#D9E6EE",dark:"#1C5073",regular:"#1B6698",pastel:"#1B6698"},link:{light:"#ECF8FE",medium:"#D8F1FD",dark:"#0A7AAE",regular:"#0EA5E9",pastel:"#0EA5E9"}},G=({id:t,nameRequiredTask:s,statusRequiredTask:n,status:a})=>{const{checked:o,checkTask:l}=ye({id:t});let r=Math.random().toString();return console.log({statusRequiredTask:n}),e.jsxs(e.Fragment,{children:[a===1&&(n<2&&s!==""?e.jsx(j.Tooltip,{dispatch:e.jsx("label",{htmlFor:r,children:e.jsx(j.Icons,{icon:"info_circle",color:v.warning.regular,strokeWidth:4})}),children:e.jsxs("div",{className:"px-m py-s max-w-[200px] bg-warning-light rounded-lg border-l-[5px] border-warning-regular text-warning-dark text-xs",children:[e.jsx("p",{className:"font-bold",children:"Requiere completar su tarea requerida:"}),e.jsxs("p",{children:[" ",s," "]})]})}):e.jsx("label",{htmlFor:r,className:o?"bg-success-regular rounded-full w-[20px] h-[20px] flex items-center justify-center mx-[2px] transition-all":" transition-colors",children:e.jsx(j.Icons,{icon:o?"check_outline":"circle_checked",color:o?"white":v.texts.placeholder,strokeWidth:4,size:o?"xs":"s"})})),e.jsx("input",{id:r,checked:o,onChange:l,type:"checkbox",className:"hidden"})]})},se=({trigger:t,user:s,showUser:n=!0})=>e.jsx(j.Tooltip,{dispatch:t,children:n&&e.jsxs("div",{className:"flex items-center gap-2 bg-containers w-fit h-fit p-2 rounded-lg border-containers",children:[e.jsx(I,{imageUrl:s.image??"",alt:s.name}),e.jsx("p",{className:"text-xs font-bold content-text",children:s.name})]})}),V=()=>{const[t,s]=d.useState(null);return{position:t,setElementPosition:l=>{var m;let r=(m=l.current)==null?void 0:m.getBoundingClientRect(),x=(r==null?void 0:r.x)+((r==null?void 0:r.width)??0),c=(r==null?void 0:r.y)+(r==null?void 0:r.height);s(t?null:{x:x??0,y:c??0})},getChildrenSize:l=>{var r;return(r=l.current)==null?void 0:r.getBoundingClientRect()},clearPosition:()=>{s(null)}}},we=({options:t,onselect:s})=>{const[n,a]=d.useState(null),o=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),l=[...t].filter(r=>r.name.toLowerCase().includes((n==null?void 0:n.toLowerCase())??""));return e.jsxs("div",{className:"h-fit w-full min-w-max",children:[e.jsxs("div",{className:"relative flex items-center",children:[e.jsx("input",{id:o,value:n??"",onChange:r=>a(r.target.value),type:"text",className:"w-full h-[32px] bg-bg-card border-cards rounded-lg p-2",placeholder:"Buscar"}),e.jsx("div",{className:"absolute right-[8px]",children:e.jsx(j.Icons,{icon:"search",size:"xs",strokeWidth:3})})]}),e.jsx("div",{className:"bg-bg-card border-cards rounded-lg p-2 flex flex-col gap-s overflow-y-auto max-h-[120px] min-w-max",children:l.map(r=>e.jsxs("button",{onClick:()=>{s(r)},className:"flex gap-s items-center max-w-[200px] min-w-full hover:bg-primary-light cursor-pointer",children:[e.jsx(I,{imageUrl:r.image,alt:r.name}),e.jsx("p",{className:"text-xs font-bold content-text",children:r.name})]}))})]})},Ne=d.createContext({}),T=()=>d.useContext(Ne),B=t=>{const s=a=>Object.prototype.toString.call(a)==="[object Object]",n=a=>a.attributes?{id:a.id,...a.attributes}:a;if(Array.isArray(t))return t.map(a=>B(a));if(s(t)){Array.isArray(t.data)?t=[...t.data]:s(t.data)?t=n({...t.data}):t.data===null?t=null:t=n(t);for(const a in t)t[a]=B(t[a]);return t}return t};class ve{static toDomain(s){return{id:s.id,name:s.nombre,color:s.color}}}const Ce=()=>{const{tasks_api:t}=T();return{teams:S.useQuery({queryKey:["teams","all"],queryFn:async()=>{const n=await t.get("/api/equipos");return B(n.data).map(ve.toDomain)}})}};class _e{static toUsers(s){var n,a,o;return{id:s.id,name:s.nombre,image:(o=(a=(n=s.imagen)==null?void 0:n.formats)==null?void 0:a.thumbnail)==null?void 0:o.url}}}const Fe=async({tasks_api:t})=>{try{const s=await t.get("/api/allOBPUsers");return B(s.data).map(_e.toUsers)}catch(s){throw console.log("Error al obtener los usuarios comerciales",s),`Error al obtener los usuarios comerciales: ${s}`}},Se=()=>{const{tasks_api:t}=T();return{users:S.useQuery({queryKey:["users"],queryFn:()=>Fe({tasks_api:t}),staleTime:1e3*60*60*24})}},ae=t=>new Intl.DateTimeFormat("es-MX",{month:"long"}).format(t);function Te(t){const s=["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],n=new Date(t).getDay();return s[n]}const te=t=>{let s=t.getDate(),n=ae(t.getMonth()).slice(0,3),a=t.getFullYear().toString().slice(-2),o=Te(t).slice(0,3);return`${o.charAt(0).toUpperCase()+o.slice(1)} ${s} ${n.charAt(0).toUpperCase()+n.slice(1)} ${a}`},Y=t=>({...t,image:t.image?`https://devobp.imjmedia.com.mx${t.image}`:""}),X=({users:t,onClick:s,responsible:n})=>{let a=`button-assign-users-${Math.random().toString(36).substring(2,15)}`;const{setElementPosition:o,position:l,clearPosition:r}=V(),x=d.useRef(null);console.log(t);const c=()=>n?null:t.length>3&&e.jsx(j.Tooltip,{dispatch:e.jsx("div",{className:"w-[28px] h-[28px] rounded-full btn-primary flex items-center justify-center border-2 border-white ml-[-8px]",children:e.jsx("p",{className:"text-xs font-bold text-white ",children:`+${t.length-3}`})}),children:e.jsx("div",{className:"bg-containers w-fit h-fit p-2 rounded-lg border-containers",children:t==null?void 0:t.slice(3).map((h,g)=>e.jsxs("div",{className:"flex items-center gap-2 ",children:[e.jsx(I,{imageUrl:h.image??"",alt:h.name},g),e.jsx("p",{className:"text-xs font-bold content-text",children:h.name})]},g))})}),m=()=>{if(n){let h=t.find(g=>g.id===n);return e.jsx("div",{children:e.jsx(se,{trigger:e.jsx(I,{imageUrl:h==null?void 0:h.image,alt:h==null?void 0:h.name},n),user:h,showUser:!(l!=null&&l.x)})})}return(t==null?void 0:t.length)>0&&t.slice(0,3).map((h,g)=>e.jsx("div",{className:`${g===0?"":"ml-[-8px]"}`,children:e.jsx(se,{trigger:e.jsx(I,{imageUrl:h.image,alt:h.name},g),user:h,showUser:!(l!=null&&l.x)})}))},i=({children:h})=>e.jsx("label",{ref:x,htmlFor:a,className:"cursor-pointer flex items-center",children:h});if(t.length===0)return e.jsx(i,{children:e.jsx(j.Icons,{icon:"user",size:"xs",strokeWidth:3})});const p=()=>{var w;const[h,g]=d.useState(),[f,b]=d.useState("team"),{teams:N}=Ce(),{users:u}=Se();d.useEffect(()=>{var y,F;x.current&&g(((l==null?void 0:l.x)??0)-(((F=(y=x.current)==null?void 0:y.getBoundingClientRect())==null?void 0:F.width)??0))},[x==null?void 0:x.current,l==null?void 0:l.x]);const C=()=>{const y=[{id:"team",label:"Equipo"},{id:"responsible",label:"Responsable"}];return e.jsx("div",{className:"w-full flex justify-center gap-l text-texts-placeholder font-bold",children:y.map((F,A)=>e.jsx("button",{className:`w-full text-sm border-texts-placeholder text-center ${f===F.id?"text-primary-pastel":""} ${A===y.length-1?"border-r-0":" border-r-2"}`,onClick:()=>b(F.id),children:F.label}))})};return(l==null?void 0:l.x)&&K.createPortal(e.jsx("div",{className:`absolute w-[300px] h-fit ${h?"block":"hidden"}`,style:{top:`${l==null?void 0:l.y}px`,left:`${h}px`},children:e.jsxs("div",{className:"flex flex-col gap-m bg-bg-card border-cards rounded-lg p-2 max-h-[200px] overflow-y-hidden",children:[e.jsx(C,{}),e.jsx(we,{options:f==="team"?N.data.map(y=>({id:y.id,name:y.name,image:""})):(w=u.data)==null?void 0:w.map(Y),onselect:y=>{r(),s&&s(y)}})]})}),document.body)};return e.jsxs(e.Fragment,{children:[e.jsxs(i,{children:[m(),c()]}),e.jsx("button",{className:"hidden",id:a,onClick:()=>o(x)}),e.jsx(p,{})]})},Ae=()=>{const{tasks_api:t}=T(),s=S.useQueryClient(),n=async({newData:l,id:r})=>(await t.put(`/api/tareas/${r}`,{data:l})).data,a=S.useMutation({mutationFn:({newData:l,id:r})=>n({newData:l,id:r}),onSuccess:()=>{s.invalidateQueries({queryKey:["toDoTasks"]}),s.invalidateQueries({queryKey:["inProgressTasks"]}),s.invalidateQueries({queryKey:["doneTasks"]}),console.log("Task updated successfully!")},onError:l=>{console.error("Failed to update the task.",l)}});return{updateTask:async({id:l,data:r,user:x})=>{let c={updated_at:new Date().toISOString(),updated_by:x,...r};try{await a.mutateAsync({newData:c,id:l})}catch(m){console.error("Error updating the element:",m)}}}},re=({priority:t,id:s})=>{const{updateTask:n}=Ae(),a=Math.random().toString(36),[o,l]=d.useState(null),r=c=>({0:v.primary.regular,1:v.success.regular,2:v.warning.regular,3:v.danger.regular})[c],x=()=>{if(!o)return null;const c=({priority:m,text:i})=>e.jsxs("button",{onClick:()=>{n({id:s,data:{prioridad:m},user:272}),l(null)},className:"flex gap-m items-center px-l py-s hover:bg-primary-light",children:[e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:3,color:r(m)}),e.jsx("p",{className:"text-sm",style:{color:r(m)},children:i})]});return K.createPortal(e.jsxs("div",{onBlur:()=>{l(null)},id:`${a}-options`,style:{top:`${o.y+5}px`,left:`${o.x+5}px`},className:`absolute h-fit p-m flex flex-col gap-2 bg-bg-card rounded-xl shadow-lg
3
- w-max`,children:[e.jsx(c,{priority:0,text:"Baja"}),e.jsx(c,{priority:1,text:"Normal"}),e.jsx(c,{priority:2,text:"Media"}),e.jsx(c,{priority:3,text:"Alta"})]}),document.body)};return e.jsxs("div",{className:"relative h-[22px]",children:[e.jsx("label",{onBlur:()=>{l(null)},htmlFor:a,className:"flex items-center gap-2 cursor-pointer active:opacity-50",children:e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:3,color:r(t)})}),e.jsx("button",{id:a,onClick:c=>{l(o?null:{x:c.clientX,y:c.clientY})},className:"hidden"}),e.jsx(x,{})]})};function qe({items:t}){var a;const[s,n]=d.useState(1);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row mb-2 border-b border-neutral-100 bg-white mt-4",children:t.map((o,l)=>e.jsx("div",{className:`border-r border-neutral-100 pr-3 py-1 ${l!==0?"px-3":""}`,children:e.jsx(_.Button,{variant:"ghost",onClick:()=>n(o.id),className:`text-sm font-normal rounded-none py-1 h-8 ${s===o.id?"text-primary border-b border-primary":"text-neutral-400 border-b-0"}`,children:o.label},o.id)},o.id))}),e.jsx("div",{className:"pt-4 flex-1 overflow-y-auto bg-white",children:(a=t.find(o=>o.id===s))==null?void 0:a.component})]})}const Ee="https://devobp.imjmedia.com.mx";function Pe({comment:t}){var n,a,o,l;function s(r){const x=W.parseISO(r);return W.formatDistanceToNow(x,{locale:H.es,addSuffix:!0})}return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-row gap-2 items-start",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${Ee}${(l=(o=(a=(n=t==null?void 0:t.autor)==null?void 0:n.imagen)==null?void 0:a.formats)==null?void 0:o.thumbnail)==null?void 0:l.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{children:"CN"})]}),e.jsx("p",{className:"text-sm text-neutral-900 font-medium",children:t.autor.nombre}),e.jsx("span",{className:"text-xs text-neutral-600 font-normal mt-[2px]",children:s(t.createdAt)})]}),e.jsx("p",{className:"text-sm text-neutral-600 font-normal pl-10",children:t.comentario})]})}const De="https://devobp.imjmedia.com.mx";function le(t){return t?t.split(" ").map(a=>{var o;return(o=a[0])==null?void 0:o.toUpperCase()}).slice(0,2).join(""):""}function Ie({currentUser:t,data:s,taskId:n,onNewComment:a}){var p;const{tasks_api:o}=T(),{register:l,handleSubmit:r,reset:x}=ge.useForm(),[c,m]=d.useState([]);d.useEffect(()=>{if(s!=null&&s.comentarios){const h=[...s.comentarios].sort((g,f)=>new Date(f.createdAt).getTime()-new Date(g.createdAt).getTime());m(h)}},[s]);const i=async h=>{try{const g={autor:{id:t==null?void 0:t.id,email:t==null?void 0:t.email,nombre:t==null?void 0:t.nombre,imagen:t==null?void 0:t.imagen},comentario:h.comment,createdAt:new Date().toISOString()};await o.post("/api/comentarios",{data:{autor:t==null?void 0:t.id,comentario:h.comment,tarea:n}}),a(!0),m(f=>[g,...f]),x()}catch(g){console.error("Error al agregar comentario:",g)}};return e.jsxs("div",{className:"flex flex-col h-full gap-4",children:[e.jsxs("form",{onSubmit:r(i),className:"flex flex-row items-center gap-3",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${De}${(p=t==null?void 0:t.imagen.formats.thumbnail)==null?void 0:p.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{className:"border border-x-primary-pastel",children:le(t==null?void 0:t.nombre)})]}),e.jsx(_.Input,{...l("comment",{required:!0}),autoComplete:"off",placeholder:"Escribe un comentario",className:"w-full bg-white border border-neutral-200"})]}),c.map((h,g)=>e.jsx(Pe,{comment:h},g))]})}const Be=d.createContext({}),M=()=>d.useContext(Be);function $e({data:t}){const s={0:{color:"bg-gray-400",label:"Sin estado"},1:{color:"bg-primary-regular",label:"En curso"},2:{color:"bg-success-regular",label:"Finalizada"},3:{color:"bg-success-regular",label:"Finalizada"}},n=a=>a?W.format(new Date(a),"d MMM",{locale:H.es}):"";return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-row items-center gap-4",children:[e.jsx(_.Label,{className:"text-lg font-medium text-neutral-900",children:"Tareas dependientes"}),e.jsx("span",{className:"text-sm font-normal text-neutral-600 bg-[#E1EBF9] w-6 h-6 rounded-full flex items-center justify-center text-primary",children:t==null?void 0:t.length})]}),e.jsx("div",{className:"flex flex-col gap-2 border border-neutral-200 rounded-lg mt-3",children:t==null?void 0:t.map(a=>{var o,l,r,x,c;return e.jsxs("div",{className:"flex flex-row w-full items-center justify-between gap-s border-b border-neutral-200 py-1 px-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(I,{imageUrl:(x=(r=(l=(o=a.responsable)==null?void 0:o.image)==null?void 0:l.formats)==null?void 0:r.thumbnail)==null?void 0:x.url}),e.jsx("p",{className:"text-sm font-normal w-[400px] text-nowrap text-ellipsis overflow-hidden",children:a==null?void 0:a.texto_corto})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-sm font-normal",children:n(a==null?void 0:a.createdAt)}),e.jsx("div",{className:`w-4 h-4 bg-gray-400 block rounded-full ${((c=s[a==null?void 0:a.estatus])==null?void 0:c.color)??"bg-gray-400"}`})]})]},a.id)})})]})}const Me="https://devobp.imjmedia.com.mx";function Le({isOpen:t,setIsOpen:s,taskId:n}){var f,b,N,u,C,w,y,F,A,q,E;const[a,o]=d.useState(null),[l,r]=d.useState(!1),[x,c]=d.useState(null),{tasks_api:m}=T(),{user:i}=M();d.useEffect(()=>{if(t&&n||l){const D=async()=>{const L=await m.get(`/api/detalleTarea/${n}`);o(L.data)},R=async()=>{var k,ee;const L=await m.get(`/api/users/${i.id}`),Q=await m.post("/api/obtenerUsuarioOBP/",{emailList:[(k=L==null?void 0:L.data)==null?void 0:k.email]});c((ee=Q==null?void 0:Q.data)==null?void 0:ee.data[0])};D(),R()}},[t,n,l]);const p={0:{label:"Sin prioridad",color:"text-primary-regular",iconColor:"#425CAC"},1:{label:"Baja",color:"text-success-regular",iconColor:"#43B071"},2:{label:"Media",color:"text-warning-regular",iconColor:"#D38A31"},3:{label:"Alta",color:"text-danger-regular",iconColor:"#C34335"}},h=D=>D?W.format(D,"d MMM yyyy, h:mmaaa",{locale:H.es}):"Fecha no disponible",g=[{id:1,label:"Todo",component:e.jsx(Ie,{taskId:n,currentUser:x,data:a,onNewComment:r})},{id:2,label:"Dependencias",component:e.jsx($e,{data:a==null?void 0:a.ids_t_dependientes})}];return e.jsx(e.Fragment,{children:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`fixed inset-0 bg-transparent bg-opacity-50 flex justify-center items-center z-20 ${t?"pointer-events-auto block":"pointer-events-none hidden"}`,onClick:()=>s(!1)}),e.jsx("section",{className:`fixed top-0 bottom-0 bg-white bg-opacity-50 flex justify-center items-center w-[40rem] h-screen z-50 overflow-hidden transition-all ease-in-out duration-500 shadow-2xl ${t?"right-0 pointer-events-auto block":"right-[-100%] pointer-events-none hidden"}`,children:e.jsxs("div",{className:"flex w-full h-full flex-col overflow-y-scroll bg-white border-none shadow-xl px-4 py-6",children:[e.jsxs("div",{className:"w-full flex flex-row justify-between pb-4 gap-10 border-none",children:[e.jsx("h3",{className:"text-lg font-semibold text-neutral-900",children:a==null?void 0:a.texto_corto}),e.jsx(_.Button,{variant:"shadow",size:"sm",onClick:()=>s(!1),className:"bg-neutral-100 w-10 h-10",children:e.jsx(j.Icons,{icon:"x_outline"})})]}),e.jsx("div",{className:"w-full flex flex-row justify-between",children:e.jsxs("span",{className:"text-neutral-600 text-sm",children:[a==null?void 0:a.campania," / ",a==null?void 0:a.nombre_medio]})}),e.jsxs("div",{className:"w-full flex flex-col gap-3 mt-4",children:[e.jsx("h6",{className:"text-neutral-900 font-semibold text-base",children:"Descripción"}),e.jsx("p",{className:"text-neutral-600 font-normal text-sm",children:(a==null?void 0:a.texto_largo)??"Sin descripción"})]}),e.jsx(_.Accordion,{type:"single",collapsible:!0,defaultValue:"item-1",className:"w-full flex flex-col border border-neutral-200 rounded-xl mt-4",children:e.jsxs(_.AccordionItem,{value:"item-1",className:"border-none",children:[e.jsx(_.AccordionTrigger,{className:"text-neutral-900 font-medium text-sm w-full flex flex-row border-b border-neutral-200 p-4 ",children:"Detalles"}),e.jsx(_.AccordionContent,{className:"border-none",children:e.jsxs("div",{className:"w-full grid grid-cols-3 gap-4 p-4",children:[e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Responsable"}),(f=a==null?void 0:a.responsable)!=null&&f.nombre?e.jsxs("div",{className:"flex flex-row gap-2 items-center",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${Me}${(C=(u=(N=(b=a==null?void 0:a.responsable)==null?void 0:b.imagen)==null?void 0:N.formats)==null?void 0:u.thumbnail)==null?void 0:C.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{children:le((w=a==null?void 0:a.responsable)==null?void 0:w.nombre)})]}),e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:(y=a==null?void 0:a.responsable)==null?void 0:y.nombre})]}):e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:"Sin responsable"})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Equipo asignado"}),e.jsx("div",{className:"flex flex-row gap-2",children:e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:((F=a==null?void 0:a.equipo)==null?void 0:F.nombre)??"Sin equipo"})})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Prioridad"}),e.jsxs("div",{className:"flex flex-row items-center gap-2",children:[e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:5,color:(A=p[a==null?void 0:a.prioridad])==null?void 0:A.iconColor}),e.jsx("span",{className:`text-sm text-neutral-600 font-normal ${(q=p[a==null?void 0:a.prioridad])==null?void 0:q.color}`,children:((E=p[a==null?void 0:a.prioridad])==null?void 0:E.label)??"Sin prioridad"})]})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Lista"}),e.jsx("div",{className:"flex flex-row gap-2",children:e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:(a==null?void 0:a.lista)??"Sin lista"})})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha estimada de inicio"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:h(a==null?void 0:a.f_inicio_estimada)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha estimada de fin"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:h(a==null?void 0:a.f_fin_estimada)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha de fin"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:h(a==null?void 0:a.ffin)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Creado"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:h(a==null?void 0:a.createdAt)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Última modificación"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:h(a==null?void 0:a.updatedAt)})]})]})})]})}),e.jsx(qe,{items:g})]})})]})})}const oe=({id:t,task:s,endDate:n,users:a,willBePaused:o,nameProject:l,idProject:r,comments:x,priority:c,responsible:m,nameRequiredTask:i,statusRequiredTask:p,status:h})=>{const g=d.useRef(null),[f,b]=d.useState(!1),{setElementPosition:N,position:u}=V(),C=({children:y})=>{const[F,A]=d.useState();return d.useEffect(()=>{var q,E;g.current&&A(((u==null?void 0:u.x)??0)-(((E=(q=g.current)==null?void 0:q.getBoundingClientRect())==null?void 0:E.width)??0))},[g==null?void 0:g.current,u==null?void 0:u.x]),u&&K.createPortal(e.jsx("div",{className:`absolute w-fit h-fit ${F?"block":"hidden"}`,style:{top:`${u==null?void 0:u.y}px`,left:`${F}px`},children:y}),document.body)},w=()=>e.jsxs("div",{className:"flex justify-between items-center w-full h-fit relative",children:[e.jsxs("div",{className:"flex items-center gap-[8px] w-[calc(100%-32px)] ",children:[e.jsx(G,{id:t,nameRequiredTask:i??"",statusRequiredTask:p??0,status:h}),e.jsx("p",{className:"title-text",onClick:()=>b(!0),children:s})]}),e.jsx("button",{ref:g,onClick:()=>{N(g)},className:"flex items-center justify-center text-sm font-extrabold bg-bg hover:filter-[drop-shadow(0_0_10px_#000000)] rounded-full w-[24px] h-[24px] m-block",children:e.jsx("span",{className:"rotate-90",children:e.jsx(j.Icons,{icon:"elipsis",size:"xs"})})}),e.jsx(C,{children:e.jsxs("button",{className:"w-max h-fit bg-bg-card rounded-lg p-l shadow-lg flex items-center gap-2 hover:bg-primary-light",onClick:()=>{},children:[e.jsx("p",{className:"text-sm font-normal text-texts-placeholder font-regular",children:"Mover a trabajando"}),e.jsx(j.Icons,{icon:"arrow_right",size:"xs",strokeWidth:4,color:v.primary.regular})]})})]});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"bg-bg-card border-cards max-w-[350px] rounded-lg relative h-fit p-[12px_12px] hover:border-active hover:bg-active cursor-pointer ",children:[e.jsx(w,{}),e.jsxs("div",{className:"flex flex-col gap-[4px] py-2",children:[e.jsx("p",{className:"subtitle-text",children:l}),r&&e.jsx("p",{className:"content-text",children:r})]}),e.jsxs("div",{className:"flex justify-between items-center w-full h-fit relative pt-5 pb-1",children:[e.jsxs("div",{className:"flex items-center relative",children:[e.jsx(X,{responsible:m,users:a.filter(y=>m?y.id===m:!0).map(Y),onClick:()=>{}}),o&&e.jsx(j.Tooltip,{dispatch:e.jsxs("button",{className:"text-sm font-regular text-gray-400 flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"pause",size:"s",strokeWidth:2}),e.jsx("span",{children:"Pause"})]}),children:e.jsx("p",{className:"text-sm font-regular text-white p-5",children:"Al pulsar el botón se solicitará razón del pausado"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"at",size:"xs"}),e.jsx(re,{priority:c,id:t}),e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:3,color:v.texts.subtext}),e.jsx("p",{className:"text-sm font-regular text-texts-subtext",children:`${n.getDate()} ${ae(n.getMonth()).slice(0,3)}`})]})]}),x>0&&e.jsx("div",{className:"border-t border-gray-200 mt-4 pt-2",children:e.jsxs("button",{className:"flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"comment",size:"xs",strokeWidth:4}),e.jsx("span",{className:"text-sm font-regular text-gray-400",children:x})]})})]}),e.jsx(Le,{taskId:t,isOpen:f,setIsOpen:b})]})},ze=()=>e.jsxs("div",{className:"bg-gray-200 h-[150px] w-full animate-pulse rounded-md flex flex-col gap-[50px] p-4",children:[e.jsxs("div",{className:"flex h-[30px] gap-3",children:[e.jsx("div",{className:"w-[30px] min-w-[30px] h-full bg-gray-300 rounded-full"}),e.jsx("div",{className:"w-full h-full bg-gray-300"}),e.jsx("div",{className:"w-[30px] min-w-[30px] h-full bg-gray-300 rounded-full"})]}),e.jsxs("div",{className:"flex justify-between w-full h-[30px] gap-[50px]",children:[e.jsx("div",{className:"w-full h-[30px] bg-gray-300"}),e.jsx("div",{className:"w-full h-[30px] bg-gray-300"})]})]}),z=({title:t,tasks:s,loadNextPage:n,isFetching:a,total:o})=>{const l=d.useRef(null),r=d.useRef(null),x=d.useRef(!1);d.useEffect(()=>{var i;l!=null&&l.current&&(r!=null&&r.current)&&(r.current.style.minHeight=`${((i=l==null?void 0:l.current)==null?void 0:i.clientHeight)-50}px`)},[l==null?void 0:l.current]);const c=i=>{if(x.current)return;const{scrollTop:p,clientHeight:h,scrollHeight:g}=i==null?void 0:i.target,f=p/(g-h)*100;f<=95||f>=95&&(x.current=!0,n&&n(),setTimeout(()=>{x.current=!1},200))},m={"Por hacer":"border-texts-placeholder",Trabajando:"border-primary-regular",Completadas:"border-success-regular"};return e.jsxs("div",{ref:l,className:` flex flex-col bg-containers w-fit max-w-[400px] min-w-[400px] h-full min-h-[100%] pb-[200px] relative p-[16px] rounded-lg overflow-hidden border-t-4 ${m[t]}`,children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("div",{className:"flex items-center gap-[8px]",children:e.jsx("p",{className:"text-base",children:t})}),e.jsx("div",{className:"flex items-center gap-[8px]",children:e.jsxs("div",{className:"flex items-center gap-[4px]",children:[e.jsx(j.Icons,{icon:"group_files",size:"xs",strokeWidth:5,color:v.texts.placeholder}),e.jsx("p",{className:"text-md text-texts-placeholder",children:o??0})]})})]}),e.jsxs("div",{ref:r,className:"flex flex-col gap-[12px] overflow-y-auto scrollbar-none py-4",onScroll:c,children:[s==null?void 0:s.map(i=>e.jsx(oe,{...i},i.id)),a?e.jsx(ze,{}):e.jsx("p",{className:"text-center text-gray-500",children:"No hay más tareas por mostrar..."})]})]})},Re=()=>{const[t,s]=d.useState([]),[n,a]=d.useState(0),[o,l]=d.useState(10),[r,x]=d.useState(0),[c,m]=d.useState("nombre"),{tasks_api:i}=T(),p=async(u,C)=>{try{const w=await i.get("/listado_campanias",{params:{"pagination[page]":u,"pagination[pageSize]":C,orderBy:c}}),y=B(w.data);s(y),x(w.data.meta.total)}catch(w){console.error("Error fetching data:",w)}};d.useEffect(()=>{const u=Math.floor(n/o)+1;p(u,o)},[n,o,c]);const h=u=>{a(u.first),l(u.rows)},g=[{label:"5",value:5},{label:"10",value:10},{label:"15",value:15},{label:"20",value:20}],f=u=>{u.value!==o&&(l(u.value),a(0))},b=u=>{m(C=>C===u?`${u}:desc`:u)},N=u=>c===u?"↑↓":c===`${u}:desc`?"↓↑":"↑↓";return e.jsxs("div",{className:"table-container",children:[e.jsxs("table",{className:"table",style:{borderCollapse:"collapse",width:"100%",borderSpacing:"0"},children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsxs("th",{onClick:()=>b("nombre"),children:[e.jsx("label",{style:{color:"#C4C4C4",fontSize:"10px"},children:N("nombre")}),"Campaña"]}),e.jsxs("th",{onClick:()=>b("inicia"),children:[e.jsx("label",{style:{color:"#C4C4C4",fontSize:"10px"},children:N("inicia")}),"Fecha Inicio"]}),e.jsxs("th",{onClick:()=>b("termina"),children:[e.jsx("label",{style:{color:"#C4C4C4",fontSize:"10px"},children:N("termina")}),"Fecha Fin"]}),e.jsx("th",{children:"Status"}),e.jsx("th",{children:"Responsable"})]})}),e.jsx("tbody",{children:t==null?void 0:t.map((u,C)=>{var w,y,F,A,q,E,D,R;return e.jsxs("tr",{className:"table-row",children:[e.jsx("td",{children:(w=u==null?void 0:u.campania)==null?void 0:w.nombre}),e.jsx("td",{children:(y=u==null?void 0:u.campania)==null?void 0:y.inicia}),e.jsx("td",{children:(F=u==null?void 0:u.campania)==null?void 0:F.termina}),e.jsx("td",{style:{width:"20%"},children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"15px",padding:"none",fontSize:"12px",width:"auto"},children:[e.jsxs("label",{style:{width:"20px",minWidth:"50px",textAlign:"right",color:"#000"},children:[u==null?void 0:u.progreso,"%"]}),e.jsx("div",{style:{position:"relative",height:"10px",flex:1,backgroundColor:"#C4C4C4",borderRadius:"10px",overflow:"hidden"},children:e.jsx("div",{style:{position:"absolute",top:0,left:0,height:"100%",width:`${u.progreso}%`,backgroundColor:u.progreso===100?"#039B59":u.progreso>50?"#3658C1":u.progreso>0?"#DC8921":"#C4C4C4",borderRadius:"10px",transition:"width 0.3s ease-in-out"}})})]})}),e.jsx("td",{style:{width:"auto"},children:e.jsxs("div",{className:"avatar-container",children:[e.jsx(fe.Avatar,{className:"avatar",label:(E=(q=(A=u==null?void 0:u.campania)==null?void 0:A.responsable)==null?void 0:q.nombre)==null?void 0:E.charAt(0),shape:"circle"}),e.jsx("span",{style:{marginLeft:"8px",fontSize:"12px"},children:(R=(D=u==null?void 0:u.campania)==null?void 0:D.responsable)==null?void 0:R.nombre})]})})]},C)})})]}),e.jsxs("div",{className:"pagination",style:{background:"#FAFAFA",marginTop:"1rem",display:"flex",gap:"0.5rem"},children:[e.jsxs("span",{style:{alignItems:"center",fontSize:"10px",textAlign:"left",width:"auto",height:"auto",padding:"12px",whiteSpace:"nowrap"},children:[o," elementos de ",r]}),e.jsx(be.Paginator,{first:n,rows:o,totalRecords:r,rowsPerPageOptions:[5,10,20,50],onPageChange:h,className:"pagination",template:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",whiteSpace:"nowrap",padding:"0 1rem"},children:[e.jsx("span",{style:{fontSize:"12px"},children:"Filas por página:"}),e.jsx(je.Dropdown,{value:o,options:g,onChange:f,style:{minWidth:"5rem",width:"auto",height:"2rem",zIndex:"999999",transform:"translateY(-100%)"},className:"p-dropdown-sm",optionLabel:"label",optionValue:"value"})]})]})]})},Oe=({label:t,active:s,onClick:n,disabled:a})=>a?e.jsx(j.Tooltip,{dispatch:e.jsxs("button",{className:"text-texts-placeholder text-xs font-semibold cursor-help",children:[" ",t," "]}),children:e.jsx("div",{className:"flex items-center justify-center px-3 py-2 bg-bg-card rounded-lg border border-border-card",children:e.jsx("p",{className:"text-texts-placeholder text-xs font-semibold",children:"Espéralo muy pronto..."})})}):e.jsx("button",{disabled:a,onClick:n,className:`${s?"text-texts-enfasis border-b-2 border-texts-enfasis":""} text-xs font-semibold ${a?"cursor-not-allowed text-texts-placeholder":"text-texts-subtext"} `,children:t}),We=({tabs:t,renderItem:s,initialTab:n})=>{const[a,o]=d.useState(n??t[0].toLowerCase());d.useEffect(()=>{n&&o(n)},[n]);const l=r=>{o(r),s(r)};return e.jsx("div",{className:"flex",children:t.map((r,x)=>e.jsx("div",{className:`${x===0?"border-l-2":""} border-r-2 border-gray-200 px-m`,children:e.jsx(Oe,{onClick:()=>l(r.toLowerCase()),label:r,active:r.toLowerCase()===a,disabled:["gantt"].includes(r.toLowerCase())},x)}))})},Ke=({children:t,filterChildren:s})=>{const{position:n,setElementPosition:a}=V(),o=d.useRef(null),l=({children:r})=>{const[x,c]=d.useState();return d.useEffect(()=>{var m,i;s.current&&c(((n==null?void 0:n.x)??0)-(((i=(m=s.current)==null?void 0:m.getBoundingClientRect())==null?void 0:i.width)??0))},[s==null?void 0:s.current,n==null?void 0:n.x]),n&&K.createPortal(e.jsx("div",{className:`absolute w-fit h-fit ${x?"block":"hidden"}`,style:{top:`${n==null?void 0:n.y}px`,left:`${x}px`},children:r}),document.body)};return e.jsxs(e.Fragment,{children:[e.jsxs("label",{ref:o,htmlFor:"filter-button",className:"flex cursor-pointer items-center gap-m p-s text-texts-enfasis fill-texts-enfasis bg-bg rounded-lg px-l h-[30px] shadow-button-primary hover:shadow-button-primary-hover ",children:[e.jsx(j.Icons,{icon:"filter",size:"xs",strokeWidth:5,color:v.primary.regular}),"Filtrar"]}),e.jsx("button",{className:"hidden",id:"filter-button",onClick:()=>{a(o)}}),e.jsx(l,{children:t})]})},ne=t=>{let s={};return Object.entries(t).forEach(([n,a])=>{if(n.includes(".")){let[o,l]=n.split(".");s[o]=s[o]||{},s[o][l]=a}else s[n]=a}),s},ie=d.createContext({}),Ue=({children:t})=>{const[s,n]=d.useState({}),[a,o]=d.useState({}),[l,r]=d.useState([]),x=({name:i,value:p})=>{function h(f){return!isNaN(f)&&f!==null&&f!==""?parseFloat(f):null}let g=h(p);o(f=>{let b={...f},N=l==null?void 0:l.find(u=>u.label.toLowerCase().replace(/ /g,"_")===i);return N?b[N.id]=g??p:b[i]=g??p,b})};d.useEffect(()=>{let i=l.map(p=>p.id==="owner.config"?[p.id,"yo_y_mis_equipos"]:p.id==="dependency"?[p.id,"ambas"]:[p.id,null]);o(Object.fromEntries(i))},[l]);const c=()=>{let i=l.map(p=>p.id==="owner.config"?[p.id,"yo_y_mis_equipos"]:p.id==="dependency"?[p.id,"ambas"]:[p.id,null]);o(Object.fromEntries(i)),n(ne(Object.fromEntries(i)))},m=()=>{let i=ne(a);n(i)};return e.jsx(ie.Provider,{value:{fields:l,filters:s,defineFields:r,updateFilters:x,cleanFilters:c,applyFilters:m,initialFilters:a},children:t})},P=()=>d.useContext(ie);function ce(t,s=300,n={leading:!1,trailing:!0}){let a,o=null;return function(...l){const r=Date.now(),x=n.leading&&!o;clearTimeout(a),x&&t(...l),o=r,a=setTimeout(()=>{n.trailing&&(!n.leading||r-o>=s)&&(t(...l),o=null)},s)}}const Qe=()=>{const{fields:t,updateFilters:s,cleanFilters:n,applyFilters:a,initialFilters:o}=P();return e.jsxs("div",{className:"flex flex-col gap-l min-w-[250px]",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("p",{className:"text-texts text-m",children:"Filtros"}),e.jsx("button",{className:"text-xs font-semibold flex cursor-pointer items-center gap-m p-s text-texts-enfasis fill-texts-enfasis bg-bg rounded-lg px-l h-fit shadow-button-primary hover:shadow-button-primary-hover ",onClick:n,children:"Limpiar"})]}),e.jsx("div",{className:"flex flex-col gap-m",children:t==null?void 0:t.map((l,r)=>{var x;return e.jsxs("div",{children:[e.jsx("p",{className:"text-sm",children:l.label}),(l==null?void 0:l.type)==="select"?e.jsx("select",{onChange:c=>{var m,i;s({name:(m=c==null?void 0:c.target)==null?void 0:m.name,value:(i=c==null?void 0:c.target)==null?void 0:i.value})},value:o==null?void 0:o[l==null?void 0:l.id],className:"w-full h-[30px] shadow-input rounded-lg p-s",name:l.id,id:l.id,children:(x=l==null?void 0:l.options)==null?void 0:x.map((c,m)=>e.jsx("option",{value:c.id,children:c.name},m))}):e.jsx("input",{className:"w-full h-[30px] shadow-input rounded-lg p-s",type:l.type,value:o==null?void 0:o[l==null?void 0:l.id],name:l.label.toLowerCase().replace(/ /g,"_"),onChange:ce(c=>{var m,i;return s({name:(m=c==null?void 0:c.target)==null?void 0:m.name,value:(i=c==null?void 0:c.target)==null?void 0:i.value})},1e3)})]},r)})}),e.jsx("button",{className:"btn-primary rounded-md py-s",onClick:a,children:"Filtrar"})]})};class He{static toCampaignTasks(s){var a,o,l,r,x,c,m,i,p,h,g,f;let n=[];return s!=null&&s.responsable&&n.push({id:s.responsable.id,name:s.responsable.nombre,image:(x=(r=(l=(o=(a=s.responsable)==null?void 0:a.userOBP)==null?void 0:o.imagen)==null?void 0:l.formats)==null?void 0:r.thumbnail)==null?void 0:x.url}),console.log("task",s),(c=s==null?void 0:s.equipo)!=null&&c.miembros&&s.equipo.miembros.forEach(b=>{var N,u,C,w;n!=null&&n.find(y=>y.id===b.idUser.id)||b.idUser&&n.push({id:b.idUser.id,name:b.idUser.nombre,image:(w=(C=(u=(N=b==null?void 0:b.userOBP)==null?void 0:N.imagen)==null?void 0:u.formats)==null?void 0:C.thumbnail)==null?void 0:w.url})}),{orden:(s==null?void 0:s.orden)??null,id:(s==null?void 0:s.id)??null,task:(s==null?void 0:s.texto_corto)??null,status:(s==null?void 0:s.estatus)??null,difficulty:(s==null?void 0:s.nivel_dificultad)??null,priority:(s==null?void 0:s.prioridad)??0,endDate:new Date((s==null?void 0:s.ffin)??null),startDate:new Date((s==null?void 0:s.finicio)??null),mediumName:((m=s==null?void 0:s.nombre_medio)==null?void 0:m.nombre)??null,users:n,repeatsToDo:(s==null?void 0:s.repeticiones)??null,repeats:(s==null?void 0:s.repeticiones_realizadas)??null,comments:((i=s==null?void 0:s.comentarios)==null?void 0:i.length)??null,willBePaused:s==null?void 0:s.es_pausable,statusRequiredTask:((p=s==null?void 0:s.id_t_requerida)==null?void 0:p.estatus)??null,nameRequiredTask:((h=s==null?void 0:s.id_t_requerida)==null?void 0:h.texto_corto)??null,responsible:((g=s==null?void 0:s.responsable)==null?void 0:g.id)??null,tasks:((f=s==null?void 0:s.tareas)==null?void 0:f.map(b=>({id:b.id,name:b.texto_corto,status:b.estatus})))??null}}}const Ge=async({filters:t,tasks_api:s,project:n})=>{try{const a=await s.get("/api/listado_tareas",{params:{...t,project:{id:n},includeAllTasks:!0}});return B(a.data.tareas).map(He.toCampaignTasks)}catch(a){console.log(a)}},de=d.createContext({}),Ve=({children:t,project:s})=>{var g;const n=S.useQueryClient(),[a,o]=d.useState([]),{tasks_api:l}=T(),{filters:r}=P(),{user:x}=M(),[c,m]=d.useState({owner:{user:x.id,config:((g=r==null?void 0:r.owner)==null?void 0:g.config)??"yo_y_mis_equipos"},project:{id:s}});d.useEffect(()=>{console.log(a)},[a]);const i=S.useQuery({queryKey:["tasksProject",s],queryFn:()=>Ge({filters:{...c},project:s,tasks_api:l})});d.useEffect(()=>{var f;Object.keys(r).length>0&&m({...r,owner:{user:x.id,config:((f=r==null?void 0:r.owner)==null?void 0:f.config)??"yo_y_mis_equipos"},project:{id:s}})},[r]),d.useEffect(()=>{n.invalidateQueries({queryKey:["tasksProject",s]})},[c]);const p=f=>{o(b=>[...b,f])},h=s??null;return e.jsx(de.Provider,{value:{tasksProject:i,selectedTasks:a,projectID:h,selectTask:p},children:t})},U=()=>d.useContext(de),Ye=[{label:"Tipo de dependencia",type:"select",id:"dependency",options:[{id:"con",name:"Con dependencia"},{id:"sin",name:"Sin dependencia"},{id:"ambas",name:"Ambas"}]},{label:"Por responsable",type:"select",id:"owner.config",options:[{id:"yo",name:"Mis tareas"},{id:"yo_y_mis_equipos",name:"Tareas mías y de mis equipos"},{id:"mis_equipos",name:"Tareas de mis equipos"}]},{label:"Por dificultad",type:"select",id:"difficulty",options:[{id:0,name:"Muy facil"},{id:1,name:"Facil"},{id:2,name:"Media"},{id:3,name:"Dificil"},{id:4,name:"Muy dificil"}]}],Xe=()=>{var o;const{defineFields:t}=P(),{tasksProject:s}=U();d.useEffect(()=>{(async()=>{let r=[...Ye];t(r)})()},[]);let n=(o=s==null?void 0:s.data)==null?void 0:o.reduce((l,r)=>(l[r.status]=l[r.status]||[],l[r.status].push(r),l),{});const a=["Por hacer","Trabajando","Completadas"];return e.jsx("div",{className:"flex gap-4 w-full h-full min-h-[100%] relative ",children:a.map((l,r)=>{var x;return e.jsx(z,{total:((x=n==null?void 0:n[r])==null?void 0:x.length)??0,title:l,tasks:(n==null?void 0:n[r])??[],isFetching:s==null?void 0:s.isFetching,isLoadingData:s==null?void 0:s.isLoading})})})};class Je{static toKanbanTasks(s){var a,o,l,r,x,c,m,i,p,h,g;let n=[];return s!=null&&s.responsable&&n.push({id:s.responsable.id,name:s.responsable.nombre,image:(x=(r=(l=(o=(a=s.responsable)==null?void 0:a.userOBP)==null?void 0:o.imagen)==null?void 0:l.formats)==null?void 0:r.thumbnail)==null?void 0:x.url}),(c=s==null?void 0:s.equipo)!=null&&c.miembros&&s.equipo.miembros.forEach(f=>{var b,N,u,C;n!=null&&n.find(w=>w.id===f.idUser.id)||f.idUser&&n.push({id:f.idUser.id,name:f.idUser.nombre,image:(C=(u=(N=(b=f==null?void 0:f.userOBP)==null?void 0:b.imagen)==null?void 0:N.formats)==null?void 0:u.thumbnail)==null?void 0:C.url})}),{comments:0,nameProject:(m=s==null?void 0:s.proyecto)==null?void 0:m.nombre,idProject:(i=s==null?void 0:s.proyecto)==null?void 0:i.id,willBePaused:s.es_pausable,difficulty:s.nivel_dificultad,endDate:new Date(s.ffin),id:s.id,priority:s.prioridad??0,status:s.estatus,task:s.texto_corto,users:n,responsible:((p=s==null?void 0:s.responsable)==null?void 0:p.id)??null,statusRequiredTask:((h=s.id_t_requerida)==null?void 0:h.estatus)??null,nameRequiredTask:((g=s.id_t_requerida)==null?void 0:g.texto_corto)??null}}}const J=async({filters:t,tasks_api:s})=>{try{return(await s.get("/api/listado_tareas",{params:t})).data.tareas.map(B).map(Je.toKanbanTasks)}catch(n){throw console.log({error:n}),`Error al obtener las tareas: ${n}`}},Z=t=>{var s;if(t!=null&&t.hasNextPage){const n=(s=t==null?void 0:t.data)==null?void 0:s.pages[t.data.pages.length-1];(n==null?void 0:n.length)===30&&(t==null||t.fetchNextPage())}},$=t=>({pagination:{page:t,pageSize:30,withCount:!0}}),Ze=()=>{var m;const t=S.useQueryClient(),{tasks_api:s}=T(),{user:n}=M(),{filters:a}=P(),[o,l]=d.useState(0),[r,x]=d.useState({owner:{user:n.id,config:((m=a==null?void 0:a.owner)==null?void 0:m.config)??"yo_y_mis_equipos"},status:"por_hacer"}),c=S.useInfiniteQuery({initialPageParam:1,queryKey:["to_do_tasks",r],queryFn:({pageParam:i})=>J({filters:{...r,status:"por_hacer",...$(i)},tasks_api:s,page:i}),staleTime:1e3*60*60*24,getNextPageParam:(i,p)=>p.length+1});return d.useEffect(()=>{var i;Object.keys(a).length>0&&x({...a,owner:{user:n.id,config:((i=a==null?void 0:a.owner)==null?void 0:i.config)??"yo_y_mis_equipos"},status:"por_hacer"})},[a]),d.useEffect(()=>{t.invalidateQueries({queryKey:["to_do_tasks",r]})},[r]),d.useEffect(()=>{(async()=>{const p=await s.get("/api/listado_tareas",{params:{...r,status:"por_hacer",...$(1),tasks_api:s,justCount:!0}});l(p.data.total)})()},[r,c==null?void 0:c.data]),{toDoTasks:c,total:o}},ke=()=>{var a,o;const{toDoTasks:t,total:s}=Ze(),n=[...((o=(a=t==null?void 0:t.data)==null?void 0:a.pages)==null?void 0:o.flat())??[]];return e.jsx(z,{total:s,title:"Por hacer",tasks:n,loadNextPage:()=>Z(t),isFetching:t==null?void 0:t.isFetching,isLoadingData:t==null?void 0:t.isLoading})},es=()=>{var m;const t=S.useQueryClient(),{tasks_api:s}=T(),{user:n}=M(),{filters:a}=P(),[o,l]=d.useState(0),[r,x]=d.useState({owner:{user:n.id,config:((m=a==null?void 0:a.owner)==null?void 0:m.config)??"yo_y_mis_equipos"},status:"trabajando"}),c=S.useInfiniteQuery({initialPageParam:1,queryKey:["working_tasks",r],queryFn:({pageParam:i})=>J({filters:{...r,status:"trabajando",...$(i)},tasks_api:s,page:i}),staleTime:1e3*60*60*24,getNextPageParam:(i,p)=>p.length+1});return d.useEffect(()=>{var i;Object.keys(a).length>0&&x({...a,owner:{user:n.id,config:((i=a==null?void 0:a.owner)==null?void 0:i.config)??"yo_y_mis_equipos"},status:"trabajando"})},[a]),d.useEffect(()=>{t.invalidateQueries({queryKey:["working_tasks",r]})},[r]),d.useEffect(()=>{(async()=>{const p=await s.get("/api/listado_tareas",{params:{...r,status:"trabajando",...$(1),tasks_api:s,justCount:!0}});l(p.data.total)})()},[r,c==null?void 0:c.data]),{workingTasks:c,total:o}},ss=()=>{var a,o;const{workingTasks:t,total:s}=es(),n=[...((o=(a=t==null?void 0:t.data)==null?void 0:a.pages)==null?void 0:o.flat())??[]];return e.jsx(z,{total:s,title:"Trabajando",tasks:n,loadNextPage:()=>Z(t),isFetching:t==null?void 0:t.isFetching})},ts=()=>{var m;const t=S.useQueryClient(),{user:s}=M(),{tasks_api:n}=T(),{filters:a}=P(),[o,l]=d.useState(0),[r,x]=d.useState({owner:{user:s.id,config:((m=a==null?void 0:a.owner)==null?void 0:m.config)??"yo_y_mis_equipos"},status:"completadas"}),c=S.useInfiniteQuery({initialPageParam:1,queryKey:["done_tasks",r],queryFn:({pageParam:i})=>J({filters:{...r,status:"completadas",...$(i)},tasks_api:n,page:i}),staleTime:1e3*60*60*24,getNextPageParam:(i,p)=>p.length+1});return d.useEffect(()=>{var i;Object.keys(a).length>0&&x({...a,owner:{user:s.id,config:((i=a==null?void 0:a.owner)==null?void 0:i.config)??"yo_y_mis_equipos"},status:"completadas"})},[a]),d.useEffect(()=>{t.invalidateQueries({queryKey:["done_tasks",r]})},[r]),d.useEffect(()=>{(async()=>{const p=await n.get("/api/listado_tareas",{params:{...r,status:"completadas",...$(1),justCount:!0,tasks_api:n}});l(p.data.total)})()},[c==null?void 0:c.data,r]),{doneTasks:c,total:o}},ns=()=>{var a,o;const{doneTasks:t,total:s}=ts(),n=[...((o=(a=t==null?void 0:t.data)==null?void 0:a.pages)==null?void 0:o.flat())??[]];return e.jsx(z,{title:"Completadas",tasks:n,loadNextPage:()=>Z(t),isFetching:t==null?void 0:t.isFetching,total:s})};class O{static toSalesmanUsers(s){return{id:s.id,name:s.nombre}}}const as=()=>{const{tasks_api:t}=T(),{filters:s}=P(),{user:n}=M();return{getSalesmanAndProjects:async()=>{var c;const[r,x]=await Promise.all([t.get("/api/obtener-comerciales"),t.get("/api/listado_tareas",{params:{...s,owner:{user:n.id,config:((c=s==null?void 0:s.owner)==null?void 0:c.config)??"yo_y_mis_equipos"},justProjects:!0}})]);return{salesmanUsers:r.data.map(O.toSalesmanUsers),projects:x.data.map(O.toSalesmanUsers)}},getProjects:async()=>{var x;return(await t.get("/api/listado_tareas",{params:{...s,owner:{user:n.id,config:((x=s==null?void 0:s.owner)==null?void 0:x.config)??"yo_y_mis_equipos"},justProjects:!0}})).data.map(O.toSalesmanUsers)},getSalesmans:async()=>(await t.get("/api/obtener-comerciales")).data.map(O.toSalesmanUsers)}},rs=[{label:"Tipo de dependencia",type:"select",id:"dependency",options:[{id:"con",name:"Con dependencia"},{id:"sin",name:"Sin dependencia"},{id:"ambas",name:"Ambas"}]},{label:"Por proyecto",type:"select",id:"project.id",options:[]},{label:"Por responsable",type:"select",id:"owner.config",options:[{id:"yo",name:"Mis tareas"},{id:"yo_y_mis_equipos",name:"Tareas mías y de mis equipos"},{id:"mis_equipos",name:"Tareas de mis equipos"}]},{label:"Por ejecutivo",type:"select",id:"salesman.name",options:[]},{label:"Por dificultad",type:"select",id:"difficulty",options:[{id:0,name:"Muy facil"},{id:1,name:"Facil"},{id:2,name:"Media"},{id:3,name:"Dificil"},{id:4,name:"Muy dificil"}]}],ls=()=>{const{defineFields:t}=P(),{getSalesmanAndProjects:s}=as();return d.useEffect(()=>{(async()=>{let a=[...rs],{salesmanUsers:o,projects:l}=await s();t(a.map(r=>(r.id==="project.id"&&(r.options=l),r.id==="salesman.name"&&(r.options=o),r)))})()},[]),e.jsxs("div",{className:"flex gap-4 w-full h-full min-h-[100%] relative ",children:[e.jsx(ke,{}),e.jsx(ss,{}),e.jsx(ns,{})]})},xe=d.createContext({}),os=({children:t})=>{const[s,n]=d.useState([]);d.useEffect(()=>{console.log({selectedTasks:s})},[s]);const a=o=>{n(l=>l.includes(o)?l.filter(r=>r!==o):[...l,o])};return e.jsx(xe.Provider,{value:{selectedTasks:s,selectTask:a},children:t})},is=()=>d.useContext(xe),cs=()=>{const t=()=>e.jsxs("div",{className:"w-full flex gap-m",children:[e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-full animate-pulse"}),e.jsx("div",{className:"w-[30%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[10%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[10%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"})]});return e.jsxs("div",{className:"flex flex-col gap-m",children:[e.jsx(t,{}),e.jsxs("div",{className:"pl-5 flex flex-col gap-m",children:[e.jsx(t,{}),e.jsx("div",{className:"pl-5",children:e.jsx(t,{})})]}),e.jsx(t,{}),e.jsxs("div",{className:"pl-5 flex flex-col gap-m",children:[e.jsx(t,{}),e.jsx("div",{className:"pl-5",children:e.jsx(t,{})})]})]})},ue=({startDate:t,endDate:s})=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-fit flex justify-center items-center px-xxxl",children:[e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:4,color:v.texts.subtext}),e.jsxs("p",{className:"text-sm",children:[" ",te(t)]})]}),e.jsx(j.Icons,{icon:"arrow_right",size:"xs",strokeWidth:4,color:v.texts.DEFAULT}),e.jsxs("div",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-fit flex justify-center items-center px-xxxl",children:[e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:4,color:v.texts.subtext}),e.jsxs("p",{className:"text-sm",children:[" ",te(s)]})]})]}),ds=({id:t})=>e.jsx(e.Fragment,{children:e.jsx("button",{onClick:()=>alert("pausar tarea "+t),children:e.jsx(j.Icons,{icon:"pause",size:"xs",strokeWidth:4,color:v.texts.subtext})})}),me=({id:t,priority:s})=>e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-[30px] flex justify-center items-center hover:bg-gray-200",children:e.jsx(j.Icons,{icon:"align_center",size:"xs",strokeWidth:4,color:v.texts.subtext})}),e.jsx("div",{className:"gap-s bg-success-medium border border-success-pastel rounded-md h-[30px] w-[30px] flex justify-center items-center",children:e.jsx(re,{id:t,priority:s})}),e.jsx("button",{className:"gap-s bg-danger-light border border-danger-regular rounded-md h-[30px] w-[30px] flex justify-center items-center",children:e.jsx(j.Icons,{icon:"difficulty",size:"xs",strokeWidth:4,color:v.danger.regular})})]}),xs=({id:t})=>{const{selectedTasks:s,selectTask:n}=is();return e.jsxs(e.Fragment,{children:[e.jsx("label",{className:"cursor-pointer w-[20px] h-[20px] border-2 border-gray-200 rounded-md flex justify-center items-center",htmlFor:t.toString(),children:e.jsx("span",{className:`${s.includes(t)?"opacity-100":"opacity-0"} transition-opacity duration-500`,children:e.jsx(j.Icons,{icon:"check_outline",size:"xs",color:v.primary.regular,strokeWidth:6})})}),e.jsx("input",{className:"hidden",id:t.toString(),type:"checkbox",onChange:()=>n(t)})]})},pe=({task:t})=>e.jsx(j.Tooltip,{dispatch:e.jsx("p",{className:"text-sm text-texts-subtext max-w-[400px] truncate",children:t}),children:e.jsx("p",{className:"text-sm text-texts-subtext p-2 max-w-[400px]",children:t})}),us=({id:t})=>{var a,o;const{tasksProject:s}=U(),n=(a=s==null?void 0:s.data)==null?void 0:a.find(l=>l.id===t);return e.jsxs("div",{className:"ml-[30px] mb-3 mt-1 flex flex-wrap items-center gap-xl",children:[!(n!=null&&n.nameRequiredTask)||(n==null?void 0:n.nameRequiredTask)!==""&&(n==null?void 0:n.statusRequiredTask)===2&&e.jsx(xs,{id:t}),e.jsx(G,{id:t,nameRequiredTask:(n==null?void 0:n.nameRequiredTask)??"",status:n==null?void 0:n.status,statusRequiredTask:(n==null?void 0:n.statusRequiredTask)??0},t),(n==null?void 0:n.willBePaused)&&e.jsx(ds,{id:t}),e.jsx(X,{onClick:()=>{},responsible:n==null?void 0:n.responsible,users:((o=n==null?void 0:n.users)==null?void 0:o.map(Y))??[]}),e.jsx(pe,{task:(n==null?void 0:n.task)??""}),e.jsx(me,{id:t,priority:n==null?void 0:n.priority}),e.jsx(ue,{startDate:n==null?void 0:n.startDate,endDate:n==null?void 0:n.endDate})]})},he=({id:t})=>{var a,o,l,r,x,c,m;const{tasksProject:s}=U(),n=(a=s==null?void 0:s.data)==null?void 0:a.find(i=>i.id===t);return e.jsxs("div",{className:"flex flex-col gap-m ",children:[e.jsxs("div",{className:"flex items-center gap-m flex-wrap hover:bg-gray-100",children:[e.jsx("button",{className:"-rotate-90",children:e.jsx(j.Icons,{icon:"angle_down_outline",color:v.texts.subtext})}),e.jsx("div",{className:"flex items-center justify-center min-w-[20px] min-h-[20px] w-fit h-[20px] mx-1 bg-primary-medium rounded-full",children:e.jsx("p",{className:"text-sm text-primary",children:((o=n==null?void 0:n.tasks)==null?void 0:o.length)===0?1:(l=n==null?void 0:n.tasks)==null?void 0:l.length})}),e.jsx(pe,{task:(n==null?void 0:n.task)??""}),e.jsx(me,{id:t,priority:n==null?void 0:n.priority}),e.jsx(ue,{startDate:n==null?void 0:n.startDate,endDate:n==null?void 0:n.endDate}),e.jsxs("button",{className:"gap-s bg-gray-100 rounded-md h-[30px] flex justify-center items-center w-fit px-m hover:bg-gray-200",children:[e.jsx(j.Icons,{icon:"subtasks",size:"xs",strokeWidth:5,color:v.texts.subtext}),e.jsx("p",{children:((r=n==null?void 0:n.tasks)==null?void 0:r.length)===0?1:(x=n==null?void 0:n.tasks)==null?void 0:x.length})]})]}),e.jsx("div",{className:"ml-[30px]",children:((c=n==null?void 0:n.tasks)==null?void 0:c.length)>0?(m=n==null?void 0:n.tasks)==null?void 0:m.map(i=>e.jsx(he,{id:i==null?void 0:i.id})):e.jsx(us,{id:n==null?void 0:n.id})})]})},ms=()=>{var a;const{tasksProject:t,projectID:s}=U();if(t!=null&&t.isFetching||t!=null&&t.isLoading)return e.jsx(cs,{});let n=[...(a=t==null?void 0:t.data)==null?void 0:a.filter(o=>o.tasks.length>0)];return e.jsx("div",{className:"flex flex-col gap-m",children:e.jsx(os,{project:s,children:n==null?void 0:n.sort((o,l)=>o.orden-l.orden).map(o=>e.jsx("div",{className:"flex flex-col gap-m border-b border-gray-200 pb-m",children:e.jsx(he,{id:o.id})}))})})},ps=({path:t,tab:s})=>{const n={"kanban-general":{kanban:e.jsx(ls,{})},"lista-campanias":{lista:e.jsx("div",{children:"lista-campanias"}),gantt:e.jsx("div",{children:"gantt-campanias"})},"kanban-campania":{kanban:e.jsx(Xe,{}),lista:e.jsx(ms,{}),gantt:e.jsx("div",{children:"kanban-campania-gantt"})}};return t==="kanban-campania"?e.jsx(Ve,{project:1839,children:n[t][s]}):n[t][s]},hs=({path:t})=>{const s=()=>{const[n,a]=d.useState("kanban"),[o,l]=d.useState(""),r=d.useRef(null);d.useEffect(()=>{a("kanban")},[t]);const x=i=>({"kanban-general":"Kanban General","lista-campanias":"Campanias","kanban-campania":"Kanban de Campania"})[i],c=["lista-campanias","kanban-campania"],m={"lista-campanias":["lista","gantt"],"kanban-campania":["kanban","lista","gantt"]};return e.jsxs("div",{className:"bg-bg-card p-m rounded-lg border border-gray-200 flex flex-col gap-m w-full h-full min-h-[100%] relative overflow-hidden",children:[e.jsxs("div",{className:"w-full justify-between flex items-end border-b border-gray-200 pb-m px-l flex-wrap gap-l",children:[e.jsxs("div",{className:"flex gap-xl",children:[e.jsx("h2",{className:"text-texts font-medium",children:x(t)}),c.includes(t)&&e.jsx(We,{tabs:m[t],renderItem:i=>{a(i)}})]}),e.jsxs("div",{className:"flex items-center gap-s",children:[e.jsx("input",{onChange:ce(i=>{var p;return l((p=i==null?void 0:i.target)==null?void 0:p.value)},1e3),type:"text",placeholder:"Buscar",className:"w-[200px] h-[30px] border-none bg-bg-card shadow-input border border-gray-200 rounded-lg px-l "}),e.jsx(Ke,{filterChildren:r,children:e.jsx("div",{ref:r,className:"w-max max-w-[400px] h-fit bg-bg-card shadow-lg rounded-lg p-l",children:e.jsx(Qe,{})})})]})]}),e.jsx("div",{className:"overflow-auto scrollbar-none",children:e.jsx(ps,{path:t,tab:n})})]})};return e.jsx(Ue,{children:e.jsx(s,{})})};exports.Avatar=I;exports.Board=z;exports.ButtonAssignUsers=X;exports.Checkbox=G;exports.Layout=hs;exports.TableList=Re;exports.Task=oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("@imj_media/imj-ui/styles.css");const T=require("@tanstack/react-query"),d=require("react"),j=require("@imj_media/tasks-modules"),O=require("react-dom"),se=require("axios"),te=require("qs"),U=require("date-fns"),Q=require("date-fns/locale"),_=require("@imj_media/imj-ui"),be=require("react-hook-form"),ye=({label:t,active:s,onClick:a,disabled:n})=>n?e.jsx(j.Tooltip,{dispatch:e.jsxs("button",{className:"text-texts-placeholder text-xs font-semibold cursor-help",children:[" ",t," "]}),children:e.jsx("div",{className:"flex items-center justify-center px-3 py-2 bg-bg-card rounded-lg border border-border-card",children:e.jsx("p",{className:"text-texts-placeholder text-xs font-semibold",children:"Espéralo muy pronto..."})})}):e.jsx("button",{disabled:n,onClick:a,className:`${s?"text-texts-enfasis border-b-2 border-texts-enfasis":""} text-xs font-semibold ${n?"cursor-not-allowed text-texts-placeholder":"text-texts-subtext"} `,children:t}),we=({tabs:t,renderItem:s,initialTab:a})=>{const[n,r]=d.useState(a??t[0].toLowerCase());d.useEffect(()=>{a&&r(a)},[a]);const l=i=>{r(i),s(i)};return e.jsx("div",{className:"flex",children:t.map((i,u)=>e.jsx("div",{className:`${u===0?"border-l-2":""} border-r-2 border-gray-200 px-m`,children:e.jsx(ye,{onClick:()=>l(i.toLowerCase()),label:i,active:i.toLowerCase()===n,disabled:["gantt"].includes(i.toLowerCase())},u)}))})},w={bg:{DEFAULT:"#EFEFEF",content:"#FAFAFA",card:"#FAFAFA"},texts:{DEFAULT:"#252525",enfasis:"#3658c1",subtext:"#4f4f4f",placeholder:"#929292"},primary:{light:"#E7E9F2",medium:"#dae2ec",dark:"#334990",regular:"#425CAC",pastel:"#5c7ddd"},success:{light:"#368156",medium:"#D2E9DC",dark:"#368156",regular:"#43B071",pastel:"#57BA81"},danger:{light:"#F1E5E4",medium:"#EBDBD9",dark:"#8C352C",regular:"#C34335",pastel:"#C4335"},warning:{light:"#F2ECE5",medium:"#EBE3D9",dark:"#B4782F",regular:"#D38A31",pastel:"#D38A31"},alert:{light:"#F1F1E4",medium:"#EAE9D9",dark:"#ADA63A",regular:"#D6CC48",pastel:"#D6CC48"},info:{light:"#E7F5FF",medium:"#D9E6EE",dark:"#1C5073",regular:"#1B6698",pastel:"#1B6698"},link:{light:"#ECF8FE",medium:"#D8F1FD",dark:"#0A7AAE",regular:"#0EA5E9",pastel:"#0EA5E9"}},V=()=>{const[t,s]=d.useState(null);return{position:t,setElementPosition:l=>{var x;let i=(x=l.current)==null?void 0:x.getBoundingClientRect(),u=(i==null?void 0:i.x)+((i==null?void 0:i.width)??0),o=(i==null?void 0:i.y)+(i==null?void 0:i.height);s(t?null:{x:u??0,y:o??0})},getChildrenSize:l=>{var i;return(i=l.current)==null?void 0:i.getBoundingClientRect()},clearPosition:()=>{s(null)}}},Ne=({children:t,filterChildren:s})=>{const{position:a,setElementPosition:n}=V(),r=d.useRef(null),l=({children:i})=>{const[u,o]=d.useState();return d.useEffect(()=>{var x,c;s.current&&o(((a==null?void 0:a.x)??0)-(((c=(x=s.current)==null?void 0:x.getBoundingClientRect())==null?void 0:c.width)??0))},[s==null?void 0:s.current,a==null?void 0:a.x]),a&&O.createPortal(e.jsx("div",{className:`absolute w-fit h-fit ${u?"block":"hidden"}`,style:{top:`${a==null?void 0:a.y}px`,left:`${u}px`},children:i}),document.body)};return e.jsxs(e.Fragment,{children:[e.jsxs("label",{ref:r,htmlFor:"filter-button",className:"flex cursor-pointer items-center gap-m p-s text-texts-enfasis fill-texts-enfasis bg-bg rounded-lg px-l h-[30px] shadow-button-primary hover:shadow-button-primary-hover ",children:[e.jsx(j.Icons,{icon:"filter",size:"xs",strokeWidth:5,color:w.primary.regular}),"Filtrar"]}),e.jsx("button",{className:"hidden",id:"filter-button",onClick:()=>{n(r)}}),e.jsx(l,{children:t})]})},Z=t=>{let s={};return Object.entries(t).forEach(([a,n])=>{if(a.includes(".")){let[r,l]=a.split(".");s[r]=s[r]||{},s[r][l]=n}else s[a]=n}),s},ne=d.createContext({}),ve=({children:t})=>{const[s,a]=d.useState({}),[n,r]=d.useState({}),[l,i]=d.useState([]),u=({name:c,value:m})=>{function p(g){return!isNaN(g)&&g!==null&&g!==""?parseFloat(g):null}let h=p(m);r(g=>{let b={...g},N=l==null?void 0:l.find(f=>f.label.toLowerCase().replace(/ /g,"_")===c);return N?b[N.id]=h??m:b[c]=h??m,b})};d.useEffect(()=>{let c=l.map(m=>m.id==="owner.config"?[m.id,"yo_y_mis_equipos"]:m.id==="dependency"?[m.id,"ambas"]:[m.id,null]);r(Object.fromEntries(c))},[l]);const o=()=>{let c=l.map(m=>m.id==="owner.config"?[m.id,"yo_y_mis_equipos"]:m.id==="dependency"?[m.id,"ambas"]:[m.id,null]);r(Object.fromEntries(c)),a(Z(Object.fromEntries(c)))},x=()=>{let c=Z(n);a(c)};return e.jsx(ne.Provider,{value:{fields:l,filters:s,defineFields:i,updateFilters:u,cleanFilters:o,applyFilters:x,initialFilters:n},children:t})},E=()=>d.useContext(ne);function ae(t,s=300,a={leading:!1,trailing:!0}){let n,r=null;return function(...l){const i=Date.now(),u=a.leading&&!r;clearTimeout(n),u&&t(...l),r=i,n=setTimeout(()=>{a.trailing&&(!a.leading||i-r>=s)&&(t(...l),r=null)},s)}}const _e=()=>{const{fields:t,updateFilters:s,cleanFilters:a,applyFilters:n,initialFilters:r}=E();return e.jsxs("div",{className:"flex flex-col gap-l min-w-[250px]",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("p",{className:"text-texts text-m",children:"Filtros"}),e.jsx("button",{className:"text-xs font-semibold flex cursor-pointer items-center gap-m p-s text-texts-enfasis fill-texts-enfasis bg-bg rounded-lg px-l h-fit shadow-button-primary hover:shadow-button-primary-hover ",onClick:a,children:"Limpiar"})]}),e.jsx("div",{className:"flex flex-col gap-m",children:t==null?void 0:t.map((l,i)=>{var u;return e.jsxs("div",{children:[e.jsx("p",{className:"text-sm",children:l.label}),(l==null?void 0:l.type)==="select"?e.jsx("select",{onChange:o=>{var x,c;s({name:(x=o==null?void 0:o.target)==null?void 0:x.name,value:(c=o==null?void 0:o.target)==null?void 0:c.value})},value:r==null?void 0:r[l==null?void 0:l.id],className:"w-full h-[30px] shadow-input rounded-lg p-s",name:l.id,id:l.id,children:(u=l==null?void 0:l.options)==null?void 0:u.map((o,x)=>e.jsx("option",{value:o.id,children:o.name},x))}):e.jsx("input",{className:"w-full h-[30px] shadow-input rounded-lg p-s",type:l.type,value:r==null?void 0:r[l==null?void 0:l.id],name:l.label.toLowerCase().replace(/ /g,"_"),onChange:ae(o=>{var x,c;return s({name:(x=o==null?void 0:o.target)==null?void 0:x.name,value:(c=o==null?void 0:o.target)==null?void 0:c.value})},1e3)})]},i)})}),e.jsx("button",{className:"btn-primary rounded-md py-s",onClick:n,children:"Filtrar"})]})},P=t=>{const s=n=>Object.prototype.toString.call(n)==="[object Object]",a=n=>n.attributes?{id:n.id,...n.attributes}:n;if(Array.isArray(t))return t.map(n=>P(n));if(s(t)){Array.isArray(t.data)?t=[...t.data]:s(t.data)?t=a({...t.data}):t.data===null?t=null:t=a(t);for(const n in t)t[n]=P(t[n]);return t}return t};class Ce{static toCampaignTasks(s){var n,r,l,i,u,o,x,c,m,p,h,g;let a=[];return s!=null&&s.responsable&&a.push({id:s.responsable.id,name:s.responsable.nombre,image:(u=(i=(l=(r=(n=s.responsable)==null?void 0:n.userOBP)==null?void 0:r.imagen)==null?void 0:l.formats)==null?void 0:i.thumbnail)==null?void 0:u.url}),console.log("task",s),(o=s==null?void 0:s.equipo)!=null&&o.miembros&&s.equipo.miembros.forEach(b=>{var N,f,v,C;a!=null&&a.find(y=>y.id===b.idUser.id)||b.idUser&&a.push({id:b.idUser.id,name:b.idUser.nombre,image:(C=(v=(f=(N=b==null?void 0:b.userOBP)==null?void 0:N.imagen)==null?void 0:f.formats)==null?void 0:v.thumbnail)==null?void 0:C.url})}),{isPrincipalTask:(s==null?void 0:s.tarea_principal)??!1,projectName:((x=s==null?void 0:s.proyecto)==null?void 0:x.nombre)??null,orden:(s==null?void 0:s.orden)??null,id:(s==null?void 0:s.id)??null,task:(s==null?void 0:s.texto_corto)??null,status:(s==null?void 0:s.estatus)??null,difficulty:(s==null?void 0:s.nivel_dificultad)??null,priority:(s==null?void 0:s.prioridad)??0,endDate:new Date((s==null?void 0:s.ffin)??null),startDate:new Date((s==null?void 0:s.finicio)??null),mediumName:(s==null?void 0:s.nombre_medio)??null,users:a,repeatsToDo:(s==null?void 0:s.repeticiones)??null,repeats:(s==null?void 0:s.repeticiones_realizadas)??null,comments:((c=s==null?void 0:s.comentarios)==null?void 0:c.length)??null,willBePaused:s==null?void 0:s.es_pausable,statusRequiredTask:((m=s==null?void 0:s.id_t_requerida)==null?void 0:m.estatus)??null,nameRequiredTask:((p=s==null?void 0:s.id_t_requerida)==null?void 0:p.texto_corto)??null,responsible:((h=s==null?void 0:s.responsable)==null?void 0:h.id)??null,tasks:((g=s==null?void 0:s.tareas)==null?void 0:g.map(b=>({id:b.id,name:b.texto_corto,status:b.estatus})))??null}}}const Te=async({filters:t,tasks_api:s,project:a})=>{try{const n=await s.get("/api/listado_tareas_flujo",{params:{...t,project:{id:a},includeAllTasks:!0}});return P(n.data.tareas).map(Ce.toCampaignTasks)}catch(n){console.log(n)}},Fe={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_PUBLIC_URL_DEV:"https://tasksdev.imjmedia.com.mx",VITE_PUBLIC_URL_PROD:"https://tasksdev.imjmedia.com.mx"},re=d.createContext({}),Se=({children:t,user:s,env:a})=>{const{VITE_PUBLIC_URL_DEV:n,VITE_PUBLIC_URL_PROD:r}=Fe,l=se.create({baseURL:a==="dev"?n:r,headers:{Authorization:`Bearer ${s.accessToken}`},paramsSerializer:i=>te.stringify(i,{encodeValuesOnly:!0})});return e.jsx(re.Provider,{value:{tasks_api:l},children:t})},S=()=>d.useContext(re),Ee={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_PUBLIC_URL_DEV:"https://tasksdev.imjmedia.com.mx",VITE_PUBLIC_URL_PROD:"https://tasksdev.imjmedia.com.mx"},le=d.createContext({}),Ae=({children:t,user:s,env:a})=>{const{VITE_PUBLIC_URL_DEV:n,VITE_PUBLIC_URL_PROD:r}=Ee,l=se.create({baseURL:a==="dev"?n:r,headers:{Authorization:`Bearer ${s.accessToken}`},paramsSerializer:i=>te.stringify(i,{encodeValuesOnly:!0})});return e.jsx(le.Provider,{value:{user:s,tasks_api:l},children:t})},I=()=>d.useContext(le),ie=d.createContext({}),qe=({children:t,project:s})=>{var N;const a=T.useQueryClient(),[n,r]=d.useState([]),[l,i]=d.useState([]),{tasks_api:u}=S(),{filters:o}=E(),{user:x}=I(),[c,m]=d.useState({owner:{user:x.id,config:((N=o==null?void 0:o.owner)==null?void 0:N.config)??"yo_y_mis_equipos"},project:{id:s}});d.useEffect(()=>{console.log(n)},[n]);const p=T.useQuery({queryKey:["tasksProject",s],queryFn:()=>Te({filters:{...c},project:s,tasks_api:u})});d.useEffect(()=>{var f;Object.keys(o).length>0&&m({...o,owner:{user:x.id,config:((f=o==null?void 0:o.owner)==null?void 0:f.config)??"yo_y_mis_equipos"},project:{id:s}})},[o]),d.useEffect(()=>{a.invalidateQueries({queryKey:["tasksProject",s]})},[c]);const h=f=>{r(v=>[...v,f])},g=f=>{i(v=>v.includes(f)?v.filter(C=>C!==f):[...v,f])},b=s??null;return e.jsx(ie.Provider,{value:{tasksProject:p,selectedTasks:n,projectID:b,openTasks:l,selectTask:h,openTask:g},children:t})},z=()=>d.useContext(ie),Pe=[{label:"Tipo de dependencia",type:"select",id:"dependency",options:[{id:"con",name:"Con dependencia"},{id:"sin",name:"Sin dependencia"},{id:"ambas",name:"Ambas"}]},{label:"Por responsable",type:"select",id:"owner.config",options:[{id:"yo",name:"Mis tareas"},{id:"yo_y_mis_equipos",name:"Tareas mías y de mis equipos"},{id:"mis_equipos",name:"Tareas de mis equipos"}]},{label:"Por dificultad",type:"select",id:"difficulty",options:[{id:0,name:"Muy facil"},{id:1,name:"Facil"},{id:2,name:"Media"},{id:3,name:"Dificil"},{id:4,name:"Muy dificil"}]}],De=({id:t})=>{const[s,a]=d.useState(!1);return{checked:s,checkTask:()=>{a(!s),console.log("completar tarea",t)}}},oe=({id:t,nameRequiredTask:s,statusRequiredTask:a,status:n})=>{const{checked:r,checkTask:l}=De({id:t});let i=Math.random().toString();return console.log({statusRequiredTask:a}),e.jsxs(e.Fragment,{children:[n===1&&(a<2&&s!==""?e.jsx(j.Tooltip,{dispatch:e.jsx("label",{htmlFor:i,children:e.jsx(j.Icons,{icon:"info_circle",color:w.warning.regular,strokeWidth:4})}),children:e.jsxs("div",{className:"px-m py-s max-w-[200px] bg-warning-light rounded-lg border-l-[5px] border-warning-regular text-warning-dark text-xs",children:[e.jsx("p",{className:"font-bold",children:"Requiere completar su tarea requerida:"}),e.jsxs("p",{children:[" ",s," "]})]})}):e.jsx("label",{htmlFor:i,className:r?"bg-success-regular rounded-full w-[20px] h-[20px] flex items-center justify-center mx-[2px] transition-all":" transition-colors",children:e.jsx(j.Icons,{icon:r?"check_outline":"circle_checked",color:r?"white":w.texts.placeholder,strokeWidth:4,size:r?"xs":"s"})})),e.jsx("input",{id:i,checked:r,onChange:l,type:"checkbox",className:"hidden"})]})},q=({imageUrl:t="https://www.uv.unach.mx/assets/img/prueba/directorio/userM.png",alt:s="avatar"})=>e.jsx("img",{src:t===""?"https://www.uv.unach.mx/assets/img/prueba/directorio/userM.png":t,alt:s??"avatar",className:"w-[28px] h-[28px] min-w-[28px] min-h-[28px] rounded-full bg-containers border-2 border-white"}),k=({trigger:t,user:s,showUser:a=!0})=>e.jsx(j.Tooltip,{dispatch:t,children:a&&e.jsxs("div",{className:"flex items-center gap-2 bg-containers w-fit h-fit p-2 rounded-lg border-containers",children:[e.jsx(q,{imageUrl:s.image??"",alt:s.name}),e.jsx("p",{className:"text-xs font-bold content-text",children:s.name})]})}),Ie=({options:t,onselect:s})=>{const[a,n]=d.useState(null),r=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),l=[...t].filter(i=>i.name.toLowerCase().includes((a==null?void 0:a.toLowerCase())??""));return e.jsxs("div",{className:"h-fit w-full min-w-max",children:[e.jsxs("div",{className:"relative flex items-center",children:[e.jsx("input",{id:r,value:a??"",onChange:i=>n(i.target.value),type:"text",className:"w-full h-[32px] bg-bg-card border-cards rounded-lg p-2",placeholder:"Buscar"}),e.jsx("div",{className:"absolute right-[8px]",children:e.jsx(j.Icons,{icon:"search",size:"xs",strokeWidth:3})})]}),e.jsx("div",{className:"bg-bg-card border-cards rounded-lg p-2 flex flex-col gap-s overflow-y-auto max-h-[120px] min-w-max",children:l.map(i=>e.jsxs("button",{onClick:()=>{s(i)},className:"flex gap-s items-center max-w-[200px] min-w-full hover:bg-primary-light cursor-pointer",children:[e.jsx(q,{imageUrl:i.image,alt:i.name}),e.jsx("p",{className:"text-xs font-bold content-text",children:i.name})]}))})]})};class Be{static toDomain(s){return{id:s.id,name:s.nombre,color:s.color}}}const Le=()=>{const{tasks_api:t}=S();return{teams:T.useQuery({queryKey:["teams","all"],queryFn:async()=>{const a=await t.get("/api/equipos");return P(a.data).map(Be.toDomain)}})}};class $e{static toUsers(s){var a,n,r;return{id:s.id,name:s.nombre,image:(r=(n=(a=s.imagen)==null?void 0:a.formats)==null?void 0:n.thumbnail)==null?void 0:r.url}}}const Me=async({tasks_api:t})=>{try{const s=await t.get("/api/allOBPUsers");return P(s.data).map($e.toUsers)}catch(s){throw console.log("Error al obtener los usuarios comerciales",s),`Error al obtener los usuarios comerciales: ${s}`}},Re=()=>{const{tasks_api:t}=S();return{users:T.useQuery({queryKey:["users"],queryFn:()=>Me({tasks_api:t}),staleTime:1e3*60*60*24})}},ce=t=>new Intl.DateTimeFormat("es-MX",{month:"long"}).format(t);function Ue(t){const s=["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],a=new Date(t).getDay();return s[a]}const ee=t=>{let s=t||new Date,a=s.getDate(),n=ce(s.getMonth()).slice(0,3),r=s.getFullYear().toString().slice(-2),l=Ue(s).slice(0,3);return`${l.charAt(0).toUpperCase()+l.slice(1)} ${a} ${n.charAt(0).toUpperCase()+n.slice(1)} ${r}`},H=t=>({...t,image:t.image?`https://devobp.imjmedia.com.mx${t.image}`:""}),de=({users:t,onClick:s,responsible:a})=>{let n=`button-assign-users-${Math.random().toString(36).substring(2,15)}`;const{setElementPosition:r,position:l,clearPosition:i}=V(),u=d.useRef(null);console.log(t);const o=()=>a?null:t.length>3&&e.jsx(j.Tooltip,{dispatch:e.jsx("div",{className:"w-[28px] h-[28px] rounded-full btn-primary flex items-center justify-center border-2 border-white ml-[-8px]",children:e.jsx("p",{className:"text-xs font-bold text-white ",children:`+${t.length-3}`})}),children:e.jsx("div",{className:"bg-containers w-fit h-fit p-2 rounded-lg border-containers",children:t==null?void 0:t.slice(3).map((p,h)=>e.jsxs("div",{className:"flex items-center gap-2 ",children:[e.jsx(q,{imageUrl:p.image??"",alt:p.name},h),e.jsx("p",{className:"text-xs font-bold content-text",children:p.name})]},h))})}),x=()=>{if(a){let p=t.find(h=>h.id===a);return e.jsx("div",{children:e.jsx(k,{trigger:e.jsx(q,{imageUrl:p==null?void 0:p.image,alt:p==null?void 0:p.name},a),user:p,showUser:!(l!=null&&l.x)})})}return(t==null?void 0:t.length)>0&&t.slice(0,3).map((p,h)=>e.jsx("div",{className:`${h===0?"":"ml-[-8px]"}`,children:e.jsx(k,{trigger:e.jsx(q,{imageUrl:p.image,alt:p.name},h),user:p,showUser:!(l!=null&&l.x)})}))},c=({children:p})=>e.jsx("label",{ref:u,htmlFor:n,className:"cursor-pointer flex items-center",children:p});if(t.length===0)return e.jsx(c,{children:e.jsx(j.Icons,{icon:"user",size:"xs",strokeWidth:3})});const m=()=>{var C;const[p,h]=d.useState(),[g,b]=d.useState("team"),{teams:N}=Le(),{users:f}=Re();d.useEffect(()=>{var y,F;u.current&&h(((l==null?void 0:l.x)??0)-(((F=(y=u.current)==null?void 0:y.getBoundingClientRect())==null?void 0:F.width)??0))},[u==null?void 0:u.current,l==null?void 0:l.x]);const v=()=>{const y=[{id:"team",label:"Equipo"},{id:"responsible",label:"Responsable"}];return e.jsx("div",{className:"w-full flex justify-center gap-l text-texts-placeholder font-bold",children:y.map((F,A)=>e.jsx("button",{className:`w-full text-sm border-texts-placeholder text-center ${g===F.id?"text-primary-pastel":""} ${A===y.length-1?"border-r-0":" border-r-2"}`,onClick:()=>b(F.id),children:F.label}))})};return(l==null?void 0:l.x)&&O.createPortal(e.jsx("div",{className:`absolute w-[300px] h-fit ${p?"block":"hidden"}`,style:{top:`${l==null?void 0:l.y}px`,left:`${p}px`},children:e.jsxs("div",{className:"flex flex-col gap-m bg-bg-card border-cards rounded-lg p-2 max-h-[200px] overflow-y-hidden",children:[e.jsx(v,{}),e.jsx(Ie,{options:g==="team"?N.data.map(y=>({id:y.id,name:y.name,image:""})):(C=f.data)==null?void 0:C.map(H),onselect:y=>{i(),s&&s(y)}})]})}),document.body)};return e.jsxs(e.Fragment,{children:[e.jsxs(c,{children:[x(),o()]}),e.jsx("button",{className:"hidden",id:n,onClick:()=>r(u)}),e.jsx(m,{})]})},Oe=()=>{const{tasks_api:t}=S(),s=T.useQueryClient(),a=async({newData:l,id:i})=>(await t.put(`/api/tareas/${i}`,{data:l})).data,n=T.useMutation({mutationFn:({newData:l,id:i})=>a({newData:l,id:i}),onSuccess:()=>{s.invalidateQueries({queryKey:["toDoTasks"]}),s.invalidateQueries({queryKey:["inProgressTasks"]}),s.invalidateQueries({queryKey:["doneTasks"]}),console.log("Task updated successfully!")},onError:l=>{console.error("Failed to update the task.",l)}});return{updateTask:async({id:l,data:i,user:u})=>{let o={updated_at:new Date().toISOString(),updated_by:u,...i};try{await n.mutateAsync({newData:o,id:l})}catch(x){console.error("Error updating the element:",x)}}}},ue=({priority:t,id:s})=>{const{updateTask:a}=Oe(),n=Math.random().toString(36),[r,l]=d.useState(null),i=o=>({0:w.primary.regular,1:w.success.regular,2:w.warning.regular,3:w.danger.regular})[o],u=()=>{if(!r)return null;const o=({priority:x,text:c})=>e.jsxs("button",{onClick:()=>{a({id:s,data:{prioridad:x},user:272}),l(null)},className:"flex gap-m items-center px-l py-s hover:bg-primary-light",children:[e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:3,color:i(x)}),e.jsx("p",{className:"text-sm",style:{color:i(x)},children:c})]});return O.createPortal(e.jsxs("div",{onBlur:()=>{l(null)},id:`${n}-options`,style:{top:`${r.y+5}px`,left:`${r.x+5}px`},className:`absolute h-fit p-m flex flex-col gap-2 bg-bg-card rounded-xl shadow-lg
2
+ w-max`,children:[e.jsx(o,{priority:0,text:"Baja"}),e.jsx(o,{priority:1,text:"Normal"}),e.jsx(o,{priority:2,text:"Media"}),e.jsx(o,{priority:3,text:"Alta"})]}),document.body)};return e.jsxs("div",{className:"relative h-[22px]",children:[e.jsx("label",{onBlur:()=>{l(null)},htmlFor:n,className:"flex items-center gap-2 cursor-pointer active:opacity-50",children:e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:3,color:i(t)})}),e.jsx("button",{id:n,onClick:o=>{l(r?null:{x:o.clientX,y:o.clientY})},className:"hidden"}),e.jsx(u,{})]})};function ze({items:t}){var n;const[s,a]=d.useState(1);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row mb-2 border-b border-neutral-100 bg-white mt-4",children:t.map((r,l)=>e.jsx("div",{className:`border-r border-neutral-100 pr-3 py-1 ${l!==0?"px-3":""}`,children:e.jsx(_.Button,{variant:"ghost",onClick:()=>a(r.id),className:`text-sm font-normal rounded-none py-1 h-8 ${s===r.id?"text-primary border-b border-primary":"text-neutral-400 border-b-0"}`,children:r.label},r.id)},r.id))}),e.jsx("div",{className:"pt-4 flex-1 overflow-y-auto bg-white",children:(n=t.find(r=>r.id===s))==null?void 0:n.component})]})}const We="https://devobp.imjmedia.com.mx";function Ke({comment:t}){var a,n,r,l;function s(i){const u=U.parseISO(i);return U.formatDistanceToNow(u,{locale:Q.es,addSuffix:!0})}return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-row gap-2 items-start",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${We}${(l=(r=(n=(a=t==null?void 0:t.autor)==null?void 0:a.imagen)==null?void 0:n.formats)==null?void 0:r.thumbnail)==null?void 0:l.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{children:"CN"})]}),e.jsx("p",{className:"text-sm text-neutral-900 font-medium",children:t.autor.nombre}),e.jsx("span",{className:"text-xs text-neutral-600 font-normal mt-[2px]",children:s(t.createdAt)})]}),e.jsx("p",{className:"text-sm text-neutral-600 font-normal pl-10",children:t.comentario})]})}const Qe="https://devobp.imjmedia.com.mx";function xe(t){return t?t.split(" ").map(n=>{var r;return(r=n[0])==null?void 0:r.toUpperCase()}).slice(0,2).join(""):""}function Ve({currentUser:t,data:s,taskId:a,onNewComment:n}){var m;const{tasks_api:r}=S(),{register:l,handleSubmit:i,reset:u}=be.useForm(),[o,x]=d.useState([]);d.useEffect(()=>{if(s!=null&&s.comentarios){const p=[...s.comentarios].sort((h,g)=>new Date(g.createdAt).getTime()-new Date(h.createdAt).getTime());x(p)}},[s]);const c=async p=>{try{const h={autor:{id:t==null?void 0:t.id,email:t==null?void 0:t.email,nombre:t==null?void 0:t.nombre,imagen:t==null?void 0:t.imagen},comentario:p.comment,createdAt:new Date().toISOString()};await r.post("/api/comentarios",{data:{autor:t==null?void 0:t.id,comentario:p.comment,tarea:a}}),n(!0),x(g=>[h,...g]),u()}catch(h){console.error("Error al agregar comentario:",h)}};return e.jsxs("div",{className:"flex flex-col h-full gap-4",children:[e.jsxs("form",{onSubmit:i(c),className:"flex flex-row items-center gap-3",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${Qe}${(m=t==null?void 0:t.imagen.formats.thumbnail)==null?void 0:m.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{className:"border border-x-primary-pastel",children:xe(t==null?void 0:t.nombre)})]}),e.jsx(_.Input,{...l("comment",{required:!0}),autoComplete:"off",placeholder:"Escribe un comentario",className:"w-full bg-white border border-neutral-200"})]}),o.map((p,h)=>e.jsx(Ke,{comment:p},h))]})}function He({data:t}){const s={0:{color:"bg-gray-400",label:"Sin estado"},1:{color:"bg-primary-regular",label:"En curso"},2:{color:"bg-success-regular",label:"Finalizada"},3:{color:"bg-success-regular",label:"Finalizada"}},a=n=>n?U.format(new Date(n),"d MMM",{locale:Q.es}):"";return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-row items-center gap-4",children:[e.jsx(_.Label,{className:"text-lg font-medium text-neutral-900",children:"Tareas dependientes"}),e.jsx("span",{className:"text-sm font-normal text-neutral-600 bg-[#E1EBF9] w-6 h-6 rounded-full flex items-center justify-center text-primary",children:t==null?void 0:t.length})]}),e.jsx("div",{className:"flex flex-col gap-2 border border-neutral-200 rounded-lg mt-3",children:t==null?void 0:t.map(n=>{var r,l,i,u,o;return e.jsxs("div",{className:"flex flex-row w-full items-center justify-between gap-s border-b border-neutral-200 py-1 px-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{imageUrl:(u=(i=(l=(r=n.responsable)==null?void 0:r.image)==null?void 0:l.formats)==null?void 0:i.thumbnail)==null?void 0:u.url}),e.jsx("p",{className:"text-sm font-normal w-[400px] text-nowrap text-ellipsis overflow-hidden",children:n==null?void 0:n.texto_corto})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-sm font-normal",children:a(n==null?void 0:n.createdAt)}),e.jsx("div",{className:`w-4 h-4 bg-gray-400 block rounded-full ${((o=s[n==null?void 0:n.estatus])==null?void 0:o.color)??"bg-gray-400"}`})]})]},n.id)})})]})}const Ge="https://devobp.imjmedia.com.mx";function Xe({isOpen:t,setIsOpen:s,taskId:a}){var g,b,N,f,v,C,y,F,A,B,L;const[n,r]=d.useState(null),[l,i]=d.useState(!1),[u,o]=d.useState(null),{tasks_api:x}=S(),{user:c}=I();d.useEffect(()=>{if(t&&a||l){const M=async()=>{const $=await x.get(`/api/detalleTarea/${a}`);r($.data)},je=async()=>{var Y,J;const $=await x.get(`/api/users/${c.id}`),K=await x.post("/api/obtenerUsuarioOBP/",{emailList:[(Y=$==null?void 0:$.data)==null?void 0:Y.email]});o((J=K==null?void 0:K.data)==null?void 0:J.data[0])};M(),je()}},[t,a,l]);const m={0:{label:"Sin prioridad",color:"text-primary-regular",iconColor:"#425CAC"},1:{label:"Baja",color:"text-success-regular",iconColor:"#43B071"},2:{label:"Media",color:"text-warning-regular",iconColor:"#D38A31"},3:{label:"Alta",color:"text-danger-regular",iconColor:"#C34335"}},p=M=>M?U.format(M,"d MMM yyyy, h:mmaaa",{locale:Q.es}):"Fecha no disponible",h=[{id:1,label:"Todo",component:e.jsx(Ve,{taskId:a,currentUser:u,data:n,onNewComment:i})},{id:2,label:"Dependencias",component:e.jsx(He,{data:n==null?void 0:n.ids_t_dependientes})}];return e.jsx(e.Fragment,{children:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`fixed inset-0 bg-transparent bg-opacity-50 flex justify-center items-center z-20 ${t?"pointer-events-auto block":"pointer-events-none hidden"}`,onClick:()=>s(!1)}),e.jsx("section",{className:`fixed top-0 bottom-0 bg-white bg-opacity-50 flex justify-center items-center w-[40rem] h-screen z-50 overflow-hidden transition-all ease-in-out duration-500 shadow-2xl ${t?"right-0 pointer-events-auto block":"right-[-100%] pointer-events-none hidden"}`,children:e.jsxs("div",{className:"flex w-full h-full flex-col overflow-y-scroll bg-white border-none shadow-xl px-4 py-6",children:[e.jsxs("div",{className:"w-full flex flex-row justify-between pb-4 gap-10 border-none",children:[e.jsx("h3",{className:"text-lg font-semibold text-neutral-900",children:n==null?void 0:n.texto_corto}),e.jsx(_.Button,{variant:"shadow",size:"sm",onClick:()=>s(!1),className:"bg-neutral-100 w-10 h-10",children:e.jsx(j.Icons,{icon:"x_outline"})})]}),e.jsx("div",{className:"w-full flex flex-row justify-between",children:e.jsxs("span",{className:"text-neutral-600 text-sm",children:[n==null?void 0:n.campania," / ",n==null?void 0:n.nombre_medio]})}),e.jsxs("div",{className:"w-full flex flex-col gap-3 mt-4",children:[e.jsx("h6",{className:"text-neutral-900 font-semibold text-base",children:"Descripción"}),e.jsx("p",{className:"text-neutral-600 font-normal text-sm",children:(n==null?void 0:n.texto_largo)??"Sin descripción"})]}),e.jsx(_.Accordion,{type:"single",collapsible:!0,defaultValue:"item-1",className:"w-full flex flex-col border border-neutral-200 rounded-xl mt-4",children:e.jsxs(_.AccordionItem,{value:"item-1",className:"border-none",children:[e.jsx(_.AccordionTrigger,{className:"text-neutral-900 font-medium text-sm w-full flex flex-row border-b border-neutral-200 p-4 ",children:"Detalles"}),e.jsx(_.AccordionContent,{className:"border-none",children:e.jsxs("div",{className:"w-full grid grid-cols-3 gap-4 p-4",children:[e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Responsable"}),(g=n==null?void 0:n.responsable)!=null&&g.nombre?e.jsxs("div",{className:"flex flex-row gap-2 items-center",children:[e.jsxs(_.Avatar,{className:"w-8 h-8",children:[e.jsx(_.AvatarImage,{src:`${Ge}${(v=(f=(N=(b=n==null?void 0:n.responsable)==null?void 0:b.imagen)==null?void 0:N.formats)==null?void 0:f.thumbnail)==null?void 0:v.url}`,alt:"@shadcn"}),e.jsx(_.AvatarFallback,{children:xe((C=n==null?void 0:n.responsable)==null?void 0:C.nombre)})]}),e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:(y=n==null?void 0:n.responsable)==null?void 0:y.nombre})]}):e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:"Sin responsable"})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Equipo asignado"}),e.jsx("div",{className:"flex flex-row gap-2",children:e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:((F=n==null?void 0:n.equipo)==null?void 0:F.nombre)??"Sin equipo"})})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Prioridad"}),e.jsxs("div",{className:"flex flex-row items-center gap-2",children:[e.jsx(j.Icons,{icon:"flag",size:"xs",strokeWidth:5,color:(A=m[n==null?void 0:n.prioridad])==null?void 0:A.iconColor}),e.jsx("span",{className:`text-sm text-neutral-600 font-normal ${(B=m[n==null?void 0:n.prioridad])==null?void 0:B.color}`,children:((L=m[n==null?void 0:n.prioridad])==null?void 0:L.label)??"Sin prioridad"})]})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Lista"}),e.jsx("div",{className:"flex flex-row gap-2",children:e.jsx("span",{className:"text-xs text-neutral-600 font-normal",children:(n==null?void 0:n.lista)??"Sin lista"})})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha estimada de inicio"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:p(n==null?void 0:n.f_inicio_estimada)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha estimada de fin"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:p(n==null?void 0:n.f_fin_estimada)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Fecha de fin"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:p(n==null?void 0:n.ffin)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Creado"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:p(n==null?void 0:n.createdAt)})]}),e.jsxs("div",{className:"flex flex-col w-auto gap-2",children:[e.jsx("span",{className:"text-sm text-neutral-900 font-medium",children:"Última modificación"}),e.jsx("p",{className:"text-xs text-neutral-600 font-normal",children:p(n==null?void 0:n.updatedAt)})]})]})})]})}),e.jsx(ze,{items:h})]})})]})})}const Ye=({id:t,task:s,endDate:a,users:n,willBePaused:r,nameProject:l,idProject:i,comments:u,priority:o,responsible:x,nameRequiredTask:c,statusRequiredTask:m,status:p})=>{const h=d.useRef(null),[g,b]=d.useState(!1),{setElementPosition:N,position:f}=V(),v=({children:y})=>{const[F,A]=d.useState();return d.useEffect(()=>{var B,L;h.current&&A(((f==null?void 0:f.x)??0)-(((L=(B=h.current)==null?void 0:B.getBoundingClientRect())==null?void 0:L.width)??0))},[h==null?void 0:h.current,f==null?void 0:f.x]),f&&O.createPortal(e.jsx("div",{className:`absolute w-fit h-fit ${F?"block":"hidden"}`,style:{top:`${f==null?void 0:f.y}px`,left:`${F}px`},children:y}),document.body)},C=()=>e.jsxs("div",{className:"flex justify-between items-center w-full h-fit relative",children:[e.jsxs("div",{className:"flex items-center gap-[8px] w-[calc(100%-32px)] ",children:[e.jsx(oe,{id:t,nameRequiredTask:c??"",statusRequiredTask:m??0,status:p}),e.jsx("p",{className:"title-text",onClick:()=>b(!0),children:s})]}),e.jsx("button",{ref:h,onClick:()=>{N(h)},className:"flex items-center justify-center text-sm font-extrabold bg-bg hover:filter-[drop-shadow(0_0_10px_#000000)] rounded-full w-[24px] h-[24px] m-block",children:e.jsx("span",{className:"rotate-90",children:e.jsx(j.Icons,{icon:"elipsis",size:"xs"})})}),e.jsx(v,{children:e.jsxs("button",{className:"w-max h-fit bg-bg-card rounded-lg p-l shadow-lg flex items-center gap-2 hover:bg-primary-light",onClick:()=>{},children:[e.jsx("p",{className:"text-sm font-normal text-texts-placeholder font-regular",children:"Mover a trabajando"}),e.jsx(j.Icons,{icon:"arrow_right",size:"xs",strokeWidth:4,color:w.primary.regular})]})})]});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"bg-bg-card border-cards max-w-[350px] rounded-lg relative h-fit p-[12px_12px] hover:border-active hover:bg-active cursor-pointer ",children:[e.jsx(C,{}),e.jsxs("div",{className:"flex flex-col gap-[4px] py-2",children:[e.jsx("p",{className:"subtitle-text",children:l}),i&&e.jsx("p",{className:"content-text",children:i})]}),e.jsxs("div",{className:"flex justify-between items-center w-full h-fit relative pt-5 pb-1",children:[e.jsxs("div",{className:"flex items-center relative",children:[e.jsx(de,{responsible:x,users:n.filter(y=>x?y.id===x:!0).map(H),onClick:()=>{}}),r&&e.jsx(j.Tooltip,{dispatch:e.jsxs("button",{className:"text-sm font-regular text-gray-400 flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"pause",size:"s",strokeWidth:2}),e.jsx("span",{children:"Pause"})]}),children:e.jsx("p",{className:"text-sm font-regular text-white p-5",children:"Al pulsar el botón se solicitará razón del pausado"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"at",size:"xs"}),e.jsx(ue,{priority:o,id:t}),e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:3,color:w.texts.subtext}),e.jsx("p",{className:"text-sm font-regular text-texts-subtext",children:`${a.getDate()} ${ce(a.getMonth()).slice(0,3)}`})]})]}),u>0&&e.jsx("div",{className:"border-t border-gray-200 mt-4 pt-2",children:e.jsxs("button",{className:"flex items-center gap-2",children:[e.jsx(j.Icons,{icon:"comment",size:"xs",strokeWidth:4}),e.jsx("span",{className:"text-sm font-regular text-gray-400",children:u})]})})]}),e.jsx(Xe,{taskId:t,isOpen:g,setIsOpen:b})]})},Je=()=>e.jsxs("div",{className:"bg-gray-200 h-[150px] w-full animate-pulse rounded-md flex flex-col gap-[50px] p-4",children:[e.jsxs("div",{className:"flex h-[30px] gap-3",children:[e.jsx("div",{className:"w-[30px] min-w-[30px] h-full bg-gray-300 rounded-full"}),e.jsx("div",{className:"w-full h-full bg-gray-300"}),e.jsx("div",{className:"w-[30px] min-w-[30px] h-full bg-gray-300 rounded-full"})]}),e.jsxs("div",{className:"flex justify-between w-full h-[30px] gap-[50px]",children:[e.jsx("div",{className:"w-full h-[30px] bg-gray-300"}),e.jsx("div",{className:"w-full h-[30px] bg-gray-300"})]})]}),W=({title:t,tasks:s,loadNextPage:a,isFetching:n,total:r})=>{const l=d.useRef(null),i=d.useRef(null),u=d.useRef(!1);d.useEffect(()=>{var c;l!=null&&l.current&&(i!=null&&i.current)&&(i.current.style.minHeight=`${((c=l==null?void 0:l.current)==null?void 0:c.clientHeight)-50}px`)},[l==null?void 0:l.current]);const o=c=>{if(u.current)return;const{scrollTop:m,clientHeight:p,scrollHeight:h}=c==null?void 0:c.target,g=m/(h-p)*100;g<=95||g>=95&&(u.current=!0,a&&a(),setTimeout(()=>{u.current=!1},200))},x={"Por hacer":"border-texts-placeholder",Trabajando:"border-primary-regular",Completadas:"border-success-regular"};return e.jsxs("div",{ref:l,className:` flex flex-col bg-containers w-fit max-w-[400px] min-w-[400px] h-full min-h-[100%] pb-[200px] relative p-[16px] rounded-lg overflow-hidden border-t-4 ${x[t]}`,children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("div",{className:"flex items-center gap-[8px]",children:e.jsx("p",{className:"text-base",children:t})}),e.jsx("div",{className:"flex items-center gap-[8px]",children:e.jsxs("div",{className:"flex items-center gap-[4px]",children:[e.jsx(j.Icons,{icon:"group_files",size:"xs",strokeWidth:5,color:w.texts.placeholder}),e.jsx("p",{className:"text-md text-texts-placeholder",children:r??0})]})})]}),e.jsxs("div",{ref:i,className:"flex flex-col gap-[12px] overflow-y-auto scrollbar-none py-4",onScroll:o,children:[s==null?void 0:s.map(c=>e.jsx(Ye,{...c},c.id)),n?e.jsx(Je,{}):e.jsx("p",{className:"text-center text-gray-500",children:"No hay más tareas por mostrar..."})]})]})},Ze=()=>{var r;const{defineFields:t}=E(),{tasksProject:s}=z();d.useEffect(()=>{(async()=>{let i=[...Pe];t(i)})()},[]);let a=(r=s==null?void 0:s.data)==null?void 0:r.filter(l=>{var i;return((i=l==null?void 0:l.tasks)==null?void 0:i.length)===0}).reduce((l,i)=>(l[i.status]=l[i.status]||[],l[i.status].push(i),l),{});const n=["Por hacer","Trabajando","Completadas"];return e.jsx("div",{className:"flex gap-4 w-full h-full min-h-[100%] relative ",children:n.map((l,i)=>{var u;return e.jsx(W,{total:((u=a==null?void 0:a[i])==null?void 0:u.length)??0,title:l,tasks:(a==null?void 0:a[i])??[],isFetching:s==null?void 0:s.isFetching,isLoadingData:s==null?void 0:s.isLoading})})})};class ke{static toKanbanTasks(s){var n,r,l,i,u,o,x,c,m,p,h;let a=[];return s!=null&&s.responsable&&a.push({id:s.responsable.id,name:s.responsable.nombre,image:(u=(i=(l=(r=(n=s.responsable)==null?void 0:n.userOBP)==null?void 0:r.imagen)==null?void 0:l.formats)==null?void 0:i.thumbnail)==null?void 0:u.url}),(o=s==null?void 0:s.equipo)!=null&&o.miembros&&s.equipo.miembros.forEach(g=>{var b,N,f,v;a!=null&&a.find(C=>C.id===g.idUser.id)||g.idUser&&a.push({id:g.idUser.id,name:g.idUser.nombre,image:(v=(f=(N=(b=g==null?void 0:g.userOBP)==null?void 0:b.imagen)==null?void 0:N.formats)==null?void 0:f.thumbnail)==null?void 0:v.url})}),{comments:0,nameProject:(x=s==null?void 0:s.proyecto)==null?void 0:x.nombre,idProject:(c=s==null?void 0:s.proyecto)==null?void 0:c.id,willBePaused:s.es_pausable,difficulty:s.nivel_dificultad,endDate:new Date(s.ffin),id:s.id,priority:s.prioridad??0,status:s.estatus,task:s.texto_corto,users:a,responsible:((m=s==null?void 0:s.responsable)==null?void 0:m.id)??null,statusRequiredTask:((p=s.id_t_requerida)==null?void 0:p.estatus)??null,nameRequiredTask:((h=s.id_t_requerida)==null?void 0:h.texto_corto)??null}}}const G=async({filters:t,tasks_api:s})=>{try{return(await s.get("/api/listado_tareas",{params:t})).data.tareas.map(P).map(ke.toKanbanTasks)}catch(a){throw console.log({error:a}),`Error al obtener las tareas: ${a}`}},X=t=>{var s;if(t!=null&&t.hasNextPage){const a=(s=t==null?void 0:t.data)==null?void 0:s.pages[t.data.pages.length-1];(a==null?void 0:a.length)===30&&(t==null||t.fetchNextPage())}},D=t=>({pagination:{page:t,pageSize:30,withCount:!0}}),es=()=>{var x;const t=T.useQueryClient(),{tasks_api:s}=S(),{user:a}=I(),{filters:n}=E(),[r,l]=d.useState(0),[i,u]=d.useState({owner:{user:a.id,config:((x=n==null?void 0:n.owner)==null?void 0:x.config)??"yo_y_mis_equipos"},status:"por_hacer"}),o=T.useInfiniteQuery({initialPageParam:1,queryKey:["to_do_tasks",i],queryFn:({pageParam:c})=>G({filters:{...i,status:"por_hacer",...D(c)},tasks_api:s,page:c}),staleTime:1e3*60*60*24,getNextPageParam:(c,m)=>m.length+1});return d.useEffect(()=>{var c;Object.keys(n).length>0&&u({...n,owner:{user:a.id,config:((c=n==null?void 0:n.owner)==null?void 0:c.config)??"yo_y_mis_equipos"},status:"por_hacer"})},[n]),d.useEffect(()=>{t.invalidateQueries({queryKey:["to_do_tasks",i]})},[i]),d.useEffect(()=>{(async()=>{const m=await s.get("/api/listado_tareas",{params:{...i,status:"por_hacer",...D(1),tasks_api:s,justCount:!0}});l(m.data.total)})()},[i,o==null?void 0:o.data]),{toDoTasks:o,total:r}},ss=()=>{var n,r;const{toDoTasks:t,total:s}=es(),a=[...((r=(n=t==null?void 0:t.data)==null?void 0:n.pages)==null?void 0:r.flat())??[]];return e.jsx(W,{total:s,title:"Por hacer",tasks:a,loadNextPage:()=>X(t),isFetching:t==null?void 0:t.isFetching,isLoadingData:t==null?void 0:t.isLoading})},ts=()=>{var x;const t=T.useQueryClient(),{tasks_api:s}=S(),{user:a}=I(),{filters:n}=E(),[r,l]=d.useState(0),[i,u]=d.useState({owner:{user:a.id,config:((x=n==null?void 0:n.owner)==null?void 0:x.config)??"yo_y_mis_equipos"},status:"trabajando"}),o=T.useInfiniteQuery({initialPageParam:1,queryKey:["working_tasks",i],queryFn:({pageParam:c})=>G({filters:{...i,status:"trabajando",...D(c)},tasks_api:s,page:c}),staleTime:1e3*60*60*24,getNextPageParam:(c,m)=>m.length+1});return d.useEffect(()=>{var c;Object.keys(n).length>0&&u({...n,owner:{user:a.id,config:((c=n==null?void 0:n.owner)==null?void 0:c.config)??"yo_y_mis_equipos"},status:"trabajando"})},[n]),d.useEffect(()=>{t.invalidateQueries({queryKey:["working_tasks",i]})},[i]),d.useEffect(()=>{(async()=>{const m=await s.get("/api/listado_tareas",{params:{...i,status:"trabajando",...D(1),tasks_api:s,justCount:!0}});l(m.data.total)})()},[i,o==null?void 0:o.data]),{workingTasks:o,total:r}},ns=()=>{var n,r;const{workingTasks:t,total:s}=ts(),a=[...((r=(n=t==null?void 0:t.data)==null?void 0:n.pages)==null?void 0:r.flat())??[]];return e.jsx(W,{total:s,title:"Trabajando",tasks:a,loadNextPage:()=>X(t),isFetching:t==null?void 0:t.isFetching})},as=()=>{var x;const t=T.useQueryClient(),{user:s}=I(),{tasks_api:a}=S(),{filters:n}=E(),[r,l]=d.useState(0),[i,u]=d.useState({owner:{user:s.id,config:((x=n==null?void 0:n.owner)==null?void 0:x.config)??"yo_y_mis_equipos"},status:"completadas"}),o=T.useInfiniteQuery({initialPageParam:1,queryKey:["done_tasks",i],queryFn:({pageParam:c})=>G({filters:{...i,status:"completadas",...D(c)},tasks_api:a,page:c}),staleTime:1e3*60*60*24,getNextPageParam:(c,m)=>m.length+1});return d.useEffect(()=>{var c;Object.keys(n).length>0&&u({...n,owner:{user:s.id,config:((c=n==null?void 0:n.owner)==null?void 0:c.config)??"yo_y_mis_equipos"},status:"completadas"})},[n]),d.useEffect(()=>{t.invalidateQueries({queryKey:["done_tasks",i]})},[i]),d.useEffect(()=>{(async()=>{const m=await a.get("/api/listado_tareas",{params:{...i,status:"completadas",...D(1),justCount:!0,tasks_api:a}});l(m.data.total)})()},[o==null?void 0:o.data,i]),{doneTasks:o,total:r}},rs=()=>{var n,r;const{doneTasks:t,total:s}=as(),a=[...((r=(n=t==null?void 0:t.data)==null?void 0:n.pages)==null?void 0:r.flat())??[]];return e.jsx(W,{title:"Completadas",tasks:a,loadNextPage:()=>X(t),isFetching:t==null?void 0:t.isFetching,total:s})};class R{static toSalesmanUsers(s){return{id:s.id,name:s.nombre}}}const ls=()=>{const{tasks_api:t}=S(),{filters:s}=E(),{user:a}=I();return{getSalesmanAndProjects:async()=>{var o;const[i,u]=await Promise.all([t.get("/api/obtener-comerciales"),t.get("/api/listado_tareas",{params:{...s,owner:{user:a.id,config:((o=s==null?void 0:s.owner)==null?void 0:o.config)??"yo_y_mis_equipos"},justProjects:!0}})]);return{salesmanUsers:i.data.map(R.toSalesmanUsers),projects:u.data.map(R.toSalesmanUsers)}},getProjects:async()=>{var u;return(await t.get("/api/listado_tareas",{params:{...s,owner:{user:a.id,config:((u=s==null?void 0:s.owner)==null?void 0:u.config)??"yo_y_mis_equipos"},justProjects:!0}})).data.map(R.toSalesmanUsers)},getSalesmans:async()=>(await t.get("/api/obtener-comerciales")).data.map(R.toSalesmanUsers)}},is=[{label:"Tipo de dependencia",type:"select",id:"dependency",options:[{id:"con",name:"Con dependencia"},{id:"sin",name:"Sin dependencia"},{id:"ambas",name:"Ambas"}]},{label:"Por proyecto",type:"select",id:"project.id",options:[]},{label:"Por responsable",type:"select",id:"owner.config",options:[{id:"yo",name:"Mis tareas"},{id:"yo_y_mis_equipos",name:"Tareas mías y de mis equipos"},{id:"mis_equipos",name:"Tareas de mis equipos"}]},{label:"Por ejecutivo",type:"select",id:"salesman.name",options:[]},{label:"Por dificultad",type:"select",id:"difficulty",options:[{id:0,name:"Muy facil"},{id:1,name:"Facil"},{id:2,name:"Media"},{id:3,name:"Dificil"},{id:4,name:"Muy dificil"}]}],os=()=>{const{defineFields:t}=E(),{getSalesmanAndProjects:s}=ls();return d.useEffect(()=>{(async()=>{let n=[...is],{salesmanUsers:r,projects:l}=await s();t(n.map(i=>(i.id==="project.id"&&(i.options=l),i.id==="salesman.name"&&(i.options=r),i)))})()},[]),e.jsxs("div",{className:"flex gap-4 w-full h-full min-h-[100%] relative ",children:[e.jsx(ss,{}),e.jsx(ns,{}),e.jsx(rs,{})]})},me=d.createContext({}),cs=({children:t})=>{const[s,a]=d.useState([]);d.useEffect(()=>{console.log({selectedTasks:s})},[s]);const n=r=>{a(l=>l.includes(r)?l.filter(i=>i!==r):[...l,r])};return e.jsx(me.Provider,{value:{selectedTasks:s,selectTask:n},children:t})},ds=()=>d.useContext(me),us=()=>{const t=()=>e.jsxs("div",{className:"w-full flex gap-m",children:[e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-full animate-pulse"}),e.jsx("div",{className:"w-[30%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[10%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[10%] h-[30px] bg-gray-200 rounded-md animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"}),e.jsx("div",{className:"w-[30px] h-[30px] min-w-[30px] min-h-[30px] bg-gray-200 rounded-lg animate-pulse"})]});return e.jsxs("div",{className:"flex flex-col gap-m",children:[e.jsx(t,{}),e.jsxs("div",{className:"pl-5 flex flex-col gap-m",children:[e.jsx(t,{}),e.jsx("div",{className:"pl-5",children:e.jsx(t,{})})]}),e.jsx(t,{}),e.jsxs("div",{className:"pl-5 flex flex-col gap-m",children:[e.jsx(t,{}),e.jsx("div",{className:"pl-5",children:e.jsx(t,{})})]})]})},pe=({startDate:t,endDate:s})=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-fit flex justify-center items-center px-xxxl",children:[e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:4,color:w.texts.subtext}),e.jsxs("p",{className:"text-sm",children:[" ",ee(t)]})]}),e.jsx(j.Icons,{icon:"arrow_right",size:"xs",strokeWidth:4,color:w.texts.DEFAULT}),e.jsxs("div",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-fit flex justify-center items-center px-xxxl",children:[e.jsx(j.Icons,{icon:"calendar",size:"xs",strokeWidth:4,color:w.texts.subtext}),e.jsxs("p",{className:"text-sm",children:[" ",ee(s)]})]})]}),xs=({id:t})=>e.jsx(e.Fragment,{children:e.jsx("button",{onClick:()=>alert("pausar tarea "+t),children:e.jsx(j.Icons,{icon:"pause",size:"xs",strokeWidth:4,color:w.texts.subtext})})}),he=({id:t,priority:s})=>e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"gap-s bg-gray-100 rounded-md h-[30px] w-[30px] flex justify-center items-center hover:bg-gray-200",children:e.jsx(j.Icons,{icon:"align_center",size:"xs",strokeWidth:4,color:w.texts.subtext})}),e.jsx("div",{className:"gap-s bg-success-medium border border-success-pastel rounded-md h-[30px] w-[30px] flex justify-center items-center",children:e.jsx(ue,{id:t,priority:s})}),e.jsx("button",{className:"gap-s bg-danger-light border border-danger-regular rounded-md h-[30px] w-[30px] flex justify-center items-center",children:e.jsx(j.Icons,{icon:"difficulty",size:"xs",strokeWidth:4,color:w.danger.regular})})]}),ms=({id:t})=>{const{selectedTasks:s,selectTask:a}=ds();return e.jsxs(e.Fragment,{children:[e.jsx("label",{className:"cursor-pointer w-[20px] h-[20px] border-2 border-gray-200 rounded-md flex justify-center items-center",htmlFor:t.toString(),children:e.jsx("span",{className:`${s.includes(t)?"opacity-100":"opacity-0"} transition-opacity duration-500`,children:e.jsx(j.Icons,{icon:"check_outline",size:"xs",color:w.primary.regular,strokeWidth:6})})}),e.jsx("input",{className:"hidden",id:t.toString(),type:"checkbox",onChange:()=>a(t)})]})},ge=({task:t})=>e.jsx(j.Tooltip,{dispatch:e.jsx("p",{className:"text-sm text-texts-subtext max-w-[400px] truncate",children:t}),children:e.jsx("p",{className:"text-sm text-texts-subtext p-2 max-w-[400px]",children:t})}),ps=({id:t})=>{var n,r;const{tasksProject:s}=z(),a=(n=s==null?void 0:s.data)==null?void 0:n.find(l=>l.id===t);return console.log({childTASK:a}),e.jsxs("div",{className:"ml-[30px] mb-3 mt-1 flex flex-wrap items-center gap-xl",children:[!(a!=null&&a.nameRequiredTask)||(a==null?void 0:a.nameRequiredTask)!==""&&(a==null?void 0:a.statusRequiredTask)===2&&e.jsx(ms,{id:t}),e.jsx(oe,{id:t,nameRequiredTask:(a==null?void 0:a.nameRequiredTask)??"",status:a==null?void 0:a.status,statusRequiredTask:(a==null?void 0:a.statusRequiredTask)??0},t),(a==null?void 0:a.willBePaused)&&e.jsx(xs,{id:t}),e.jsx(de,{onClick:()=>{},responsible:a==null?void 0:a.responsible,users:((r=a==null?void 0:a.users)==null?void 0:r.map(H))??[]}),e.jsx(ge,{task:(a==null?void 0:a.task)??""}),e.jsx(he,{id:t,priority:a==null?void 0:a.priority}),e.jsx(pe,{startDate:a==null?void 0:a.startDate,endDate:a==null?void 0:a.endDate})]})},fe=({id:t})=>{var l,i,u,o,x,c,m;const{tasksProject:s,openTasks:a,openTask:n}=z(),r=(l=s==null?void 0:s.data)==null?void 0:l.find(p=>p.id===t);return r?(console.log({task:r}),e.jsxs("div",{className:"flex flex-col gap-m mb-2 ",children:[e.jsxs("div",{className:"flex items-center gap-m flex-wrap hover:bg-gray-100",children:[e.jsx("button",{className:`${a.includes(t)?"":"-rotate-90"} transition-all duration-300`,onClick:()=>n(t),children:e.jsx(j.Icons,{icon:"angle_down_outline",color:w.texts.subtext})}),e.jsx("div",{className:"flex items-center justify-center min-w-[20px] min-h-[20px] w-fit h-[20px] mx-1 bg-primary-medium rounded-full",children:e.jsx("p",{className:"text-sm text-primary",children:((i=r==null?void 0:r.tasks)==null?void 0:i.length)===0?1:(u=r==null?void 0:r.tasks)==null?void 0:u.length})}),e.jsx(ge,{task:(r==null?void 0:r.task)??""}),e.jsx(he,{id:t,priority:r==null?void 0:r.priority}),e.jsx(pe,{startDate:r==null?void 0:r.startDate,endDate:r==null?void 0:r.endDate}),e.jsxs("button",{className:"gap-s bg-gray-100 rounded-md h-[30px] flex justify-center items-center w-fit px-m hover:bg-gray-200",children:[e.jsx(j.Icons,{icon:"subtasks",size:"xs",strokeWidth:5,color:w.texts.subtext}),e.jsx("p",{children:((o=r==null?void 0:r.tasks)==null?void 0:o.length)===0?1:(x=r==null?void 0:r.tasks)==null?void 0:x.length})]})]}),a.includes(t)&&e.jsx("div",{className:"ml-[30px]",children:((c=r==null?void 0:r.tasks)==null?void 0:c.length)>0?(m=r==null?void 0:r.tasks)==null?void 0:m.map(p=>e.jsx(fe,{id:p==null?void 0:p.id})):e.jsx(ps,{id:r==null?void 0:r.id})})]})):null},hs=()=>{var n;const{tasksProject:t,projectID:s}=z();if(t!=null&&t.isFetching||t!=null&&t.isLoading)return e.jsx(us,{});let a=[...(n=t==null?void 0:t.data)==null?void 0:n.filter(r=>r.isPrincipalTask)];return e.jsx("div",{className:"flex flex-col gap-m",children:e.jsx(cs,{project:s,children:a==null?void 0:a.sort((r,l)=>r.orden-l.orden).map(r=>e.jsx("div",{className:"flex flex-col gap-m border-b border-gray-200 pb-m",children:e.jsx(fe,{id:r.id})}))})})},gs=({path:t,tab:s})=>{const a={"kanban-general":{kanban:e.jsx(os,{})},"lista-campanias":{lista:e.jsx("div",{children:"lista-campanias"}),gantt:e.jsx("div",{children:"gantt-campanias"})},"kanban-campania":{kanban:e.jsx(Ze,{}),lista:e.jsx(hs,{}),gantt:e.jsx("div",{children:"kanban-campania-gantt"})}};return t==="kanban-campania"?e.jsx(qe,{project:1839,children:a[t][s]}):a[t][s]},fs=({path:t})=>{const s=()=>{const[a,n]=d.useState("kanban"),[r,l]=d.useState(""),i=d.useRef(null);d.useEffect(()=>{n("kanban")},[t]);const u=c=>({"kanban-general":"Kanban General","lista-campanias":"Campanias","kanban-campania":"Kanban de Campania"})[c],o=["lista-campanias","kanban-campania"],x={"lista-campanias":["lista","gantt"],"kanban-campania":["kanban","lista","gantt"]};return e.jsxs("div",{className:"bg-bg-card p-m rounded-lg border border-gray-200 flex flex-col gap-m w-full h-full min-h-[100%] relative overflow-hidden",children:[e.jsxs("div",{className:"w-full justify-between flex items-end border-b border-gray-200 pb-m px-l flex-wrap gap-l",children:[e.jsxs("div",{className:"flex gap-xl",children:[e.jsx("h2",{className:"text-texts font-medium",children:u(t)}),o.includes(t)&&e.jsx(we,{tabs:x[t],renderItem:c=>{n(c)}})]}),e.jsxs("div",{className:"flex items-center gap-s",children:[e.jsx("input",{onChange:ae(c=>{var m;return l((m=c==null?void 0:c.target)==null?void 0:m.value)},1e3),type:"text",placeholder:"Buscar",className:"w-[200px] h-[30px] border-none bg-bg-card shadow-input border border-gray-200 rounded-lg px-l "}),e.jsx(Ne,{filterChildren:i,children:e.jsx("div",{ref:i,className:"w-max max-w-[400px] h-fit bg-bg-card shadow-lg rounded-lg p-l",children:e.jsx(_e,{})})})]})]}),e.jsx("div",{className:"overflow-auto scrollbar-none",children:e.jsx(gs,{path:t,tab:a})})]})};return e.jsx(ve,{children:e.jsx(s,{})})},js=()=>e.jsx("div",{className:"w-full h-full min-h-[100%] relative",children:e.jsx("div",{className:"flex justify-center items-center h-full",children:e.jsxs("div",{className:"text-2xl font-bold flex flex-col items-center",children:[e.jsx("div",{className:"w-10 h-10 bg-primary-regular rounded-full animate-pulse"}),e.jsx("p",{className:"text-l text-texts-enfasis",children:"un momento..."}),e.jsx("p",{className:"text-sm text-texts-placeholder",children:"estamos buscando tu usuario"})]})})}),bs=()=>e.jsx("div",{className:"w-full h-full min-h-[100%] relative",children:e.jsx("div",{className:"flex justify-center items-center h-full",children:e.jsxs("div",{className:"text-2xl font-bold flex flex-col items-center",children:[e.jsx("div",{className:"w-10 h-10 bg-primary-regular rounded-full animate-pulse"}),e.jsx("p",{className:"text-l text-texts-enfasis",children:"No encontramos tu acceso"}),e.jsx("p",{className:"text-sm text-texts-placeholder",children:"por favor, contacta al administrador"})]})})}),ys=({path:t,user:s,env:a})=>{const n=new T.QueryClient;if(!s)return e.jsx(js,{});if(!s.accessToken)return e.jsx(bs,{});let r={user:s,env:a};return e.jsx(Ae,{...r,children:e.jsx(Se,{...r,children:e.jsx("div",{className:"w-full h-full min-h-[100%] relative",children:e.jsx(T.QueryClientProvider,{client:n,children:e.jsx(fs,{path:t})})})})})};exports.AppTasks=ys;