restore scroll position after adding to cart

This commit is contained in:
2026-09-09 13:44:25 +02:00
parent 8729098f20
commit 6b358011b0
3 changed files with 25 additions and 2 deletions
@@ -100,7 +100,7 @@ export class StorefrontCartController {
text: 'Added to cart.'
});
res.redirect(HttpStatus.FOUND, safeInternalShopRedirectPath(req));
res.redirect(HttpStatus.FOUND, this.buildAddToCartRedirectPath(req, variantId));
}
@Post('shop/cart/product/update')
@@ -189,4 +189,18 @@ export class StorefrontCartController {
this.cartCookieService.setCart(req, res, cartMutation);
}
}
private buildAddToCartRedirectPath(req: Request, variantId: string): string {
const redirectPath = safeInternalShopRedirectPath(req);
const pathname = redirectPath.split('?')[0] ?? redirectPath;
const isProductsIndexPath = pathname === '/' || pathname.startsWith('/shop/categories/');
if (!isProductsIndexPath) {
return redirectPath;
}
const anchor = `product-card-${variantId}`;
return `${redirectPath}#${anchor}`;
}
}