fix: Improve payment gateway display and modal z-index
✅ Payments Page Fixes: - Use method_title instead of title for unique gateway names - Manual: Shows 'Direct bank transfer' instead of empty - 3rd Party: Shows 'TriPay - BNI VA' instead of 'Pembayaran TriPay' - Use method_description for 3rd party gateways - Rename 'Other Payment Methods' → '3rd Party Payment Methods' - Better description: 'Additional payment gateways from plugins' ✅ Modal Z-Index Fix: - Increased dialog overlay z-index: z-50 → z-[9999] - Increased dialog content z-index: z-50 → z-[9999] - Ensures modals appear above fullscreen mode elements 🎯 Result: - No more duplicate 'Pembayaran TriPay' × 5 - Each gateway shows unique name from WooCommerce - Modals work properly in fullscreen mode Addresses user feedback from screenshots 1-4
This commit is contained in:
@@ -19,7 +19,7 @@ const DialogOverlay = React.forwardRef<
|
|||||||
<DialogPrimitive.Overlay
|
<DialogPrimitive.Overlay
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className={cn(
|
className={cn(
|
||||||
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
"fixed inset-0 z-[9999] bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
@@ -36,7 +36,7 @@ const DialogContent = React.forwardRef<
|
|||||||
<DialogPrimitive.Content
|
<DialogPrimitive.Content
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className={cn(
|
className={cn(
|
||||||
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
"fixed left-[50%] top-[50%] z-[9999] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ export default function PaymentsPage() {
|
|||||||
<Banknote className="h-5 w-5 text-muted-foreground" />
|
<Banknote className="h-5 w-5 text-muted-foreground" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 className="font-medium">{gateway.title}</h3>
|
<h3 className="font-medium">{gateway.method_title || gateway.title}</h3>
|
||||||
{gateway.description && (
|
{gateway.description && (
|
||||||
<p className="text-sm text-muted-foreground mt-1">
|
<p className="text-sm text-muted-foreground mt-1">
|
||||||
{gateway.description}
|
{gateway.description}
|
||||||
@@ -230,7 +230,7 @@ export default function PaymentsPage() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="flex-1">
|
<div className="flex-1">
|
||||||
<div className="flex items-center gap-2 mb-1">
|
<div className="flex items-center gap-2 mb-1">
|
||||||
<h3 className="font-semibold">{gateway.title}</h3>
|
<h3 className="font-semibold">{gateway.method_title || gateway.title}</h3>
|
||||||
{gateway.enabled ? (
|
{gateway.enabled ? (
|
||||||
<Badge variant="default" className="bg-green-500">
|
<Badge variant="default" className="bg-green-500">
|
||||||
● Enabled
|
● Enabled
|
||||||
@@ -276,11 +276,11 @@ export default function PaymentsPage() {
|
|||||||
)}
|
)}
|
||||||
</SettingsCard>
|
</SettingsCard>
|
||||||
|
|
||||||
{/* Other Gateways */}
|
{/* 3rd Party Gateways */}
|
||||||
{otherGateways.length > 0 && (
|
{otherGateways.length > 0 && (
|
||||||
<SettingsCard
|
<SettingsCard
|
||||||
title="Other Payment Methods"
|
title="3rd Party Payment Methods"
|
||||||
description="Additional payment gateways"
|
description="Additional payment gateways from plugins"
|
||||||
>
|
>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
{otherGateways.map((gateway: PaymentGateway) => (
|
{otherGateways.map((gateway: PaymentGateway) => (
|
||||||
@@ -294,10 +294,10 @@ export default function PaymentsPage() {
|
|||||||
<CreditCard className="h-5 w-5 text-muted-foreground" />
|
<CreditCard className="h-5 w-5 text-muted-foreground" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 className="font-medium">{gateway.title}</h3>
|
<h3 className="font-medium">{gateway.method_title || gateway.title}</h3>
|
||||||
{gateway.description && (
|
{gateway.method_description && (
|
||||||
<p className="text-sm text-muted-foreground mt-1">
|
<p className="text-sm text-muted-foreground mt-1">
|
||||||
{gateway.description}
|
{gateway.method_description}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user