diff --git a/components/escrow/ContributeForm.tsx b/components/escrow/ContributeForm.tsx index 6d6c9b6b..0479f8cf 100644 --- a/components/escrow/ContributeForm.tsx +++ b/components/escrow/ContributeForm.tsx @@ -117,10 +117,15 @@ export default function ContributeForm({ type="number" value={amount} onChange={(e) => setAmount(e.target.value)} + aria-invalid={!isValid && parseFloat(amount) > 0} + aria-describedby={[ + !isValid && parseFloat(amount) > 0 ? "amount-error" : undefined, + "amount-helper" + ].filter(Boolean).join(" ") || undefined} className="w-full rounded-2xl border border-white/10 bg-white/5 px-4 py-4 pr-12 text-lg font-bold text-dark-100 focus:border-brand-400 focus:outline-none transition-all group-hover:bg-white/[0.08]" placeholder="0.00" /> -
+
XLM
@@ -138,7 +143,7 @@ export default function ContributeForm({ {!isValid && parseFloat(amount) > 0 && ( -
+ diff --git a/components/escrow/CreateEscrowForm.tsx b/components/escrow/CreateEscrowForm.tsx index c2e1a602..f807f85d 100644 --- a/components/escrow/CreateEscrowForm.tsx +++ b/components/escrow/CreateEscrowForm.tsx @@ -496,12 +496,12 @@ export default function CreateEscrowForm({ setDraft((current) => ({ ...current, deadlineDate: event.target.value })); if (event.target.value) clearFieldError("deadlineDate"); }} - aria-describedby={fieldErrors.deadlineDate ? "deadline-date-error" : undefined} + aria-describedby={[fieldErrors.deadlineDate ? "deadline-date-error" : undefined, "deadline-helper"].filter(Boolean).join(" ") || undefined} aria-invalid={!!fieldErrors.deadlineDate} className={`w-full rounded-xl border bg-white/5 px-4 py-3 text-dark-100 focus:outline-none transition-colors ${fieldBorderClass(fieldErrors.deadlineDate, !!draft.deadlineDate)}`} /> -

+

Ledger timestamp: {deadlineLedgerTimestamp ?? "-"}

diff --git a/components/escrow/RoommateInput.tsx b/components/escrow/RoommateInput.tsx index b289ce60..a796e35f 100644 --- a/components/escrow/RoommateInput.tsx +++ b/components/escrow/RoommateInput.tsx @@ -89,7 +89,7 @@ export default function RoommateInput({ Share Amount {percentage !== null && ( - ({percentage}%) + ({percentage}%) )} 0) onClearError?.(roommate.id, "shareAmount"); }} placeholder="0" - aria-describedby={errors.shareAmount ? shareErrorId : undefined} + aria-describedby={[ + errors.shareAmount ? shareErrorId : undefined, + percentage !== null ? `roommate-share-helper-${roommate.id}` : undefined + ].filter(Boolean).join(" ") || undefined} aria-invalid={!!errors.shareAmount} className={`w-full rounded-xl border bg-white/5 px-3 py-2 text-sm text-dark-100 placeholder:text-dark-600 focus:outline-none transition-colors ${fieldBorderClass(errors.shareAmount, !!roommate.shareAmount && Number(roommate.shareAmount) > 0)}`} />