Files
guilan-ace-frontend/src/components/PaymentResult.tsx
Amirhossein Khalili dacbd3a328
Some checks failed
Frontend CI/CD / build (push) Has been cancelled
Frontend CI/CD / deploy (push) Has been cancelled
initial commit
2026-05-19 20:58:15 +03:30

49 lines
1.3 KiB
TypeScript

import * as React from "react";
type PaymentResultProps = {
title: string;
subtitle?: string;
details?: Array<{ label: string; value: React.ReactNode }>;
className?: string;
};
export default function PaymentResult({
title,
subtitle,
details,
className,
}: PaymentResultProps) {
return (
<div
className={[
"mx-auto max-w-xl rounded-2xl border border-border bg-card text-card-foreground shadow-sm",
"transition-colors",
className,
].join(" ")}
>
<div className="p-6">
<h1 className="text-2xl font-semibold leading-tight">{title}</h1>
{subtitle && (
<p className="mt-2 text-sm text-muted-foreground">{subtitle}</p>
)}
{details?.length ? (
<ul className="mt-6 divide-y divide-border/60">
{details.map((d, i) => (
<li
key={i}
className="flex items-start justify-between gap-4 py-3"
>
<span className="text-sm text-muted-foreground">{d.label}</span>
<span className="font-medium text-right text-foreground break-words">
{d.value}
</span>
</li>
))}
</ul>
) : null}
</div>
</div>
);
}