loading first item when open morceaux. Pi j'ai enlevé le height du root parce que ça fait que le foot est par dessus du stock

This commit is contained in:
Victor Turgeon
2022-10-18 00:34:43 -07:00
parent cf3647fe73
commit b9787c7aff
6 changed files with 124 additions and 89 deletions

View File

@@ -9,98 +9,110 @@ import { Card } from "react-bootstrap";
// Discontinued
// }
function renderStatus(statusCode) {
switch (statusCode) {
case 0:
return (
<Card.Text className="item-status item-status-available">
Disponible
</Card.Text>
);
if (statusCode !== undefined) {
case 1:
return (
<Card.Text className="item-status item-status-backorder">
En commande
</Card.Text>
);
case 2:
return (
<Card.Text className="item-status item-status-unavailable">
Indisponible
</Card.Text>
);
case 3:
return (
<Card.Text className="item-status item-status-clearence">
Liquidation
</Card.Text>
);
case 4:
return (
<Card.Text className="item-status item-status-promotion">
Promotion
</Card.Text>
);
case 5:
return (
<Card.Text className="item-status item-status-discontinued">
Discontinué
</Card.Text>
);
default:
return (
<></>
);
switch (statusCode) {
case 0:
return (
<Card.Text className="item-status item-status-available">
Disponible
</Card.Text>
);
case 1:
return (
<Card.Text className="item-status item-status-backorder">
En commande
</Card.Text>
);
case 2:
return (
<Card.Text className="item-status item-status-unavailable">
Indisponible
</Card.Text>
);
case 3:
return (
<Card.Text className="item-status item-status-clearence">
Liquidation
</Card.Text>
);
case 4:
return (
<Card.Text className="item-status item-status-promotion">
Promotion
</Card.Text>
);
case 5:
return (
<Card.Text className="item-status item-status-discontinued">
Discontinué
</Card.Text>
);
default:
return (
<></>
);
}
}
}
function renderPrice(price, newPrice, status) {
if (price !== undefined) {
if (status != 3 && status != 4) {
return (
<Card.Text className="item-price-container">
<span className="item-price">
{price.toFixed(2).toString().replace(".", ",")} $ CA
</span>
</Card.Text>
);
}
else {
return (
<Card.Text className="item-price-container">
<span className="item-old-price">
{price.toFixed(2).toString().replace(".", ",")} $ CA
</span>
<span className="item-new-price">
{newPrice.toFixed(2).toString().replace(".", ",")} $ CA
</span>
</Card.Text>
);
if (status != 3 && status != 4) {
return (
<Card.Text className="item-price-container">
<span className="item-price">
{price.toFixed(2).toString().replace(".", ",")} $ CA
</span>
</Card.Text>
);
}
else {
return (
<Card.Text className="item-price-container">
<span className="item-old-price">
{price.toFixed(2).toString().replace(".", ",")} $ CA
</span>
<span className="item-new-price">
{newPrice.toFixed(2).toString().replace(".", ",")} $ CA
</span>
</Card.Text>
);
}
}
}
const Item = ({ imageUrl, name, price, newPrice, status }) => {
return (
if (name !== undefined) {
return (
<Card className="item">
<Card.Img className="item-img" variant="top" src={`/images/${imageUrl}_thumbnail.jpg`} />
<Card.Body className="item-info">
<div className="item-name-container">
<Card.Title className="item-name">
{name}
</Card.Title>
</div>
<div className="item-status-container">
{renderStatus(status)}
</div>
<div>
{renderPrice(price, newPrice, status)}
</div>
<Card className="item">
<Card.Img className="item-img" variant="top" src={`/images/${imageUrl}_thumbnail.jpg`} />
<Card.Body className="item-info">
<div className="item-name-container">
<Card.Title className="item-name">
{name}
</Card.Title>
</div>
<div className="item-status-container">
{renderStatus(status)}
</div>
<div>
{renderPrice(price, newPrice, status)}
</div>
</Card.Body>
</Card>
);
</Card.Body>
</Card>
);
}
else {
return (<></>);
}
}
export default Item;

View File

@@ -18,7 +18,7 @@ const MorceauDetail = () => {
}
fetchData();
setIsLoading(false);
});
},[]);
function renderPrice(price, newPrice, status) {
if (price !== undefined) {

View File

@@ -6,11 +6,6 @@ import Sorting from "../components/Sorting"
const Morceaux = (startingProducts) => {
useEffect(() => {
document.title = 'Morceaux';
});
const [products, setProducts] = useState([]);
const [isLoading, setIsLoading] = useState(false);
@@ -18,6 +13,19 @@ const Morceaux = (startingProducts) => {
var filterPrice = "";
var filterState = "";
useEffect(() => {
document.title = 'Morceaux';
setIsLoading(true);
async function fetchData() {
const response = await fetch(`https://localhost:7292/api/Inventory`);
const json = await response.json();
if (json.length > 0)
setProducts([...json]);
}
fetchData();
setIsLoading(false);
},[]);
const handleNextItems = async () => {
var url;
@@ -29,9 +37,9 @@ const Morceaux = (startingProducts) => {
setIsLoading(true);
const response = await fetch(url);
const json = await response.json();
//TODO: regler bug qui permet d'avoir des duplicats (trouver une façon de skipper les duplicats)
if (json.length > 0)
if (json.length > 0)
setProducts([...products, ...json]);
setIsLoading(false);
@@ -57,7 +65,7 @@ const Morceaux = (startingProducts) => {
}
return (
<div className="morceaux"div>
<div className="morceaux">
<div className="sorting-container">
<Sorting onChange={handleOrder} />
</div>

View File

@@ -1,5 +1,5 @@
#root {
height: 100vh;
min-height: 100vh;
}
body {