From 3f2aeeab4071515d371677db58e001f7ecb1001b Mon Sep 17 00:00:00 2001 From: yznahmad Date: Thu, 4 Jun 2026 01:05:21 +0300 Subject: [PATCH] ad no order title msg --- .openclaude/settings.local.json | 28 +++ app/favicon.ico | Bin 25931 -> 15086 bytes components/ItemTable.tsx | 413 ++++++++++++++++++++++++++------ components/OrderForm.tsx | 25 +- components/SummaryPanel.tsx | 3 +- package-lock.json | 114 --------- prisma/dev.db | Bin 86016 -> 86016 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/ol-logo.png | Bin 0 -> 35708 bytes 9 files changed, 391 insertions(+), 192 deletions(-) create mode 100644 .openclaude/settings.local.json create mode 100644 public/favicon.ico create mode 100644 public/ol-logo.png diff --git a/.openclaude/settings.local.json b/.openclaude/settings.local.json new file mode 100644 index 0000000..8051d3c --- /dev/null +++ b/.openclaude/settings.local.json @@ -0,0 +1,28 @@ +{ + "permissions": { + "allow": [ + "Bash(ls:*)", + "Bash(npm install:*)", + "Bash(node:*)", + "Bash(npm approve-scripts:*)", + "Bash(npx prisma:*)", + "Bash(node -e \"console.log\\(require\\(''crypto''\\).randomBytes\\(32\\).toString\\(''hex''\\)\\)\")", + "WebSearch", + "WebFetch(domain:www.prisma.org)", + "Bash(find C:UsersyuccDocumentsRepositoriesprojects-2026nextjsiherb-openclaudenode_modulesprisma -name *.md -maxdepth 2)", + "Bash(tasklist)", + "Bash(rm -rf \"C:\\\\Users\\\\yucc\\\\Documents\\\\Repositories\\\\projects-2026\\\\nextjs\\\\iherb-openclaude/.next\")", + "Bash(npm run:*)", + "Bash(npx next:*)", + "Bash(tee /tmp/build-output.txt)", + "Bash(echo \"EXIT: $?\")", + "Bash(echo \"EXIT_CODE=$?\")", + "Bash(taskkill /F /IM \"node.exe\")", + "Bash(taskkill /F /IM \"nxnode.bin\")", + "Bash(taskkill //F //PID 40132)", + "Bash(taskkill //F //PID 35372)", + "Bash(taskkill //F //PID 21080)", + "Bash(taskkill //F //PID 29760)" + ] + } +} diff --git a/app/favicon.ico b/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..985b5fa0e18c2f715f6657c21cc85392b4628d23 100644 GIT binary patch literal 15086 zcmeG@2UL_-)`L{Vj#xJdi6(KgCYo5{s%huXn#2T+1t}sZ2)3xJ(O`>CVx)->O)(gi zWD~NAB^uMCE0!e6eAAg3hM{)>DbitvyZ63tK6XGxfq?6O&dxcP_qF$KdAGg$9wL#A z$W}CAf(TnT(b0!RqA4Pg$j!}sKTssfz-I%orS~iBM50jqU@U%vT|`R|==uMCA`!=N z_MhK8=d!2h^wZmO5>{@_jX$v}<5S5zeY9j&a=7F*O}N}$6Rxm?*?2!&8=;)7BZzE) z`TD(zVC?&D{>h&s^1lh$UwZDvPp_XFW&ndD0N8Y=ygA_Pf2@>_c{}I$_Lq`F&poBy zSUOU=ys5v$A9^P(0y~Kp*h)M*0Q4O~k|)?Fd4ZF}8wN-g!~N3W=BLylH(%9-U3n+_ zSm?iMR1-BCjYD_vaJGQ!bGS5dtGha^c&H?x$pLZNatpy;vJiSPnz7|P!3KfuI|Sx$ zsgDhg)eC{fbijL8$x`ENRcJ-r_48s46!+~a55GZf?~jVlz5Hg@=jZ<{U)$(Nv=QDO z0^)A78yvlG3j;e4zf>MiiV~J59B%$c01 z2YaD@+2P!hP7dV!;A!>NlBl8|c99Nuga@*nuj>@PGnCtFZAn*>yqU~xISX~U`=aSUEJ&31|Q)>E|8xPtxn zA~~_SUWk0~&+U_Z;Kk%!RdJ;kUPl^xS(}HG<+2CnYNLL0l=v`R>`8h%JGLYGxw*P1 zE}`2JvvDCW2(1;DYg%Lgr~ zPlvJrfrf)6B?H(?t3mqb(MD3kK#Rx zogOfTTV8jx?Dtm$`giA_**Q?+Z~8;yv$1=Sce8HTVB251$P}7=>K*d;1dCJm?{nf7 zoBghJ8f;Mpe4c}PhWbc4Np?lHPIm8fZ4o$Oyt6~#?VsW(jz{0%d%EUzl+WYr=^ggv zp9%79A3w{tNJcnLZ_Wo+8$ONC#T=&qppTa}>ZpU%9P@4?N1~nL48=r&?!lZt{7v&7 z?8rR^5qW1|SN?JEOpSpDWh*hiM4AvE(+T*)B`b;zJEZ4&CAC;|vFH0{$ zMN{NBWW4@PKcZiEB* zzuZ1%B5u+hHlI>2n5x`%;sR*;DxqlTyyU%??J!@k#(T?i9D{fyIgFESfbT1mNGsBU zkX>I2zf~DPRht7frUs;~2@LfGDBnny7gJ6XQ}`Xvr_luIbwwbn$pT4DHb|>8VQWqT zo7)y#ZS??gGo8ifMC&AF$VrmF0jgZ*YW7^>^R(ORAn{K&;E43^$UY9Wj7}q5tklAE z_1m}(Sp{Pi>p+a}ZZ_3}3HiEQrH2RQtJoauEBGGyYK9tP0|cgi3=hdxp`NWqSOqT9 zfDXxz=`i9)`ceMHy!S3zNrHf%DA+#3Kr=0vgc%rq@P2QmcW@Z z4)w$YrA_!gHHtka`b|iGwW%K5^$~Zbx9uF5?`?^G1<`NTpAOPbwoAUkjavmdP34R} zWo;fjgz{y2N#o<(I$*A{H9H>aQT_y5@Y)V__PGu5p48(UMC6=8o_x@L|GV-RY-=pipKGiDld&1D)}+z;o9P1iIGP92 zp>>&`p=~#!Z!y8{oD=ACz3&0~i9RnF!Udqu$Us{(LRS3^n5x;v)~xi7{8MkFHMa04 zoF60VdLyjKIE-s4uWqJ)a~JH_gZbz_NZ-D~AJA{2??(DQ%=-ZbNtQ6bM6^#+Y=?}7 zVzgBwIjE&V6hqZgcN%4o? zQ$8|DxrzBt8OE=9ny8Dm(mT`Nc5JfM$K~rGGXFGOsYwSV%3V>L3*VM=5S)4tT(1Rz zjdTIpvlrs_20z2caP<0b@Q>>kV4`{pqowVbR_{r61ZMgto9WlVO_#aJd(PW+fqt4Z zmJi}w+%I1akH}ZUXz5yvZ-LC7`I-*R7jM^2*!D^C#k`L4uuiU(5Eri_6oWkBX$7zU z8ps`t@$)Bp=DeFJwp#YNm#!(UkSxdsoTNU@s||-^kak;IL&g;R5bPrH zZ|sU(?iP=zj(JC&}Kdy40wr zZ7BA`d9d4-eN0a4SGHE7S|`obJ)}=|nA4JeJD{&vmv;Ed1;}&~=%@B-Lx%5IZmp5| z6r{f;AHGL;Ai7AlV`Oibey&i@w4|M`slM);`oT|qaX*J>C!cpO$)D(P<`%({)Q>JD znC-SL54*BX%o?ZIP;QTNMgEG-fuKi1dl&f<)*B>8(*3_E*WY|E|FnBsx`lh%GeX@u zI9L+E;u6gn^%L5=>0kLe0j~!n`yok7VN>Skr>??{{sO)2wLjfZ--q$w%3$0#a=?8; zqTiP6f%NY#%ARN@-1bNV?IW#7KX~n2wfc$nXm0!L`zo2Mmp=MhZ;3D1$>uX(#MUM_ z-reMZV!AV~J3UkOtKy22hPS2D+C9}2kKDL8&0DuGaU|{;kR6CHW(z)*=9cG!;>90} z8SU#Nzs?&j3o?1@VlIAJ`s-w($r`=wJ*V&E%YS`fLuOpeQ_7H=w5Lh?g2V&MMOds8 z_@J5=|BmrU^K>U*x`=e5ub`ZX$%FO5`sOuncv7*kYD?}v;}eRmJ=j^=E%~{CvF(c+ zm*y|kf2bQJ3#xaLdNs3Lg!X6{50tm^dPRFYL{CRRuuncur99RP*Pn}E6c^mENVi}8 zRoPWv!fi>*AGuaQ>8N+}PWgGK#3annY|j}Zf1`F7w+#AWyr8{Gdvo2HYR?@32izm< z%lX1^X<+jh*_x`U>bG-!^!rYS=AH_=RAq4eBeYuUOY@je#tn$fJ^OHE!FTg_=bedK zmwx!jlC+Obdg^0N;{M=Qb9Iq-gaz8@W0?Pb5s>*|?C!jiQCQ1=ZCCDzhrceD4@4YR z_eZVK_5b-f@{2!_2(m;XTWZC4UWi&^3jY|XeNH5*r}hDnsDfJDdCH>Ju}zEFcp^Qw zXvK7oo}*Pu&+f6GnCNLsC*CL0a|?d5=-z^FK^}s9gjSH7AV)|v%NGZ5#D{|1>714u z!t)4SIj4o=*oX_x_L--R88Jr}{`eei*o#wDJ6?HG74pg?)uvgkVGG{#FkQ3bl?8_A znO=syPx|SjM~RCQ`ieWF`yjFrXI^kxks0T#anawfe`aXjDHpL=+^!!W z-0O1_1_z`c*!-A$U6})}n|lfI#~cS*@OShcY2o)pe3~Cothuo~^HAve+(Uy=Np6vY z7%n)i$~v-fq%63GuWt}9LLBAeP*?D?F-Tq*hjHxsp!82RMCT^-wwwhqhkHPWi+Bb3nDPE6hI_&o`Py=E{;?Mcr$EETqJKEQstv!)YERvPSHRy+OLe7L z+R&?U)h(BI;~YOK#FmzfQ~E${3^%!=%eh(M8|QA>5>Qo+XG~f46+rscYn)>Rr>+TX5IL;7EI2XdCU@ z8tFgD1;GjP?UC|e7^hqhPvCy@{qmL2S4w9jY2Vr#hRFiKO|c4LH9VkP34g-6rxU(! zOB>6vF((@>U)`Kkn|7bFvE->?Nr7yCqwTjuC*`)zQeSu$>+;7-e`ot6w6FSIxg5Mx z_rYM<66h!O!&>nfxLA=4=gQUabGZr<@Y~_?pj+@0FLX|GAg;sC*BeH2P&{MMRsJkr zd-%zRjaO_0IqvBeG?c-~8%YpXoCx~b0x;AT!UFwX7$#o^XUnCyw_3;cCu55*Ks4?N z4?&r<9h2}=UW>jOeyr4tkv0`PGw3SqBi!n1i2nh|n>aTCDvdR8==ymWg>x`O765^1 zA45??1$%PsiLI_8Y^=JOTm(NZY3il1n8K_1Rl z%Gubjr$n;(rsv~Se+MP*aVOX0z%<;aBK(Do6);8HvHE*Q@ROWeQf*31=0unS-Gx3SnJ-lZyTDr@-4+bg0YIV4d-s^Ts#sIY-gyqtGhB**ZPp3^MDzu z?b-xLu%%pVS^6h2R6i!a!k`=Yv_>28PIZzch7V(eJn+Mk^H1Sf7u+Wxy}8v7TN|rO z&k?_yd}Yn z=d;lhl_7c|2V^y+Zo{M2IpZMQ1z(94g?*X7gy8&FN2 zpO5b0pZLN&r*KVnoO`U5GxL;}2d2foK2iBrsuQ=!WT}h%o+8o3uWu-iYY&K5_MGMq zf%MHu;?q1)^;X7`j8ELf1+jfB`EGShYd?IyB>nx#?kSP+xL&AqlzN*eUtxH0EbA`Bl5gR#Z$>ZPvW5kBXhIi+YKzgEa}A`o9;J z8{?XFaoT~Q^Yu|h?ae0{has zx2>*O@{IL_=dji=APdU}iC9V?5aT+TK-3LCVJvDBaqKL_LxA;+2M9OSDQF?&hH$4k z1@S@khzaVAuRf?;9qA$s{Gu*Bn#Fr+X}sRJ zPUtIL+ElEo2!q69e6&|(+~}VFlSzsaR}bPGgU8W#mwFq zjrc9DYre+1?$1JOp#D>mx4;$5{a(gA@Eoo;W@>kVqB;xar|yNvRO?&%)3>hDW#5dJ zuldEY|MHB3aQOPa@J!btz*;GU=Y5U2bS}6l@ysClNlW>(*Z;4Wb6>*qoqyGAg&%P( zV~9<%(8)X&hH+;5S4+`6aq1nkc99Py2wK*V>TzIk;jjwG(AA2-j1VxG7ho z{#cthMg3ad;q%^Dr*^@$h%=tiCSOf5WqS~o^N4-$Jn6}&HCuKFeyn8-%kQjQlaHIC z+$^4zx_iQ4>CzHm4m&!=VA;|eFX-PLAB=u=lKQQk82|7*zXcyw@RF`MNfy;%o*7Dg z$p&81?jA8-wJ8i`SBUYX5zmWaj95r(=N3SFGT}M0Mzo)z3CST5e@lrNNqvQ%yFO~j zc=e{44=dNc=PC_|>zCyB*?++IGZ*R7BlK>ZV*N}H!~T|fzZks{L1%x|ClTwc{|25< BfZPB8 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/components/ItemTable.tsx b/components/ItemTable.tsx index 452cc73..d8468fd 100644 --- a/components/ItemTable.tsx +++ b/components/ItemTable.tsx @@ -6,9 +6,21 @@ import type { OrderItemData } from "@/lib/types"; // 6 color presets for customer grouping const CUSTOMER_COLORS = [ { border: "border-l-blue-500", bg: "bg-blue-50", text: "text-blue-800" }, - { border: "border-l-emerald-500", bg: "bg-emerald-50", text: "text-emerald-800" }, - { border: "border-l-violet-500", bg: "bg-violet-50", text: "text-violet-800" }, - { border: "border-l-orange-500", bg: "bg-orange-50", text: "text-orange-800" }, + { + border: "border-l-emerald-500", + bg: "bg-emerald-50", + text: "text-emerald-800", + }, + { + border: "border-l-violet-500", + bg: "bg-violet-50", + text: "text-violet-800", + }, + { + border: "border-l-orange-500", + bg: "bg-orange-50", + text: "text-orange-800", + }, { border: "border-l-teal-500", bg: "bg-teal-50", text: "text-teal-800" }, { border: "border-l-pink-500", bg: "bg-pink-50", text: "text-pink-800" }, ]; @@ -60,13 +72,16 @@ function ItemEditForm({ function update(field: string, value: string | number) { const next = { ...form, [field]: value }; // Recompute prices - next.netPrice = (next.initPrice + next.initPrice * next.taxRatio) * next.quantity; - next.myNetPrice = (next.myPrice + next.myPrice * next.taxRatio) * next.quantity; + next.netPrice = + (next.initPrice + next.initPrice * next.taxRatio) * next.quantity; + next.myNetPrice = + (next.myPrice + next.myPrice * next.taxRatio) * next.quantity; next.finalPrice = next.netPrice; setForm(next); } - const inputClass = "border-2 border-border rounded-lg px-2 py-1.5 text-sm bg-bg text-fg focus:outline-none focus:border-accent w-full"; + const inputClass = + "border-2 border-border rounded-lg px-2 py-1.5 text-sm bg-bg text-fg focus:outline-none focus:border-accent w-full"; const labelClass = "text-xs text-muted font-medium mb-0.5 block"; return ( @@ -81,36 +96,82 @@ function ItemEditForm({ > {customers.map((c) => ( - + ))}
- update("itemName", e.target.value)} className={inputClass} /> + update("itemName", e.target.value)} + className={inputClass} + />
- update("initPrice", parseFloat(e.target.value) || 0)} className={inputClass} /> + + update("initPrice", parseFloat(e.target.value) || 0) + } + className={inputClass} + />
- update("myPrice", parseFloat(e.target.value) || 0)} className={inputClass} /> + update("myPrice", parseFloat(e.target.value) || 0)} + className={inputClass} + />
- update("taxRatio", parseFloat(e.target.value) || 0)} className={inputClass} /> + + update("taxRatio", parseFloat(e.target.value) || 0) + } + className={inputClass} + />
- update("quantity", parseInt(e.target.value) || 1)} className={inputClass} /> + update("quantity", parseInt(e.target.value) || 1)} + className={inputClass} + />
- -
@@ -143,13 +204,16 @@ function AddItemForm({ function handleAdd() { if (!form.itemName.trim()) return; - const netPrice = (form.initPrice + form.initPrice * form.taxRatio) * form.quantity; - const myNetPrice = (form.myPrice + form.myPrice * form.taxRatio) * form.quantity; + const netPrice = + (form.initPrice + form.initPrice * form.taxRatio) * form.quantity; + const myNetPrice = + (form.myPrice + form.myPrice * form.taxRatio) * form.quantity; onAdd({ id: crypto.randomUUID(), orderId: "", customerId: form.customerId || null, - customerName: customers.find((c) => c.id === form.customerId)?.name ?? null, + customerName: + customers.find((c) => c.id === form.customerId)?.name ?? null, itemName: form.itemName, initPrice: form.initPrice, myPrice: form.myPrice, @@ -159,10 +223,18 @@ function AddItemForm({ myNetPrice, finalPrice: netPrice, }); - setForm({ customerId: customers[0]?.id ?? "", itemName: "", initPrice: 0, myPrice: 0, taxRatio: 0.16, quantity: 1 }); + setForm({ + customerId: customers[0]?.id ?? "", + itemName: "", + initPrice: 0, + myPrice: 0, + taxRatio: 0.16, + quantity: 1, + }); } - const inputClass = "border-2 border-border rounded-lg px-2 py-1.5 text-sm bg-bg text-fg focus:outline-none focus:border-accent w-full"; + const inputClass = + "border-2 border-border rounded-lg px-2 py-1.5 text-sm bg-bg text-fg focus:outline-none focus:border-accent w-full"; const labelClass = "text-xs text-muted font-medium mb-0.5 block"; return ( @@ -171,34 +243,90 @@ function AddItemForm({
- update("customerId", e.target.value)} + className={inputClass} + disabled={disabled} + > {customers.map((c) => ( - + ))}
- update("itemName", e.target.value)} placeholder="Product name" className={inputClass} disabled={disabled} /> + update("itemName", e.target.value)} + placeholder="Product name" + className={inputClass} + disabled={disabled} + />
- update("initPrice", parseFloat(e.target.value) || 0)} className={inputClass} disabled={disabled} /> + + update("initPrice", parseFloat(e.target.value) || 0) + } + className={inputClass} + disabled={disabled} + />
- update("myPrice", parseFloat(e.target.value) || 0)} className={inputClass} disabled={disabled} /> + update("myPrice", parseFloat(e.target.value) || 0)} + className={inputClass} + disabled={disabled} + />
- update("taxRatio", parseFloat(e.target.value) || 0)} className={inputClass} disabled={disabled} /> - update("quantity", parseInt(e.target.value) || 1)} className={inputClass} disabled={disabled} /> + + update("taxRatio", parseFloat(e.target.value) || 0) + } + className={inputClass} + disabled={disabled} + /> + + update("quantity", parseInt(e.target.value) || 1) + } + className={inputClass} + disabled={disabled} + />
-
@@ -243,26 +371,54 @@ export function ItemTable({ } // Render a single item row (desktop table row) - function TableRow({ item, colorIndex }: { item: OrderItemData; colorIndex: number | null }) { + function TableRow({ + item, + colorIndex, + }: { + item: OrderItemData; + colorIndex: number | null; + }) { const color = colorIndex !== null ? getColor(colorIndex) : null; const isEditing = editingId === item.id; return ( <> - - {item.itemName || "—"} - ${item.initPrice.toFixed(2)} - ${item.myPrice.toFixed(2)} - {item.quantity} - ${item.netPrice.toFixed(2)} - ${item.finalPrice.toFixed(2)} + + + {item.itemName || "—"} + + + ${item.initPrice.toFixed(2)} + + + ${item.myPrice.toFixed(2)} + + + {item.quantity} + + + ${item.myNetPrice.toFixed(2)} + + + ${item.finalPrice.toFixed(2)} + {!disabled && (
- -
@@ -272,7 +428,12 @@ export function ItemTable({ {isEditing && ( - setEditingId(null)} /> + setEditingId(null)} + /> )} @@ -281,23 +442,37 @@ export function ItemTable({ } // Render a single item card (mobile) - function MobileCard({ item, colorIndex }: { item: OrderItemData; colorIndex: number | null }) { + function MobileCard({ + item, + colorIndex, + }: { + item: OrderItemData; + colorIndex: number | null; + }) { const color = colorIndex !== null ? getColor(colorIndex) : null; const isEditing = editingId === item.id; return ( -
+
-

{item.itemName || "—"}

+

+ {item.itemName || "—"} +

{colorIndex !== null && ( -

+

{getCustomerName(item.customerId!)}

)}
-

${item.finalPrice.toFixed(2)}

+

+ ${item.finalPrice.toFixed(2)} +

@@ -315,10 +490,18 @@ export function ItemTable({
{!disabled && (
- -
@@ -326,7 +509,12 @@ export function ItemTable({
{isEditing && (
- setEditingId(null)} /> + setEditingId(null)} + />
)}
@@ -334,39 +522,76 @@ export function ItemTable({ } // Render items for a customer group - function CustomerGroup({ customerId, groupItems: gi }: { customerId: string; groupItems: OrderItemData[] }) { + function CustomerGroup({ + customerId, + groupItems: gi, + }: { + customerId: string; + groupItems: OrderItemData[]; + }) { const colorIndex = colorMap[customerId] ?? 0; const color = getColor(colorIndex); const name = getCustomerName(customerId); + const totalQty = gi.reduce((s, i) => s + i.quantity, 0); + const totalNet = gi.reduce((s, i) => s + i.myNetPrice, 0); + const totalFinal = gi.reduce((s, i) => s + i.finalPrice, 0); return (
-
+
{name} - ({gi.length} item{gi.length !== 1 ? "s" : ""}) + + {totalQty} unit{totalQty !== 1 ? "s" : ""} ({gi.length} line{gi.length !== 1 ? "s" : ""}) + + + Net: ${totalNet.toFixed(2)} + + + Final: ${totalFinal.toFixed(2)} +
{/* Desktop table */}
- - - - - - - + + + + + + + - {gi.map((item) => )} + {gi.map((item) => ( + + ))}
ItemInit PriceMy PriceQtyNetFinalActions + Item + + Init Price + + My Price + + Qty + + Net + + Final + + Actions +
{/* Mobile cards */}
- {gi.map((item) => )} + {gi.map((item) => ( + + ))}
); @@ -376,7 +601,11 @@ export function ItemTable({
{/* Add item form */} {!disabled && ( - + )} {/* Items grouped by customer */} @@ -388,39 +617,75 @@ export function ItemTable({ <> {/* Customer groups */} {Object.entries(groups).map(([customerId, gi]) => ( - + ))} {/* Ungrouped items */} - {ungrouped.length > 0 && ( + {ungrouped.length > 0 && (() => { + const uQty = ungrouped.reduce((s, i) => s + i.quantity, 0); + const uNet = ungrouped.reduce((s, i) => s + i.netPrice, 0); + const uFinal = ungrouped.reduce((s, i) => s + i.finalPrice, 0); + return (
-
- Unassigned - ({ungrouped.length} item{ungrouped.length !== 1 ? "s" : ""}) +
+ + Unassigned + + + {uQty} unit{uQty !== 1 ? "s" : ""} ({ungrouped.length} line{ungrouped.length !== 1 ? "s" : ""}) + + + Net: ${uNet.toFixed(2)} + + + Final: ${uFinal.toFixed(2)} +
- - - - - - - + + + + + + + - {ungrouped.map((item) => )} + {ungrouped.map((item) => ( + + ))}
ItemInit PriceMy PriceQtyNetFinalActions + Item + + Init Price + + My Price + + Qty + + Net + + Final + + Actions +
- {ungrouped.map((item) => )} + {ungrouped.map((item) => ( + + ))}
- )} + ); })()} )}
diff --git a/components/OrderForm.tsx b/components/OrderForm.tsx index 39f07d7..be3a555 100644 --- a/components/OrderForm.tsx +++ b/components/OrderForm.tsx @@ -47,6 +47,7 @@ export function OrderForm({ const [customerInput, setCustomerInput] = useState(""); const [actionMessage, setActionMessage] = useState(null); const [actionSuccess, setActionSuccess] = useState(false); + const [titleError, setTitleError] = useState(false); const [isPending, startTransition] = useTransition(); function handleAddCustomer() { @@ -71,6 +72,10 @@ export function OrderForm({ function handleSubmit(e: FormEvent) { e.preventDefault(); + if (!title.trim()) { + setTitleError(true); + return; + } const formData = new FormData(e.currentTarget); formData.set("title", title); formData.set("status", status); @@ -118,7 +123,7 @@ export function OrderForm({
)} -
+
{/* Main content — left 2/3 on desktop */}
{/* Title + Status row */} @@ -131,11 +136,25 @@ export function OrderForm({ id="order-title" type="text" value={title} - onChange={(e) => setTitle(e.target.value)} + onChange={(e) => { + setTitle(e.target.value); + if (titleError) setTitleError(false); + }} placeholder="Order title" - className={inputClass} + className={`${inputClass} ${titleError ? "border-danger" : ""}`} disabled={isDisabled} + aria-invalid={titleError} + aria-describedby={titleError ? "title-error" : undefined} /> + {titleError && ( + + )}
Items - {items.length} + {totalItems}
Customers diff --git a/package-lock.json b/package-lock.json index 1ba11ea..0b911e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1058,9 +1058,6 @@ "cpu": [ "arm" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1077,9 +1074,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1096,9 +1090,6 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1115,9 +1106,6 @@ "cpu": [ "riscv64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1134,9 +1122,6 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1153,9 +1138,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1172,9 +1154,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1191,9 +1170,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1210,9 +1186,6 @@ "cpu": [ "arm" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1235,9 +1208,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1260,9 +1230,6 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1285,9 +1252,6 @@ "cpu": [ "riscv64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1310,9 +1274,6 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1335,9 +1296,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1360,9 +1318,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1385,9 +1340,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1603,9 +1555,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1622,9 +1571,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1641,9 +1587,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1660,9 +1603,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1992,9 +1932,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2012,9 +1949,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2032,9 +1966,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2052,9 +1983,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2605,9 +2533,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2622,9 +2547,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2639,9 +2561,6 @@ "loong64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2656,9 +2575,6 @@ "loong64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2673,9 +2589,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2690,9 +2603,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2707,9 +2617,6 @@ "riscv64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2724,9 +2631,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2741,9 +2645,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2758,9 +2659,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -5619,9 +5517,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5643,9 +5538,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5667,9 +5559,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5691,9 +5580,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ diff --git a/prisma/dev.db b/prisma/dev.db index 95134870bb31a91e9971335ba618f0538666183c..143ebe7782486d4b80d1f87423f1fb0a2371e3be 100644 GIT binary patch delta 4841 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 BfZPB8 literal 0 HcmV?d00001 diff --git a/public/ol-logo.png b/public/ol-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3873a152a08f7b14ab3273940ad844b80db998de GIT binary patch literal 35708 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