Files

2 lines
8.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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};