diff --git a/src/app/tip/__tests__/tip-screen.helpers.test.ts b/src/app/tip/__tests__/tip-screen.helpers.test.ts
index a0a4bedb..250acb76 100644
--- a/src/app/tip/__tests__/tip-screen.helpers.test.ts
+++ b/src/app/tip/__tests__/tip-screen.helpers.test.ts
@@ -57,4 +57,36 @@ describe("tip screen helpers", () => {
),
).toEqual([TIP_GIFT_PLACEHOLDER_IMAGE]);
});
+
+ it.each([
+ ["coffee_small", "/images/tip/small.jpg"],
+ ["coffee_medium", "/images/tip/medium.png"],
+ ["coffee_large", "/images/tip/large.png"],
+ ])("uses the %s tier image as its local fallback", (tipType, expected) => {
+ const tierProduct = GiftProductSchema.parse({
+ ...product,
+ tipType,
+ imageUrl: null,
+ });
+ const categoryWithoutImage = GiftCategorySchema.parse({
+ ...category,
+ imageUrl: null,
+ });
+
+ expect(getGiftImageSources(tierProduct, categoryWithoutImage)).toEqual([
+ expected,
+ ]);
+ });
+
+ it("uses the generic placeholder for unknown gift types", () => {
+ const unknownProduct = GiftProductSchema.parse({
+ ...product,
+ tipType: "flowers",
+ imageUrl: null,
+ });
+
+ expect(getGiftImageSources(unknownProduct, null)).toEqual([
+ TIP_GIFT_PLACEHOLDER_IMAGE,
+ ]);
+ });
});
diff --git a/src/app/tip/tip-gift-product-selector.tsx b/src/app/tip/tip-gift-product-selector.tsx
index 07982328..e54fec0b 100644
--- a/src/app/tip/tip-gift-product-selector.tsx
+++ b/src/app/tip/tip-gift-product-selector.tsx
@@ -43,11 +43,6 @@ export function TipGiftProductSelector({
/>
{product.planName}
- {product.description ? (
-
- {product.description}
-
- ) : null}
diff --git a/src/app/tip/tip-screen.helpers.ts b/src/app/tip/tip-screen.helpers.ts
index 049db002..ad997b43 100644
--- a/src/app/tip/tip-screen.helpers.ts
+++ b/src/app/tip/tip-screen.helpers.ts
@@ -5,6 +5,12 @@ import type {
export const TIP_GIFT_PLACEHOLDER_IMAGE = "/images/tip/medium.png";
+const TIP_GIFT_PLACEHOLDER_BY_TIP_TYPE: Readonly
- {selectedProduct.description} -
- ) : null}