diff --git a/marketplace/src/components/GroupedProductCard.tsx b/marketplace/src/components/GroupedProductCard.tsx new file mode 100644 index 0000000..bb66c5f --- /dev/null +++ b/marketplace/src/components/GroupedProductCard.tsx @@ -0,0 +1,67 @@ +import { GroupedProduct, ProductWithDistance } from '../types/product' +import { formatCents } from '../utils/format' + +interface GroupedProductCardProps { + group: GroupedProduct + onClick: () => void +} + +export const GroupedProductCard = ({ group, onClick }: GroupedProductCardProps) => { + const nearestOffer = group.offers.reduce((a, b) => a.distance_km < b.distance_km ? a : b) + const soonestExpiry = group.offers.reduce((a, b) => + new Date(a.expires_at).getTime() < new Date(b.expires_at).getTime() ? a : b + ) + const isExpiringSoon = new Date(soonestExpiry.expires_at).getTime() - Date.now() < 30 * 24 * 60 * 60 * 1000 + + return ( +
{group.description}
+A partir de
+{group.description}
+- Clique no mapa para ajustar sua localização. -
-+ Clique no mapa para ajustar sua localização. +
Nenhum produto encontrado nesta região.
-Tente aumentar o raio de busca ou mudar a localização.
++ Excluir produtos que vencem antes de {minExpiryDays} dias +
+Nenhum produto encontrado nesta região.
+Tente aumentar o raio de busca ou mudar a localização.
+