Skip to content

Commit bdb956e

Browse files
authored
Show tooltip for deleting a credit card that is currently active (supabase#31242)
1 parent 3cc3f1b commit bdb956e

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

apps/studio/components/interfaces/Organization/BillingSettings/PaymentMethods/CreditCard.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { MoreHorizontal } from 'lucide-react'
22

3+
import { DropdownMenuItemTooltip } from 'components/ui/DropdownMenuItemTooltip'
34
import { OrganizationPaymentMethod } from 'data/organizations/organization-payment-methods-query'
45
import { BASE_PATH } from 'lib/constants'
56
import {
@@ -62,7 +63,7 @@ const CreditCard = ({
6263
{isExpired && <Badge variant="destructive">Expired</Badge>}
6364
{isActive && <Badge variant="brand">Active</Badge>}
6465

65-
{canUpdatePaymentMethods && !isActive && (
66+
{canUpdatePaymentMethods && (
6667
<DropdownMenu>
6768
<DropdownMenuTrigger asChild>
6869
<Button
@@ -72,8 +73,8 @@ const CreditCard = ({
7273
aria-label="More options"
7374
/>
7475
</DropdownMenuTrigger>
75-
<DropdownMenuContent align="end">
76-
{paymentMethodType === 'card' && (
76+
<DropdownMenuContent align="end" className="w-36">
77+
{paymentMethodType === 'card' && !isActive && (
7778
<>
7879
<DropdownMenuItem
7980
key="make-default"
@@ -84,12 +85,20 @@ const CreditCard = ({
8485
<DropdownMenuSeparator />
8586
</>
8687
)}
87-
<DropdownMenuItem
88+
<DropdownMenuItemTooltip
8889
key="delete-method"
90+
disabled={isActive}
91+
className="!pointer-events-auto"
8992
onClick={() => setSelectedMethodToDelete?.(paymentMethod)}
93+
tooltip={{
94+
content: {
95+
side: 'left',
96+
text: isActive ? 'Unable to delete a card that is currently active' : undefined,
97+
},
98+
}}
9099
>
91100
<p>Delete card</p>
92-
</DropdownMenuItem>
101+
</DropdownMenuItemTooltip>
93102
</DropdownMenuContent>
94103
</DropdownMenu>
95104
)}

apps/studio/components/layouts/Scaffold.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useAppStateSnapshot } from 'state/app-state'
33
import { cn } from 'ui'
44

55
export const MAX_WIDTH_CLASSES = 'mx-auto w-full max-w-[1200px]'
6-
export const PADDING_CLASSES = 'px-4 md:px-6 lg:px-14 xl:px-24 2xl:px-32'
6+
export const PADDING_CLASSES = 'px-4 md:px-6 lg:px-14 xl:px-24 2xl:px-28'
77
export const MAX_WIDTH_CLASSES_COLUMN = 'min-w-[420px]'
88

99
const ScaffoldHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(

0 commit comments

Comments
 (0)