create payment roadmap pr a

This commit is contained in:
2026-05-08 20:43:14 +07:00
parent ccb3437e82
commit d4db13778a
10 changed files with 823 additions and 51 deletions
+18 -14
View File
@@ -63,7 +63,8 @@ export function ReviewCard({ verification }: { verification: Verification }) {
{verification.user.name}
</h3>
<p className="text-xs text-neutral-500">
{verification.user.email} · diajukan {formatDate(verification.createdAt)}
{verification.user.email} · diajukan{" "}
{formatDate(verification.createdAt)}
</p>
</div>
<StatusPill status={verification.status} />
@@ -80,10 +81,7 @@ export function ReviewCard({ verification }: { verification: Verification }) {
label="Bank"
value={`${verification.bankName} · ${verification.bankAccountNumber}`}
/>
<Field
label="Pemilik Rekening"
value={verification.bankAccountName}
/>
<Field label="Pemilik Rekening" value={verification.bankAccountName} />
<Field label="Alamat" value={verification.address} fullWidth />
</div>
@@ -212,24 +210,30 @@ function ImagePreview({ label, src }: { label: string; src: string }) {
rel="noopener noreferrer"
className="block overflow-hidden rounded-xl border border-neutral-200 bg-neutral-100"
>
<div className="relative aspect-[4/3] w-full">
<div className="relative aspect-4/3 w-full">
{/* Secure endpoint sends Cache-Control: private,no-store. Use plain <img> to skip Next/Image optimizer. */}
{/* eslint-disable-next-line @next/next/no-img-element */}
<img
src={src}
alt={label}
className="h-full w-full object-cover"
/>
<img src={src} alt={label} className="h-full w-full object-cover" />
</div>
</a>
</div>
);
}
function StatusPill({ status }: { status: "PENDING" | "APPROVED" | "REJECTED" }) {
function StatusPill({
status,
}: {
status: "PENDING" | "APPROVED" | "REJECTED";
}) {
const cfg = {
PENDING: { label: "Pending", cls: "bg-amber-50 text-amber-700 ring-amber-200" },
APPROVED: { label: "Disetujui", cls: "bg-primary-50 text-primary-700 ring-primary-200" },
PENDING: {
label: "Pending",
cls: "bg-amber-50 text-amber-700 ring-amber-200",
},
APPROVED: {
label: "Disetujui",
cls: "bg-primary-50 text-primary-700 ring-primary-200",
},
REJECTED: { label: "Ditolak", cls: "bg-red-50 text-red-700 ring-red-200" },
}[status];
return (