Add the low-stock hint to TodoKartenHero.tsx too
Missed in the earlier pass — /todo-cards has two independent purchase CTAs (the hero at the top and the Pricing panel further down), and only Pricing.tsx got the low-stock text line. The hero had no low-stock logic at all before this. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -395,8 +395,10 @@ exposed in the public `Product` type, only this derived boolean — the
|
||||
public API has no reason to leak exact counts. Shown as a "Nur noch wenige
|
||||
verfügbar" **text line** (`text-warning`, the same `--color-warning` token
|
||||
in `globals.css`, distinct from the brand-colored discount badge) next to
|
||||
the price on `ProductGrid.tsx`/`ProductSpotlight.tsx`/
|
||||
`RelatedProducts.tsx`/todo-cards' `Pricing.tsx` and — variant-specific, not
|
||||
the price on `ProductGrid.tsx`/`ProductSpotlight.tsx`/`RelatedProducts.tsx`/
|
||||
todo-cards' `TodoKartenHero.tsx` and `Pricing.tsx` (both — the page has two
|
||||
independent purchase CTAs, hero and pricing panel, each with their own
|
||||
price/delivery block) and — variant-specific, not
|
||||
"any variant low" — under the product name in `CartContent.tsx`'s own
|
||||
cart line items, plus the existing `"(nur noch wenige)"` variant-select
|
||||
suffix in `AddToCartButton`/`AddToCartInlineButton`. The image-overlaid
|
||||
|
||||
@@ -26,6 +26,8 @@ export async function TodoKartenHero() {
|
||||
]);
|
||||
const discount = product ? discountPercent(product.price, product.compareAtPrice) : null;
|
||||
const taxRate = product ? effectiveTaxRate(product, defaultTaxRate) : null;
|
||||
// Same "any vs. every" split as ProductGrid.tsx/Pricing.tsx.
|
||||
const anyLowStock = product ? (product.variants.length > 0 ? product.variants.some((v) => v.lowStock) : product.lowStock) : false;
|
||||
|
||||
return (
|
||||
<section className="bg-bg-base w-full overflow-hidden">
|
||||
@@ -111,6 +113,9 @@ export async function TodoKartenHero() {
|
||||
<p className="text-label text-text-muted">
|
||||
Lieferzeit: {shipping.totalDays.min}–{shipping.totalDays.max} Werktage innerhalb Deutschlands
|
||||
</p>
|
||||
{/* Single product, no grid siblings to stay equal-height with —
|
||||
plain conditional line, same reasoning as ProductSpotlight.tsx/Pricing.tsx. */}
|
||||
{anyLowStock && <p className="text-label font-bold text-warning">Nur noch wenige verfügbar</p>}
|
||||
</div>
|
||||
|
||||
{product && (
|
||||
|
||||
Reference in New Issue
Block a user