/** App lists keep inactive products; they are shown as unavailable via `isActive`. */ export function isProductUnavailableForApp(product: { isActive: boolean; stock?: number | null; }): boolean { if (!product.isActive) return true; return product.stock != null && product.stock <= 0; }