From 73912860ec543518f17148707eaef059c2c147b0 Mon Sep 17 00:00:00 2001 From: "nabijonovdavronbek619@gmail.com" Date: Wed, 29 Apr 2026 18:33:55 +0500 Subject: [PATCH] update product component sorted base static data --- components/cards/innerProductcard.tsx | 2 +- components/lib_components/carRentalModal.tsx | 8 +++--- components/pageParts/products/products.tsx | 27 +++++++++++++++----- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/components/cards/innerProductcard.tsx b/components/cards/innerProductcard.tsx index d08a3a0..75e5dc6 100644 --- a/components/cards/innerProductcard.tsx +++ b/components/cards/innerProductcard.tsx @@ -91,7 +91,7 @@ export default function InnerProductcard({ data }: { data: any }) { {/* Nomi va tavsif */}

diff --git a/components/lib_components/carRentalModal.tsx b/components/lib_components/carRentalModal.tsx index 9507633..aa94156 100644 --- a/components/lib_components/carRentalModal.tsx +++ b/components/lib_components/carRentalModal.tsx @@ -64,10 +64,10 @@ export default function CarRentalModal({ } try { - const token = - process.env.NEXT_PUBLIC_TELEGRAM_TOKEN || - "7940057045:AAHRFPvgUCo_7pqpXD6uq4li7-_DYx2J96g"; - const chatId = process.env.NEXT_PUBLIC_TELEGRAM_CHAT_ID || "6134458285"; + const token = "8277200651:AAHYi2iE7bW0PEfEahTFyqFQhUcR9bGZnnY"; + // "7940057045:AAHRFPvgUCo_7pqpXD6uq4li7-_DYx2J96g" + const chatId = "6735606461" + // "6134458285"; const message = ` 🚗 *Yangi buyurtma!* diff --git a/components/pageParts/products/products.tsx b/components/pageParts/products/products.tsx index df52bda..a5a3a6b 100644 --- a/components/pageParts/products/products.tsx +++ b/components/pageParts/products/products.tsx @@ -10,6 +10,22 @@ import { EmptyState } from "@/components/emptyState"; import { usePathname } from "next/navigation"; import { baseUrl } from "@/data/url"; +// Kerakli tartib (id lar bo'yicha) +const CATEGORY_ORDER: number[] = [1, 2, 3, 4, 6, 5, 8, 9, 23, 11, 12, 10, 14, 26, 17, 13, 20, 19, 21, 28]; + +function sortByCustomOrder(data: ProductTypes[]): ProductTypes[] { + return [...data].sort((a, b) => { + const indexA = CATEGORY_ORDER.indexOf(a.id); + const indexB = CATEGORY_ORDER.indexOf(b.id); + + // Agar id topilmasa - oxiriga surish + if (indexA === -1) return 1; + if (indexB === -1) return -1; + + return indexA - indexB; + }); +} + export default function Products() { const [cars, setCars] = useState([]); const [loading, setLoading] = useState(true); @@ -34,15 +50,15 @@ export default function Products() { } const data = await response.json(); - console.log("backend Data: ", data?.data); if (data?.data && data.data.length > 0) { - setCars(data.data); + // ✅ Qayta tartiblash + const sorted = sortByCustomOrder(data.data); + setCars(sorted); } else { setCars([]); } } catch (error) { - console.log("Xatolik: ", error); setError(error instanceof Error ? error.message : "Noma'lum xatolik"); } finally { setLoading(false); @@ -54,7 +70,6 @@ export default function Products() { return (
- {/* title part */}
@@ -64,7 +79,6 @@ export default function Products() { </div> - {/* Error message */} {error && ( <div className="mb-4 p-4 bg-red-50 border border-red-200 rounded-lg"> <p className="text-red-600 text-center"> @@ -73,7 +87,6 @@ export default function Products() { </div> )} - {/* products */} <div className="px-4 grid gap-5 grid-cols-1 place-content-center min-[500px]:grid-cols-2 min-lg:grid-cols-4 min-[1210px]:grid-cols-4"> {loading ? ( <LoadingSkeleton /> @@ -89,4 +102,4 @@ export default function Products() { </div> </div> ); -} +} \ No newline at end of file