added pil name

This commit is contained in:
Samandar Turgunboyev
2025-12-08 22:40:08 +05:00
parent 17b833dd88
commit e656ad2e61

View File

@@ -1,5 +1,6 @@
"use client"; "use client";
import { pill_api } from "@/features/pill/lib/api";
import type { OrderListDataRes } from "@/features/specifications/lib/data"; import type { OrderListDataRes } from "@/features/specifications/lib/data";
import formatPrice from "@/shared/lib/formatPrice"; import formatPrice from "@/shared/lib/formatPrice";
import { Button } from "@/shared/ui/button"; import { Button } from "@/shared/ui/button";
@@ -9,6 +10,7 @@ import {
DialogHeader, DialogHeader,
DialogTitle, DialogTitle,
} from "@/shared/ui/dialog"; } from "@/shared/ui/dialog";
import { useQuery } from "@tanstack/react-query";
import { HardDriveDownloadIcon } from "lucide-react"; import { HardDriveDownloadIcon } from "lucide-react";
import type { Dispatch, SetStateAction } from "react"; import type { Dispatch, SetStateAction } from "react";
@@ -23,6 +25,13 @@ export const SpecificationDetail = ({
open, open,
setOpen, setOpen,
}: Props) => { }: Props) => {
const { data } = useQuery({
queryKey: ["pill_list"],
queryFn: () => pill_api.list({ limit: 999, offset: 1 }),
select(data) {
return data.data.data;
},
});
const downloadFile = async (fileUrl: string, fileName: string) => { const downloadFile = async (fileUrl: string, fileName: string) => {
try { try {
const response = await fetch(fileUrl, { const response = await fetch(fileUrl, {
@@ -107,45 +116,50 @@ export const SpecificationDetail = ({
</h3> </h3>
<div className="space-y-3"> <div className="space-y-3">
{specification.order_items.map((med, index) => ( {specification.order_items.map((med, index) => {
<div const pill_name = data?.results.find(
key={med.id} (e) => e.id === med.product,
className="bg-white rounded-lg p-4 border border-gray-200 hover:border-indigo-300 transition-colors" );
> return (
<div className="flex items-start justify-between"> <div
<div className="flex-1"> key={med.id}
<div className="flex items-center gap-2 mb-2"> className="bg-white rounded-lg p-4 border border-gray-200 hover:border-indigo-300 transition-colors"
<span className="bg-indigo-100 text-indigo-700 text-xs font-semibold px-2 py-1 rounded"> >
#{index + 1} <div className="flex items-start justify-between">
</span> <div className="flex-1">
<p className="font-semibold text-gray-800"> <div className="flex items-center gap-2 mb-2">
{med.product} <span className="bg-indigo-100 text-indigo-700 text-xs font-semibold px-2 py-1 rounded">
#{index + 1}
</span>
<p className="font-semibold text-gray-800">
{pill_name?.name}
</p>
</div>
<div className="flex items-center gap-4 text-sm text-gray-600">
<span>
Miqdor: <strong>{med.quantity} ta</strong>
</span>
<span>×</span>
<span>
Narx:{" "}
<strong>
{formatPrice(
Number(med.total_price) / med.quantity,
)}
</strong>
</span>
</div>
</div>
<div className="text-right ml-4">
<p className="text-xs text-gray-500 mb-1">Jami</p>
<p className="text-lg font-bold text-indigo-600">
{formatPrice(med.total_price)}
</p> </p>
</div> </div>
<div className="flex items-center gap-4 text-sm text-gray-600">
<span>
Miqdor: <strong>{med.quantity} ta</strong>
</span>
<span>×</span>
<span>
Narx:{" "}
<strong>
{formatPrice(
Number(med.total_price) / med.quantity,
)}
</strong>
</span>
</div>
</div>
<div className="text-right ml-4">
<p className="text-xs text-gray-500 mb-1">Jami</p>
<p className="text-lg font-bold text-indigo-600">
{formatPrice(med.total_price)}
</p>
</div> </div>
</div> </div>
</div> );
))} })}
</div> </div>
</div> </div>