From a4601f118b3841aa279467cea29bc878046d581c Mon Sep 17 00:00:00 2001
From: Mahesh Sanikommu
Date: Sun, 24 May 2026 13:16:48 -0700
Subject: [PATCH] refactor(settings): align invite teammate modal with
select-space house style
- match modal surface to select-spaces-modal (bg-#1B1F24, border-none, rounded-[22px], circular close)
- replace role chips with the same Select used in member rows
- move invite trigger to a button beside the Team members title; drop the standalone card
- swap navy fills for the neutral bg-#14161A + shadow-inside-out primary style
---
apps/web/components/settings/account.tsx | 172 ++++++++++-------------
1 file changed, 75 insertions(+), 97 deletions(-)
diff --git a/apps/web/components/settings/account.tsx b/apps/web/components/settings/account.tsx
index a27b39a5..5ec84e59 100644
--- a/apps/web/components/settings/account.tsx
+++ b/apps/web/components/settings/account.tsx
@@ -26,12 +26,8 @@ import {
DropdownMenuItem,
DropdownMenuTrigger,
} from "@ui/components/dropdown-menu"
-import {
- Dialog,
- DialogContent,
- DialogHeader,
- DialogTitle,
-} from "@ui/components/dialog"
+import { Dialog, DialogContent, DialogTitle } from "@ui/components/dialog"
+import * as DialogPrimitive from "@radix-ui/react-dialog"
import { useCustomer } from "autumn-js/react"
import { useMutation, useQuery } from "@tanstack/react-query"
import {
@@ -590,59 +586,37 @@ export default function Account() {
their access.
- {(org?.members?.length ?? 0) > 0 && (
-
- {org?.members?.length}{" "}
- {org?.members?.length === 1 ? "member" : "members"}
-
- )}
+
+ {(org?.members?.length ?? 0) > 0 && (
+
+ {org?.members?.length}{" "}
+ {org?.members?.length === 1 ? "member" : "members"}
+
+ )}
+ {canManageTeam && (
+
+ )}
+
- {canManageTeam ? (
-
-
-
-
-
-
-
- Invite teammate
-
-
- Choose role and permission preset before sending.
-
-
-
-
-
- ) : (
+ {!canManageTeam && (
@@ -879,13 +853,16 @@ export default function Account() {
}
}}
>
-
-
-
+
+
+
Invite teammate
@@ -893,12 +870,21 @@ export default function Account() {
Send an invitation to join your organization.
-
+
+
+
+ Close
+
- {/* Role chips */}
+ {/* Role */}
Role
-
- {(["member", "admin"] as const).map((role) => {
- const selected = inviteRole === role
- return (
-
- )
- })}
-
+
{/* Access type (only for Member) */}
@@ -996,8 +974,8 @@ export default function Account() {
dmSans125ClassName(),
"flex items-center justify-center h-9 rounded-[10px] border text-[13px] font-medium transition-colors cursor-pointer",
selected
- ? "border-[#2261CA33] bg-[#00173C] text-white"
- : "border-[#161F2C] bg-[#0D121A] text-[#737373] hover:bg-[#00173C] hover:border-[#2261CA33]",
+ ? "border-white/10 bg-[#14161A] text-[#FAFAFA] shadow-inside-out"
+ : "border-[#161F2C] bg-[#0D121A] text-[#737373] hover:bg-[#14161A] hover:text-[#FAFAFA]",
)}
>
{type === "full" ? "Full Access" : "Restricted"}
@@ -1182,8 +1160,8 @@ export default function Account() {
dmSans125ClassName(),
"h-7 px-3 rounded-[8px] border text-[12px] font-medium transition-colors cursor-pointer capitalize",
active
- ? "border-[#2261CA33] bg-[#00173C] text-white"
- : "border-[#161F2C] bg-[#0D121A] text-[#737373] hover:bg-[#00173C] hover:border-[#2261CA33]",
+ ? "border-white/10 bg-[#14161A] text-[#FAFAFA] shadow-inside-out"
+ : "border-[#161F2C] bg-[#0D121A] text-[#737373] hover:bg-[#14161A] hover:text-[#FAFAFA]",
)}
>
{perm}
@@ -1210,13 +1188,13 @@ export default function Account() {
)}
-
+