2 lines
8.5 KiB
JavaScript
2 lines
8.5 KiB
JavaScript
import"./Bzak7iHL.js";import{p as nt,y as R,a6 as lt,a as Le,g as t,q as u,n as it,$ as dt,o as d,s as l,v as i,w as v,x as p,j as s,h as Be,i as U,t as h,k as P,m as ct,l as f}from"./DScGFiBY.js";import{s as $}from"./B7h8GtFa.js";import{i as ee}from"./BlbL38UD.js";import{e as ut}from"./BhGBB4Qh.js";import{c as m}from"./B5gxx3nr.js";import{h as mt}from"./ChlQth4G.js";import{a as ft,e as vt}from"./B3aNbgJc.js";import{r as pt,s as te,a as _t}from"./BPc-JNDc.js";import{p as xt}from"./DoRZqEmo.js";import{B as Ue}from"./Cel1DXuQ.js";import{B as je}from"./CcEFwafz.js";import{C as qe,a as Ae}from"./Y4l2nr7b.js";import{D as ht,a as $t,b as gt,c as wt,I as kt,d as bt}from"./Do7CCxfs.js";import{D as Ct,a as Pt,b as yt,c as ve,d as St}from"./CFHX6GDu.js";import{I as Dt}from"./CB0VnWqK.js";import{g as pe}from"./BuAKAdPx.js";import{B as It}from"./DTML-ACl.js";var Lt=f('<p class="text-muted-foreground text-center text-sm"> </p>'),Bt=f('<a target="_blank" rel="noopener noreferrer" class="block size-full"><img alt="" class="size-full object-cover" loading="lazy"/></a>'),Ut=f('<span class="text-muted-foreground flex size-full items-center justify-center text-xs">—</span>'),jt=f('<span class="text-muted-foreground ml-1 truncate text-xs"> </span>'),qt=f('<!> <!> <form method="POST" action="?/delete" class="hidden"><input type="hidden" name="id"/></form> <!>',1),At=f("<!> <!>",1),Et=f('<div class="size-12 shrink-0 overflow-hidden rounded border"><!></div> <div class="min-w-0 flex-1"><a class="font-medium hover:underline"> </a> <span class="text-muted-foreground font-mono text-xs"> </span> <!></div> <div class="flex shrink-0 items-center gap-2 text-xs"><!> <span class="tabular-nums"> </span> <!></div> <!>',1),Ft=f('<div class="flex flex-col gap-2"></div>'),Nt=f("<!> <!>",1),Ot=f("<!> <!>",1),zt=f('<main class="container mx-auto flex flex-col gap-4 px-4 py-6 sm:gap-6 sm:px-6 sm:py-8"><div class="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex items-center gap-2 min-w-0"><a href="/" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to main">Back</a> <h1 class="text-xl font-semibold truncate sm:text-2xl">Stackq Items</h1></div> <div class="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center sm:gap-2"><div class="w-full sm:w-64 sm:min-w-0"><!></div> <span class="text-muted-foreground text-sm shrink-0"> </span> <div class="flex gap-2"><!> <!></div></div></div> <!> <!> <!></main>');function nr(Ee,_){nt(_,!0);let re=xt(_,"searchFromUrl",3,""),j=R(!1),ae=R(!1),g=R(null),_e=R("create"),T=R(lt(re()));const q=P(()=>{var e;return((e=_.data)==null?void 0:e.items)??[]}),Fe=P(()=>{var e;return((e=_.data)==null?void 0:e.itemsForParent)??[]}),V=P(()=>(()=>{const e=t(T).trim().toLowerCase();return e?t(q).filter(r=>{const o=(r.Item??"").toLowerCase(),a=(r.SKU??"").toLowerCase(),y=(r.Description??"").toLowerCase(),w=(r.Vendor??"").toLowerCase(),S=Array.isArray(r.Catagory)?r.Catagory.join(" ").toLowerCase():(r.Catagory??"").toLowerCase(),M=Array.isArray(r.Sub_Catagory)?r.Sub_Catagory.join(" ").toLowerCase():(r.Sub_Catagory??"").toLowerCase();return o.includes(e)||a.includes(e)||y.includes(e)||w.includes(e)||S.includes(e)||M.includes(e)}):t(q)})()),Ne="https://pocketbase.ccllc.pro",Oe="Stackq_Items";function se(e){return e.Image?`${Ne}/api/files/${Oe}/${e.id}/${e.Image}`:null}function ze(){u(g,null),u(_e,"create"),u(j,!0)}function Ke(e){u(g,e,!0),u(_e,"update"),u(j,!0)}function Re(){u(j,!1),u(g,null)}function Te(e){const r=e.trim(),o=t(q).find(a=>(a.SKU??"").trim()===r);o?pe("/items/"+o.id):pe("/items?q="+encodeURIComponent(r))}const xe=P(()=>{var e,r,o;return((e=_.data)==null?void 0:e.form)==="create"||((r=_.data)==null?void 0:r.form)==="update"?((o=_.data)==null?void 0:o.error)??null:null});Le(()=>{var e,r;t(xe)&&(((e=_.data)==null?void 0:e.form)==="create"||((r=_.data)==null?void 0:r.form)==="update")&&u(j,!0)}),Le(()=>{re()&&u(T,re())});var oe=zt();mt("1kn3tit",e=>{it(()=>{dt.title="Items – Stackq"})});var ne=d(oe),he=l(d(ne),2),le=d(he),Ve=d(le);Dt(Ve,{type:"search",placeholder:"Search items, SKU…",class:"h-11 w-full sm:h-9",get value(){return t(T)},set value(e){u(T,e,!0)}}),i(le);var ie=l(le,2),Me=d(ie);i(ie);var $e=l(ie,2),ge=d($e);je(ge,{variant:"outline",onclick:()=>u(ae,!0),title:"Scan barcode to look up item",class:"min-h-11 flex-1 sm:flex-none",children:(e,r)=>{v();var o=p("Scan");s(e,o)},$$slots:{default:!0}});var Qe=l(ge,2);je(Qe,{onclick:ze,class:"min-h-11 flex-1 sm:flex-none",children:(e,r)=>{v();var o=p("New item");s(e,o)},$$slots:{default:!0}}),i($e),i(he),i(ne);var we=l(ne,2);{var We=e=>{qe(e,{children:(r,o)=>{Ae(r,{class:"flex h-32 items-center justify-center",children:(a,y)=>{var w=Lt(),S=d(w,!0);i(w),h(()=>$(S,t(q).length===0?"No items. Create one or check PocketBase collection name and auth.":"No items match your search.")),s(a,w)},$$slots:{default:!0}})},$$slots:{default:!0}})},Ge=e=>{var r=Ft();ut(r,21,()=>t(V),o=>o.id,(o,a)=>{qe(o,{class:"overflow-hidden",children:(y,w)=>{Ae(y,{class:"flex flex-row items-center gap-3 p-3",children:(S,M)=>{var Q=Et(),W=U(Q),G=d(W);{var H=n=>{var c=Bt(),x=d(c);i(c),h((X,Y)=>{te(c,"href",X),te(x,"src",Y)},[()=>se(t(a)),()=>se(t(a))]),s(n,c)},de=P(()=>se(t(a))),F=n=>{var c=Ut();s(n,c)};ee(G,n=>{t(de)?n(H):n(F,!1)})}i(W);var D=l(W,2),k=d(D),be=d(k,!0);i(k);var A=l(k,2),J=d(A);i(A);var ce=l(A,2);{var N=n=>{var c=jt(),x=d(c);i(c),h(()=>$(x,`· ${t(a).Description??""}`)),s(n,c)};ee(ce,n=>{t(a).Description&&n(N)})}i(D);var I=l(D,2),E=d(I);Ue(E,{variant:"outline",children:(n,c)=>{v();var x=p();h(()=>$(x,t(a).UOM??"—")),s(n,x)},$$slots:{default:!0}});var O=l(E,2),L=d(O,!0);i(O);var Je=l(O,2);{var Xe=n=>{Ue(n,{variant:"default",class:"text-xs",children:(c,x)=>{v();var X=p("Stock");s(c,X)},$$slots:{default:!0}})};ee(Je,n=>{t(a).Stock&&n(Xe)})}i(I);var Ye=l(I,2);m(Ye,()=>St,(n,c)=>{c(n,{children:(x,X)=>{var Y=At(),Ce=U(Y);m(Ce,()=>Ct,(ue,me)=>{me(ue,{class:"border-0 bg-transparent hover:bg-muted inline-flex min-h-9 min-w-9 shrink-0 items-center justify-center rounded-md text-sm",children:(fe,et)=>{v();var Z=p("Actions");s(fe,Z)},$$slots:{default:!0}})});var Ze=l(Ce,2);m(Ze,()=>Pt,(ue,me)=>{me(ue,{children:(fe,et)=>{var Z=Be(),tt=U(Z);m(tt,()=>yt,(rt,at)=>{at(rt,{align:"end",children:(st,Kt)=>{var Pe=qt(),ye=U(Pe);m(ye,()=>ve,(B,b)=>{b(B,{onclick:()=>pe("/items/"+t(a).id),children:(C,Ie)=>{v();var K=p("View");s(C,K)},$$slots:{default:!0}})});var Se=l(ye,2);m(Se,()=>ve,(B,b)=>{b(B,{onclick:()=>Ke(t(a)),children:(C,Ie)=>{v();var K=p("Edit");s(C,K)},$$slots:{default:!0}})});var z=l(Se,2),De=d(z);pt(De),i(z),ft(z,B=>{var b;return(b=vt)==null?void 0:b(B)});var ot=l(z,2);m(ot,()=>ve,(B,b)=>{b(B,{class:"text-destructive focus:text-destructive cursor-pointer",onclick:()=>{var C;confirm("Delete this item? This cannot be undone.")&&((C=document.getElementById("delete-form-"+t(a).id))==null||C.requestSubmit())},children:(C,Ie)=>{v();var K=p("Delete");s(C,K)},$$slots:{default:!0}})}),h(()=>{te(z,"id",`delete-form-${t(a).id??""}`),_t(De,t(a).id)}),s(st,Pe)},$$slots:{default:!0}})}),s(fe,Z)},$$slots:{default:!0}})}),s(x,Y)},$$slots:{default:!0}})}),h(n=>{te(k,"href",`/items/${t(a).id??""}`),$(be,t(a).Item??"—"),$(J,`· ${t(a).SKU??"—"??""}`),$(L,n)},[()=>t(a).Cost!=null?Number(t(a).Cost).toLocaleString():"—"]),s(S,Q)},$$slots:{default:!0}})},$$slots:{default:!0}})}),i(r),s(e,r)};ee(we,e=>{t(V).length===0?e(We):e(Ge,!1)})}var ke=l(we,2);m(ke,()=>bt,(e,r)=>{r(e,{get open(){return t(j)},set open(o){u(j,o,!0)},children:(o,a)=>{var y=Be(),w=U(y);m(w,()=>ht,(S,M)=>{M(S,{class:"max-h-[90dvh] w-[calc(100vw-2rem)] max-w-[500px] overflow-y-auto rounded-lg sm:w-full",children:(Q,W)=>{var G=Ot(),H=U(G);m(H,()=>$t,(F,D)=>{D(F,{children:(k,be)=>{var A=Nt(),J=U(A);m(J,()=>gt,(N,I)=>{I(N,{children:(E,O)=>{v();var L=p();h(()=>$(L,t(g)?"Edit item":"New item")),s(E,L)},$$slots:{default:!0}})});var ce=l(J,2);m(ce,()=>wt,(N,I)=>{I(N,{children:(E,O)=>{v();var L=p();h(()=>$(L,t(g)?"Update the item below.":"Add a new Stackq item.")),s(E,L)},$$slots:{default:!0}})}),s(k,A)},$$slots:{default:!0}})});var de=l(H,2);{let F=P(()=>t(g)?"?/update":"?/create"),D=P(()=>t(g)?"Update":"Create"),k=P(()=>t(xe)??null);kt(de,{get item(){return t(g)},get itemsForParent(){return t(Fe)},get action(){return t(F)},get submitLabel(){return t(D)},get error(){return t(k)},onSuccess:Re})}s(Q,G)},$$slots:{default:!0}})}),s(o,y)},$$slots:{default:!0}})});var He=l(ke,2);It(He,{onResult:Te,title:"Scan to look up item",get open(){return t(ae)},set open(e){u(ae,e,!0)}}),i(oe),h(()=>$(Me,`${t(V).length??""}${t(V).length!==t(q).length?` of ${t(q).length}`:""} items`)),s(Ee,oe),ct()}export{nr as default};
|