'use client'; import { BASE_URL } from '@/shared/config/api/URLs'; import { useRouter } from '@/shared/config/i18n/navigation'; import formatPrice from '@/shared/lib/formatPrice'; import { Button } from '@/shared/ui/button'; import { Card, CardContent } from '@/shared/ui/card'; import { useQuery } from '@tanstack/react-query'; import { Calendar, Loader2, MessageSquare, Package, RefreshCw, ShoppingBag, } from 'lucide-react'; import { useTranslations } from 'next-intl'; import Image from 'next/image'; import { useSearchParams } from 'next/navigation'; import { useEffect, useState } from 'react'; import { order_api, OrderList } from '../lib/api'; const HistoryTabs = () => { const t = useTranslations(); const searchParams = useSearchParams(); const [page, setPage] = useState(1); const router = useRouter(); const { data, isLoading } = useQuery({ queryKey: ['order_list', page], queryFn: () => order_api.list(), select: (res) => res.data, }); useEffect(() => { const urlPage = Number(searchParams.get('page')) || 1; setPage(urlPage); }, [searchParams]); if (isLoading) { return (
); } if (!data || data.length === 0) { return (

{t('Buyurtmalar topilmadi')}

{t( "Hali buyurtma qilmagansiz. Mahsulotlarni ko'rib chiqing va birinchi buyurtmangizni bering!", )}

); } return (
{/* Header */}

{t('Buyurtmalar tarixi')}

{data.length} {t('ta buyurtma')}

{/* Orders List */}
{data.map((order: OrderList) => { const totalPrice = order.items.reduce( (sum, item) => sum + Number(item.price) * item.quantity, 0, ); return ( {/* Order Header */}
#{order.id}

{t('Buyurtma raqami')}

{order.delivery_date && (

{t('Yetkazib berish')}

{order.delivery_date}

)}
{/* Comment */} {order.comment && (

{t('Izoh')}:

{order.comment}

)}
{/* Products */}
{order.items.map((item, index) => { const product = item.product; // Get product image const productImage = product.images?.[0]?.images ? product.images[0].images.includes(BASE_URL) ? product.images[0].images : BASE_URL + product.images[0].images : '/placeholder.svg'; return (
{/* Product Header with Image */}
{/* Product Image */}
{product.name}
{/* Product Info */}
{index + 1}

{product.name}

{product.short_name && (

{product.short_name}

)}

{t('Mahsulotlar narxi')}

{formatPrice(Number(item.price), true)}

{/* Product Details Grid */}
{t('Miqdor')} {item.quantity}{' '} {product.meansurement || t('dona')}
{t('Jami')} {formatPrice( Number(item.price) * item.quantity, true, )}
); })}
{/* Order Footer */}
{/* Price Breakdown */}
{t('Mahsulotlar narxi')}: {formatPrice(totalPrice, true)}
{t('Mahsulotlar soni')}: {order.items.reduce( (sum, item) => sum + item.quantity, 0, )} {t('dona')}
{t('Umumiy summa')}: {formatPrice(totalPrice, true)}
{/* Actions */}
); })}
); }; export default HistoryTabs;