Compare commits
2 Commits
7e785756db
...
df588f114e
Author | SHA1 | Date | |
---|---|---|---|
|
df588f114e | ||
|
65b43e694d |
43
src/components/item/item.jsx
Normal file
43
src/components/item/item.jsx
Normal file
@ -0,0 +1,43 @@
|
||||
import React from 'react';
|
||||
|
||||
// Composant Image atomique
|
||||
const Image = ({ src, alt }) => {
|
||||
return <img src={src} alt={alt} />;
|
||||
};
|
||||
|
||||
// Composant Description atomique
|
||||
const Description = ({ title, children }) => {
|
||||
return (
|
||||
<div className="description">
|
||||
<h2>{title}</h2>
|
||||
{children}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
// Composant Caractéristique atomique
|
||||
const Characteristic = ({ label, value }) => {
|
||||
return (
|
||||
<div className="characteristic">
|
||||
<strong>{label}:</strong> {value}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
// Composant Détails du Produit (combinaison atomique)
|
||||
export const ItemBox = ({ imageUrl, modelName, brandName, purchaseDate, price, onEdit }) => {
|
||||
return (
|
||||
<div className="product-details">
|
||||
<Image src={imageUrl} alt="Product" />
|
||||
<Description title="Product Information">
|
||||
<Characteristic label="Model" value={modelName} />
|
||||
<Characteristic label="Brand" value={brandName} />
|
||||
<Characteristic label="Purchase Date" value={purchaseDate} />
|
||||
<Characteristic label="Price" value={price} />
|
||||
</Description>
|
||||
<button onClick={onEdit}>Edit</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
import React from "react";
|
||||
|
||||
import { useAuth } from "../hooks";
|
||||
import { ItemBox } from "../components/item/item";
|
||||
|
||||
export const Home = () => {
|
||||
const { user } = useAuth();
|
||||
@ -9,6 +10,14 @@ export const Home = () => {
|
||||
<div>
|
||||
<h1>Home page</h1>
|
||||
{user && <h2>Hello {user.user.username}</h2>}
|
||||
<ItemBox
|
||||
imageUrl={//"https://static.wikia.nocookie.net/battle-fighters-the-ultimate-fighters/images/4/4b/Globglogabgalab.png/revision/latest?cb=20180829050629"}
|
||||
"https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/578bae69-d8ef-497b-a717-98873dd69814/dc9u91c-fd73ab67-bc8e-49e4-92f0-7367d361f2fd.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcLzU3OGJhZTY5LWQ4ZWYtNDk3Yi1hNzE3LTk4ODczZGQ2OTgxNFwvZGM5dTkxYy1mZDczYWI2Ny1iYzhlLTQ5ZTQtOTJmMC03MzY3ZDM2MWYyZmQucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.NY_H3uLiv4l0MgogmSxt30irVbaMH5JXR62q898y6LI"}
|
||||
brandName={"GlubGlub GabGalab"}
|
||||
price={666}
|
||||
modelName={"Satanus"}
|
||||
purchaseDate={"-6 avant Marcel PAGNOL"}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user