From 6c5f04ed1b62d509c47e97f0e45aefcae54ed776 Mon Sep 17 00:00:00 2001 From: FlorianSpeicher Date: Sun, 22 Jun 2025 12:57:03 +0200 Subject: [PATCH] Bugfix order page --- 00-backend/datasource/database.sqlite | Bin 27684864 -> 27684864 bytes .../src/helper/adminpanel/OrdersInfo.tsx | 26 +++++++----------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/00-backend/datasource/database.sqlite b/00-backend/datasource/database.sqlite index f2bc7db77cc1a4e1e69a2cf10690c37a26f455d2..777889e3322e2fcc7b470cb2da39442fa03d365d 100644 GIT binary patch delta 1942 zcmXxkbyOBs7=Up;5fPQ|v%mnmySv5iZUwusyAV`VR4~C7W4NAkbLGm-g|6qiWUf=! z?Ve}n?2q4b?z#Wo_q{1s_eZB7D=u(;XM957{F$WO#F$V{SgBxscqlJ)BXlivE_5Yy zF_?cgHtBLO6df567KjMM1+r5wT}Upl`+D-}P*_-4Fc1;-|6N+%y!5BL=Z3gR&@x@`yt`Dxe}Np)#tVDypG6YM>@+p*HHE zF6yB^8lWK>p)s1EDVm`X&Desi$iOyi#|~s73p=q3 zyRip*u@BkE!G0XTK^($i9Klf>LoSZv1Ww`_uvff#aY~k z`*98r;6Xfuhw%u`<54_@$MFQ7#05Nsr*RR_;8{F}=Wz*_@d94NOL!Tt;8nba*Kq}J z;7z=RxA6|%#d~-kAK*iLgsaHM$GC=1@F_mS=lB9&;wyZOZ}2U?!}qw38~6b~;wSu! zU+^n_!|(V5f8sCvjel@6gWb=BDPY1)K@(vLnMhOEM42L{s3~TmP0)l)aZ|#SG^I>w z6Jugc8B^AjGv!U3i8mEYMN`RCHdRbjQ_WO2HB3!Y%hWb?OkGpY)He-GL(|AKHcd=Z z)66tCElf+(%Ct6ZOk2~=v^O10N7Ko4HeF0tlVG};?xu(7X?mI7rjO}s`kDS_fEj28 znZag=8ES@^;bw#xX-1jRW{eqY#+mVEf=M(v&<|vE6hr>%B(hP%v!U~q?q+4)ufpXW~13;(#>YG#cVYh zW}De=c9=|)WpTNslZV_sle!e E0sQ}h+yDRo delta 1930 zcmW;MWn30!6hLua6tUn{5e)3^?pEx?77Ogg?!v?dL1WMLV=d2XsUybVe6+MK^Ru5A;MY#GyC(pfCENKL%hR24OIUU?_$m9>XyL zBQXl2F$QBX4ha~K37CjUn2bauVG5>V8m40gW?~j*V-DtG9_C{KlHu$YVKJ6qDVAY5 zR$wJoVKvrZE!JT@Hee%CunC*71zWKV+mVVL*oj@(jXl_leMmz(GO!<+IDmsVge+tu z2ZwP4M{x|tk&6?^!%3XNX`I0=$j4dSira8I?!cY63wPrloWs31kNa>xF5m$a;6Xfu zhw%s=#bbCJPvA*h#8Y@0m+%ap#dCNbmvIFz;6=QIm+=Z-#cOySSMdhk#9Me9@8Dg$ zhxhRTKEy}3hL768e#7th1ApQ# z{EdI`FK+JU_S0ZOO%YSngqdO{+!Qw@Oi5G9lr|A2(gaNzQ`VF-QKr0!HZi7xsc0&h z$|lxSF;z`9Q{B`sHBBv3+te|2O+8cJG%yWKBh%P4F-=V~)7-Q$Eln%a+O#okO*_-x zbTA!FC)3$1ksVy2pDX1bYSW|~=MwwYt*nt5ivSzwaQ|Esdd*J888 zEH%r_a&$wy!E7`sW|P@$wwSGEo7rws%?`8E>@vH}9<$f%GifH> uWSIRX(;P4d%^{OzvQ3UTY>t?t=9oEda?J^oXHJ?^=CnBz$mNp?B>V>t1%H|V diff --git a/01-frontend/src/helper/adminpanel/OrdersInfo.tsx b/01-frontend/src/helper/adminpanel/OrdersInfo.tsx index e7f0e5f..95a9e5d 100644 --- a/01-frontend/src/helper/adminpanel/OrdersInfo.tsx +++ b/01-frontend/src/helper/adminpanel/OrdersInfo.tsx @@ -13,7 +13,7 @@ import { useTheme } from "@mui/material"; import { useMutation, useQuery } from "@tanstack/react-query"; -import React, { PropsWithChildren, useEffect, useState } from "react"; +import React, { PropsWithChildren, useState } from "react"; import { DndProvider, useDrag, useDrop } from 'react-dnd'; import { HTML5Backend } from 'react-dnd-html5-backend'; import { useTranslation } from "react-i18next"; @@ -125,15 +125,13 @@ const EditOrder: React.FC<{ open: boolean; order: OrderType | null; onClose: () ); }; -// Main component for managing orders export default function OrdersInfo() { - const [orders, setOrders] = useState([]); const [editOrder, setEditOrder] = useState(null); const [openSnackbar, setOpenSnackbar] = useState(false); const { user: loginData } = useAccount(); - const { data, refetch } = useQuery({ + const { data, refetch, isLoading } = useQuery({ queryKey: ["fetchOrdersAdmin", loginData], queryFn: () => fetchOrdersAdmin(loginData ? loginData : { email: "", password: "", session: "", customerId: -1, isAdmin: false }), retry: 3, @@ -146,15 +144,10 @@ export default function OrdersInfo() { }); - useEffect(() => { - console.log("data", data); - if (data) { - setOrders(data); - } - }, [data]); - const handleDrop = async (id: number, status: OrderStatusEnum) => { - const obj = orders.find((o) => o.id === id); + + const currentOrders = data ?? []; + const obj = currentOrders.find((o) => o.id === id); if (!obj) { setOpenSnackbar(true); return; @@ -162,20 +155,22 @@ export default function OrdersInfo() { try { await patchOrderMutation.mutateAsync({ id: obj.id, status: status }); refetch(); - setOrders(orders.map((o) => (o.id === id ? { ...o, status } : o))); - // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { setOpenSnackbar(true); } }; const handleEdit = (order: OrderType) => setEditOrder(order); + if (isLoading || !data) { + return
Lade Bestellungen...
; + } + return (
{statusOrder.map((status) => ( - {orders + {data .filter((o) => o.status === status) .map((o) => ( handleEdit(o)} /> @@ -196,5 +191,4 @@ export default function OrdersInfo() { /> ); - }