diff --git a/src/components/CampaignContentCard.tsx b/src/components/CampaignContentCard.tsx index f39af49d..30a1628f 100644 --- a/src/components/CampaignContentCard.tsx +++ b/src/components/CampaignContentCard.tsx @@ -59,7 +59,7 @@ export const CampaignContentCard = ({ card, variant = 'compact' }: CampaignConte ) : null}

{card.meta}

-

+

{card.title}

{card.subtitle ? ( @@ -74,7 +74,7 @@ export const CampaignContentCard = ({ card, variant = 'compact' }: CampaignConte ) : ( <>

{card.meta}

-

+

{card.title}

@@ -84,7 +84,7 @@ export const CampaignContentCard = ({ card, variant = 'compact' }: CampaignConte ) return ( -

+
{card.external ? ( { {featured ? (
-
+
-
+
{rest.map((card) => (
diff --git a/tests/e2e/frontend.e2e.spec.ts b/tests/e2e/frontend.e2e.spec.ts index ebf23983..25096c6d 100644 --- a/tests/e2e/frontend.e2e.spec.ts +++ b/tests/e2e/frontend.e2e.spec.ts @@ -666,7 +666,11 @@ test.describe('Campaign home content section', () => { // Long captions are clamped with an ellipsis so a single post cannot // stretch the bento row (production captions run into hundreds of - // characters; the stub's reel caption is deliberately long). + // characters; the stub's reel caption is deliberately long). The + // featured title must clamp too — it is the lead of the board and the + // one that renders at the largest type size. + await expect(featured.locator('h3')).toHaveCSS('-webkit-line-clamp', '3') + await expect(featured.locator('h3')).toHaveCSS('overflow', 'hidden') const longCaptionTitle = section .getByRole('link', { name: /E2e Reel da caravana/ }) .locator('h3')