ruạṛ
import{bm as $,i as V,bn as z,u as x,dr as P,br as L,et as M,f as O,d as q,a1 as D,bp as G,a2 as S,a as H,r as K,e as U,c as e,bs as Q,bt as J,j as n,bu as W,bv as y,eu as X,ev as Y,ew as Z,ex as ee,aA as se,bw as te,m as B,ey as ae,ez as ne,N as ie,bg as le,bk as _,h as N,bo as oe,z as re,p as w,H as ce,bP as de,ay as j,eA as ue,b7 as me,T as he,g as pe,dq as be,dp as fe,eq as ke,ds as ge,bl as Te,a5 as Ce,W as we,k as ye,a6 as _e,a7 as Se,a8 as F,er as xe,ba as ve,eB as Ee,a9 as Ae}from"./bundle.9abe88c8.js";import{D as Ne}from"./DataTableColumnsPicker-72027136.js";import{u as Fe}from"./useShowEditOption-6f2fb612.js";import{I as Be}from"./ImportButton-83a39628.js";import{u as je}from"./hooks-9926da03.js";import{T as $e}from"./TaskClock-3e7e241b.js";const I=$(null),R=$(!1);V.extend(z);function Pe(){const[a]=x();return t=>{var r,d,u,m,h,p,s;let i=le(`activity_${t.activity_type_id}`,{});const o={client:e(_,{to:N("/clients/:id",{id:(r=t.client)==null?void 0:r.hashed_id}),children:(d=t.client)==null?void 0:d.label}),user:((u=t.user)==null?void 0:u.label)??a("system"),task:e(_,{to:N("/tasks/:id/edit",{id:(m=t.task)==null?void 0:m.hashed_id}),children:(h=t==null?void 0:t.task)==null?void 0:h.label}),contact:e(_,{to:N("/clients/:id/edit",{id:(p=t==null?void 0:t.contact)==null?void 0:p.hashed_id}),children:(s=t==null?void 0:t.contact)==null?void 0:s.label})};for(const[T,b]of Object.entries(o))i=oe(i,`:${T}`,()=>b);return i}}function De(){var C,g;const[a]=x(),t=P({showCommonBulkAction:!0,showEditAction:!0}),{timeFormat:i}=L(),o=M(),{dateFormat:r}=O(),d=q(),u=je(),m=D(),h=G(),p=Pe(),[s,T]=S(I),[b,v]=S(R),f=s&&u(s.time_log),{data:k}=H({queryKey:["/api/v1/activities",s==null?void 0:s.id,"task"],queryFn:()=>K("POST",U("/api/v1/activities/entity"),{entity:"task",entity_id:s==null?void 0:s.id}).then(l=>l.data.data),enabled:s!==null&&b,staleTime:1/0});return e(Q,{size:"regular",visible:b,onClose:()=>{v(!1),T(null)},title:`${a("task")} ${s==null?void 0:s.number}`,topRight:s&&(m("edit_task")||h(s))&&e(J,{label:a("actions"),resource:s,actions:t}),withoutActionContainer:!0,children:n(W,{tabs:[a("overview"),a("activity")],width:"full",children:[n("div",{className:"space-y-2",children:[n("div",{children:[e(y,{leftSide:a("amount"),children:s?d(s.rate*X(s.time_log,o),(C=s.client)==null?void 0:C.country_id,(g=s.client)==null?void 0:g.settings.currency_id):null}),e(y,{leftSide:a("entity_state"),children:s?a(Y(s)):null}),e(y,{leftSide:a("duration"),children:s?Z(s.time_log.toString(),!0):null}),e(y,{leftSide:a("status"),children:s?e(ee,{entity:s}):null})]}),e(se,{withoutPadding:!0}),e("div",{className:"divide-y",children:s&&(f==null?void 0:f.map(([l,E,A],c)=>e(te,{children:n("div",{className:"flex items-center justify-between",children:[n("div",{className:"flex flex-col",children:[e("p",{children:B(l,r)}),n("small",{children:[E," - ",A]})]}),e("div",{children:ae(s)&&c===f.length-1?e($e,{task:s,calculateLastTimeLog:!0}):ne(s.time_log,c)})]})},c)))})]}),e("div",{className:"divide-y",children:k==null?void 0:k.map(l=>n(ie,{className:"flex flex-col space-y-2",children:[e("p",{children:p(l)}),n("div",{className:"inline-flex items-center space-x-1",children:[e("p",{children:B(l.created_at,`${r} ${i}`)}),e("p",{children:"·"}),e("p",{children:l.ip})]})]},l.id))})]})})}/** * Invoice Ninja (https://invoiceninja.com). * * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */function Ie(){return{isChrome:/Chrome/.test(navigator.userAgent)}}function Re(){const[a]=x(),t=re(),{isChrome:i}=Ie(),[o,r]=w.useState(localStorage.getItem("displayChromeExtensionBanner"));return w.useEffect(()=>{o==="false"&&localStorage.setItem("displayChromeExtensionBanner","false")},[o]),o==="false"||!i?e(ce,{}):e(de,{variant:"orange",children:n("div",{className:"flex items-center w-full justify-between py-1.5",children:[n("div",{className:"flex justify-start items-center w-full space-x-3",children:[e(j,{element:ue,color:t.$1,size:25}),n("span",{style:{color:t.$1},children:[a("task_extension_banner"),"."]})]}),n("div",{className:"flex items-center space-x-5 whitespace-nowrap",children:[e("span",{className:"cursor-pointer",onClick:()=>window.open("https://www.youtube.com/watch?v=UL0OklMJTEA"),style:{color:t.$1},children:a("watch_video")}),e("span",{className:"cursor-pointer",onClick:()=>window.open("https://chromewebstore.google.com/detail/invoice-ninja-tasks/dlfcbfdpemfnjbjlladogijcchfmmaaf?pli=1"),style:{color:t.$1},children:a("view_extension")}),e(j,{className:"cursor-pointer",element:me,onClick:()=>r("false"),size:25,color:t.$1})]})]})})}function Ge(){const{documentTitle:a}=he("tasks"),[t]=x(),i=D(),o=Fe(),r=pe(),d=[{name:t("tasks"),href:"/tasks"}],u=P(),m=be(),h=fe(),p=ke(),s=ge(),[T,b]=w.useState(""),[v,f]=S(I),[k,C]=S(R),{data:g}=Te({id:T});w.useEffect(()=>{g&&k&&f(g)},[g,k]),w.useEffect(()=>()=>C(!1),[]);const{changeTemplateVisible:l,setChangeTemplateVisible:E,changeTemplateResources:A}=Ce();return n(we,{title:a,breadcrumbs:d,aboveMainContainer:e(Re,{}),children:[e(ye,{resource:"task",columns:h,customActions:u,endpoint:"/api/v1/tasks?include=status,client,project,user,assigned_user&without_deleted_clients=true&sort=id|desc",bulkRoute:"/api/v1/tasks/bulk",linkToCreate:"/tasks/create",linkToEdit:"/tasks/:id/edit",showEdit:c=>o(c),customFilters:m,customBulkActions:s,customFilterPlaceholder:"status",withResourcefulActions:!0,rightSide:e(_e,{type:"component",component:e(Be,{route:"/tasks/import"}),guards:[Se(F("create_task"),F("edit_task"))]}),leftSideChevrons:e(Ne,{columns:p,defaultColumns:xe,table:"task"}),beforeFilter:(i("view_task")||i("edit_task"))&&e(_,{to:"/tasks/kanban",children:n(ve,{children:[e(Ee,{size:20}),e("span",{children:"Kanban"})]})}),linkToCreateGuards:[F("create_task")],hideEditableOptions:!i("edit_task"),onTableRowClick:c=>{b(c.id),C(!0)},enableSavingFilterPreference:!0}),!r("task",v)&&e(De,{}),e(Ae,{entity:"task",entities:A,visible:l,setVisible:E,labelFn:c=>`${t("number")}: ${c.number}`,bulkUrl:"/api/v1/tasks/bulk"})]})}export{Ge as default};
cải xoăn