fix(products): Handle empty products
This commit is contained in:
@@ -1,27 +1,48 @@
|
|||||||
import { Container } from "@/components/Container";
|
import { Container } from "@/components/Container";
|
||||||
import Products from "@/components/products";
|
import Products, { Product } from "@/components/products";
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
|
||||||
|
const productsData: Product[] = Products;
|
||||||
|
|
||||||
export default function ArticlesPage() {
|
export default function ArticlesPage() {
|
||||||
|
if (!productsData || productsData.length === 0) {
|
||||||
|
return (
|
||||||
|
<Container className="py-12">
|
||||||
|
<h1 className="text-3xl font-bold text-center mb-8">
|
||||||
|
Plus de stock disponible
|
||||||
|
</h1>
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<div className="py-12">
|
<div className="py-12">
|
||||||
<h1 className="text-3xl font-bold text-center mb-8">Nos Articles</h1>
|
<h1 className="text-3xl font-bold text-center mb-8">
|
||||||
|
Nos Articles
|
||||||
|
</h1>
|
||||||
|
|
||||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
|
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||||
{Products.map((article, index) => (
|
{productsData.map((product, index) => (
|
||||||
<div key={index} className="bg-white p-6 rounded-lg shadow-lg dark:bg-trueGray-800">
|
<div
|
||||||
|
key={index}
|
||||||
|
className="bg-white p-6 rounded-lg shadow-lg dark:bg-trueGray-800"
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src={article.imageUrl}
|
src={product.imageUrl}
|
||||||
alt={article.title}
|
alt={product.title}
|
||||||
className="w-full h-48 object-cover rounded-t-lg mb-4"
|
className="w-full h-48 object-cover rounded-t-lg mb-4"
|
||||||
width={1200}
|
width={1200}
|
||||||
height={800}
|
height={800}
|
||||||
/>
|
/>
|
||||||
<h2 className="text-xl font-semibold text-gray-800 mb-2 dark:text-white">{article.title}</h2>
|
<h2 className="text-xl font-semibold text-gray-800 mb-2 dark:text-white">
|
||||||
<p className="text-gray-600 mb-4 dark:text-grey-200">{article.description}</p>
|
{product.title}
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-600 mb-4 dark:text-grey-200">
|
||||||
|
{product.description}
|
||||||
|
</p>
|
||||||
<a
|
<a
|
||||||
href={article.url}
|
href={product.url}
|
||||||
className="text-[#7ed957] hover:text-indigo-500"
|
className="text-[#7ed957] hover:text-indigo-500"
|
||||||
>
|
>
|
||||||
Voir l'article
|
Voir l'article
|
||||||
@@ -32,4 +53,4 @@ export default function ArticlesPage() {
|
|||||||
</div>
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
const Products = [];
|
|
||||||
|
|
||||||
export default Products;
|
|
||||||
18
src/components/products.ts
Normal file
18
src/components/products.ts
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
export type Product = {
|
||||||
|
imageUrl: string;
|
||||||
|
title: string;
|
||||||
|
description: string;
|
||||||
|
url: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
const Products: Product[] = [];
|
||||||
|
|
||||||
|
export default Products;
|
||||||
|
|
||||||
|
// Sample product data
|
||||||
|
// {
|
||||||
|
// imageUrl: "",
|
||||||
|
// title: "",
|
||||||
|
// description: "",
|
||||||
|
// url: "",
|
||||||
|
// },
|
||||||
Reference in New Issue
Block a user