+
{member.mfa_enabled ? (
-
+ <>
+ Enabled
+
+ >
) : (
-
+ <>
+ Disabled
+
+ >
)}
@@ -130,18 +134,18 @@ export const MemberRow = ({ member }: MemberRowProps) => {
return (
-
{roleName}
+
{roleName}
{hasProjectScopedRoles && (
<>
-
•
+
{projectsApplied.length === 1 ? (
-
+
{projectsApplied[0]}
) : (
-
+
{role?.projects.length === 0
? 'Organization'
: `${projectsApplied.length} project${projectsApplied.length > 1 ? 's' : ''}`}
diff --git a/apps/studio/components/interfaces/Organization/TeamSettings/MembersView.tsx b/apps/studio/components/interfaces/Organization/TeamSettings/MembersView.tsx
index 97042788b4c..3ccf0d018b0 100644
--- a/apps/studio/components/interfaces/Organization/TeamSettings/MembersView.tsx
+++ b/apps/studio/components/interfaces/Organization/TeamSettings/MembersView.tsx
@@ -15,6 +15,7 @@ import {
Table,
TableBody,
TableCell,
+ TableFooter,
TableHead,
TableHeader,
TableRow,
@@ -62,6 +63,7 @@ const MembersView = ({ searchString }: MembersViewProps) => {
member.username.includes(searchString) || member.primary_email?.includes(searchString)
)
}
+ return false
})
}, [members, searchString])
@@ -102,30 +104,9 @@ const MembersView = ({ searchString }: MembersViewProps) => {
- User
-
-
- Enabled MFA
-
-
- Role
-
-
-
-
-
- How to configure access control?
-
-
-
+ Member
+ MFA
+ Role
@@ -138,9 +119,9 @@ const MembersView = ({ searchString }: MembersViewProps) => {
,
@@ -157,23 +138,24 @@ const MembersView = ({ searchString }: MembersViewProps) => {
- No users matched the search query "{searchString}"
+ No members matched the search query "{searchString}"
,
]
: []),
-
-
-
- {searchString ? `${filteredMembers.length} of ` : ''}
- {members.length || '0'} {members.length == 1 ? 'user' : 'users'}
-
-
- ,
]}
+
+
+
+ {searchString
+ ? `${filteredMembers.length} of ${members.length} ${members.length === 1 ? 'member' : 'members'}`
+ : `${members.length || 0} ${members.length === 1 ? 'member' : 'members'}`}
+
+
+
diff --git a/packages/ui/src/components/ExpandingTextArea/index.tsx b/packages/ui/src/components/ExpandingTextArea/index.tsx
index 03abc44338d..48b8755dd1f 100644
--- a/packages/ui/src/components/ExpandingTextArea/index.tsx
+++ b/packages/ui/src/components/ExpandingTextArea/index.tsx
@@ -1,6 +1,6 @@
'use client'
-import React, { forwardRef, useImperativeHandle, useRef } from 'react'
+import React, { forwardRef, useImperativeHandle, useLayoutEffect, useRef } from 'react'
import { cn } from '../../lib/utils'
import { TextArea } from '../shadcn/ui/text-area'
@@ -22,16 +22,17 @@ const ExpandingTextArea = forwardRef {
if (!element) return
- // Update the height
- if (!value) {
- element.style.height = 'auto'
- element.style.minHeight = '36px'
- } else {
- element.style.height = 'auto'
- element.style.height = element.scrollHeight + 'px'
- }
+ // Match single-line input height (h-10 = 40px) so we don't shrink when typing; grow only when content wraps
+ const singleLineHeightPx = 40
+ element.style.height = 'auto'
+ const contentHeight = element.scrollHeight
+ element.style.height = Math.max(singleLineHeightPx, contentHeight) + 'px'
}
+ useLayoutEffect(() => {
+ updateTextAreaHeight(internalRef.current)
+ }, [value])
+
return (