From 1dd58aa09256ce9b61c30058f8354c914a2074a1 Mon Sep 17 00:00:00 2001 From: 230417 <230417@epvc.pt> Date: Tue, 3 Mar 2026 15:29:20 +0000 Subject: [PATCH] =?UTF-8?q?atualiza=C3=A7=C3=A3o=20shopcard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/ShopCard.tsx | 84 ++++++++++++++++++++------------- 1 file changed, 52 insertions(+), 32 deletions(-) diff --git a/web/src/components/ShopCard.tsx b/web/src/components/ShopCard.tsx index 6d83670..fe6027c 100644 --- a/web/src/components/ShopCard.tsx +++ b/web/src/components/ShopCard.tsx @@ -4,43 +4,63 @@ import { BarberShop } from '../types'; import { Card } from './ui/card'; import { Button } from './ui/button'; -export const ShopCard = ({ shop }: { shop: BarberShop }) => ( - -
-
-
-
- +export const ShopCard = ({ shop }: { shop: BarberShop }) => { + // Distância simulada para o layout + const mockDistance = (Math.abs(shop.id.charCodeAt(0) * 11) % 900) + 100; + + return ( +
+
+ {/* Avatar Circular com Badge de Rating */} +
+
+ {shop.imageUrl ? ( + {shop.name} + ) : ( +
+ +
+ )} +
+ {/* Rating Badge - Posicionado em cima à direita como na imagem */} +
+ + + {shop.rating ? shop.rating.toFixed(1) : '0.0'} +
-

{shop.name}

-
- - - {shop.address} - - - - {(shop.rating || 0).toFixed(1)} - -
-
- {(shop.services || []).length} serviços - - {(shop.barbers || []).length} barbeiros + + {/* Informações da Barbearia */} +
+

+ {shop.name} +

+

+ {shop.address || 'Endereço Indisponível'} +

+ +
+ + + {mockDistance} m + +
+ + {/* Botões de Ação na base */} +
+ + +
-
- - -
- -); + ); +};