mirror of
https://github.com/R0m1k3/Priceflow.git
synced 2026-10-19 21:28:26 +02:00
corretion
This commit is contained in:
1 parent
1893988bb1
commit
f7059da02a
5 files changed
+73
-42
No files matched your search
@@ -10,7 +10,7 @@ import { Label } from '@/components/ui/label';
|
||||
import { Marquee } from '@/components/ui/marquee';
|
||||
import { cn } from '@/lib/utils';
|
||||
|
||||
export function ItemCard({ item, onEdit, onDelete, onCheck, onZoom, onCategoryUpdate, categories, onViewHistory }) {
|
||||
export function ItemCard({ item, onEdit, onDelete, onCheck, onZoom, onCategoryUpdate, categories, onViewHistory, onMarkAvailable }) {
|
||||
const { t } = useTranslation();
|
||||
const [showCategorySelect, setShowCategorySelect] = useState(false);
|
||||
const [showNewCategoryDialog, setShowNewCategoryDialog] = useState(false);
|
||||
@@ -73,11 +73,24 @@ export function ItemCard({ item, onEdit, onDelete, onCheck, onZoom, onCategoryUp
|
||||
{/* Product Unavailable Overlay */}
|
||||
{isProductUnavailable && (
|
||||
<div className="absolute inset-0 z-10 flex items-center justify-center bg-black/60">
|
||||
<div className="flex flex-col items-center gap-2 text-center px-4">
|
||||
<div className="flex flex-col items-center gap-3 text-center px-4">
|
||||
<AlertTriangle className="h-8 w-8 text-orange-500" />
|
||||
<span className="text-sm font-semibold text-white">
|
||||
Produit retiré du site
|
||||
</span>
|
||||
{onMarkAvailable && (
|
||||
<Button
|
||||
variant="secondary"
|
||||
size="sm"
|
||||
className="mt-1"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
onMarkAvailable(item.id);
|
||||
}}
|
||||
>
|
||||
Marquer comme disponible
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -102,6 +102,17 @@ export default function Dashboard() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleMarkAvailable = async (itemId) => {
|
||||
try {
|
||||
await axios.patch(`${API_URL}/items/${itemId}/availability?available=true`);
|
||||
toast.success('Produit marqué comme disponible');
|
||||
refreshItems();
|
||||
} catch (error) {
|
||||
console.error('Error marking item as available:', error);
|
||||
toast.error('Erreur lors de la mise à jour');
|
||||
}
|
||||
};
|
||||
|
||||
const filteredItems = items.filter(item => {
|
||||
const term = searchTerm.toLowerCase();
|
||||
const matchesSearch = (
|
||||
@@ -170,6 +181,7 @@ export default function Dashboard() {
|
||||
onZoom={setZoomedImage}
|
||||
onCategoryUpdate={handleCategoryUpdate}
|
||||
onViewHistory={setHistoryItem}
|
||||
onMarkAvailable={handleMarkAvailable}
|
||||
categories={categories}
|
||||
/>
|
||||
))}
|
||||
|
||||
Reference in new issue
Block a user