fix(release): 0.2.8 harden admin proxy, cart stock caps, selfpay and refund timeline
- admin proxy: 25s timeout, body guards, structured failure logs - cart: addItem enforces stock cap (409 INSUFFICIENT_STOCK), UI clamps qty - tpv selfpay: hide sidebar/discounts/save-pending, rename button, receipt-settings 400 fix - pos admin: quick products slot count aligned to 8 - returns: human-readable history message + metadata jsonb (migrations 064-065) + admin fallback formatter - storefront: product card white background - product page: remove duplicate stock label under add-to-cart button
This commit is contained in:
@@ -1659,14 +1659,16 @@ export default function RegisterPage() {
|
||||
))}
|
||||
</div>
|
||||
<div className="mt-3 grid grid-cols-2 gap-2">
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => void parkSale()}
|
||||
disabled={processing || cart.length === 0}
|
||||
className="min-h-16 rounded-xl bg-amber-500 text-lg font-bold text-white disabled:opacity-40"
|
||||
>
|
||||
{processing ? 'Guardando…' : 'Guardar pendiente'}
|
||||
</button>
|
||||
{!isSelfpayMode && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => void parkSale()}
|
||||
disabled={processing || cart.length === 0}
|
||||
className="min-h-16 rounded-xl bg-amber-500 text-lg font-bold text-white disabled:opacity-40"
|
||||
>
|
||||
{processing ? 'Guardando…' : 'Guardar pendiente'}
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => void confirmSale()}
|
||||
@@ -1677,7 +1679,9 @@ export default function RegisterPage() {
|
||||
paidCents <= 0 ||
|
||||
paidCents > totals.total
|
||||
}
|
||||
className="min-h-16 rounded-xl bg-[#1B4332] text-lg font-bold text-white disabled:opacity-40"
|
||||
className={`min-h-16 rounded-xl bg-[#1B4332] text-lg font-bold text-white disabled:opacity-40 ${
|
||||
isSelfpayMode ? 'col-span-2' : ''
|
||||
}`}
|
||||
>
|
||||
{processing ? 'Confirmando…' : 'Cobrar e imprimir'}
|
||||
</button>
|
||||
@@ -1688,7 +1692,7 @@ export default function RegisterPage() {
|
||||
disabled={processing || cart.length === 0}
|
||||
className="mt-2 w-full rounded-xl border border-gray-300 bg-white py-2 text-sm font-bold text-red-600 disabled:opacity-40"
|
||||
>
|
||||
Vaciar caja
|
||||
{isSelfpayMode ? '🧹 Limpiar Ticket' : 'Vaciar caja'}
|
||||
</button>
|
||||
</aside>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user