import { useEffect } from 'react';
import { useParams } from 'react-router-dom';
import { Page, Block, Spinner } from '@cap-rel/smartcommon';
import { useApi, useStates } from '@cap-rel/smartcommon';
export const ProductDetailPage = () => {
const { id } = useParams();
const api = useApi();
const st = useStates({
initialStates: {
product: null,
loading: true,
error: null,
isEditing: false
}
});
useEffect(() => {
loadProduct();
}, [id]);
const loadProduct = async () => {
st.set('loading', true);
st.set('error', null);
try {
const data = await api.private.get(`products/${id}`).json();
st.set('product', data);
} catch (err) {
st.set('error', err.message);
} finally {
st.set('loading', false);
}
};
if (st.get('loading')) {
return ;
}
if (st.get('error')) {
return Erreur : {st.get('error')};
}
const product = st.get('product');
return (
Prix : {product.price} €
Stock : {product.stock}
);
};