From 25201674ae4a0622e1972dfe85639c2508b0824b Mon Sep 17 00:00:00 2001 From: Mirko Poloni Date: Tue, 19 May 2026 18:29:12 +0200 Subject: [PATCH 1/2] feat(settings): redesign organization settings page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove the separate "Create New Organization" card with its toggle button - Move the inline create form (input + submit) to the bottom of the "My Organizations" card, always visible — no extra click needed - Active org row gets a subtle background highlight instead of blue text - Row dividers render between all entries; active row uses my/py spacing to prevent the border from clipping its rounded background - Create form stacks vertically on mobile (flex-col), side-by-side on sm+ - Placeholder and label copy updated to say "organization" consistently Co-Authored-By: Claude Sonnet 4.6 --- .../src/app/settings/organization/page.tsx | 108 +++++++----------- 1 file changed, 39 insertions(+), 69 deletions(-) diff --git a/packages/frontend/src/app/settings/organization/page.tsx b/packages/frontend/src/app/settings/organization/page.tsx index c217258d..4cbe6ee5 100644 --- a/packages/frontend/src/app/settings/organization/page.tsx +++ b/packages/frontend/src/app/settings/organization/page.tsx @@ -14,7 +14,6 @@ export default function OrganizationSettingsPage() { const [message, setMessage] = useState(''); // Create new org - const [showCreateForm, setShowCreateForm] = useState(false); const [newOrgName, setNewOrgName] = useState(''); const [creating, setCreating] = useState(false); const [createMessage, setCreateMessage] = useState(''); @@ -82,7 +81,6 @@ export default function OrganizationSettingsPage() { const newOrg = await organizations.create(newOrgName.trim(), token); setCreateMessage('Organization created! Switching...'); setNewOrgName(''); - setShowCreateForm(false); await switchOrg(newOrg.id); } catch (err: any) { setCreateMessage(err.message || 'Failed to create organization'); @@ -163,64 +161,6 @@ export default function OrganizationSettingsPage() { )} - {/* Create new organization — available to ALL users */} -
-
-
-

Create New Organization

-

- Create a separate workspace with its own connectors, MCP servers, and team. You will be the admin. -

-
- {!showCreateForm && ( - - )} -
- - {showCreateForm && ( -
-
- - setNewOrgName(e.target.value)} - className="w-full px-3 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg text-sm focus:ring-2 focus:ring-[var(--brand)] focus:border-transparent outline-none" - placeholder="My New Workspace" - autoFocus - onKeyDown={(e) => { if (e.key === 'Enter') handleCreateOrg(); }} - /> -
-
- - -
-
- )} - - {createMessage && ( -

- {createMessage} -

- )} -
- {/* Danger Zone — ADMIN only */} {isAdmin && (
@@ -282,17 +222,21 @@ export default function OrganizationSettingsPage() { - {/* My organizations list — available to ALL users */} - {orgs && orgs.length > 1 && ( -
-

My Organizations

-
- {orgs.map((org) => { + {/* My organizations list + create new — available to ALL users */} +
+

My Organizations

+ {orgs && orgs.length > 0 && ( +
+ {orgs.map((org, index) => { const isActive = org.id === user?.organizationId; return ( -
+
+ {index > 0 && ( +
+ )} +
-

+

{org.name}

@@ -312,11 +256,37 @@ export default function OrganizationSettingsPage() { )}

+
); })}
+ )} +
+

Create New Organization

+
+ setNewOrgName(e.target.value)} + className="flex-1 px-3 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg text-sm focus:ring-2 focus:ring-[var(--brand)] focus:border-transparent outline-none" + placeholder="New organization name" + onKeyDown={(e) => { if (e.key === 'Enter') handleCreateOrg(); }} + /> + +
+ {createMessage && ( +

+ {createMessage} +

+ )}
- )} +
); } From ec21f264554ec3ee72fc8e13993da2d295a48973 Mon Sep 17 00:00:00 2001 From: Mirko Poloni Date: Tue, 19 May 2026 18:32:05 +0200 Subject: [PATCH 2/2] fix(settings): fix indentation and remove !important margin override Co-Authored-By: Claude Sonnet 4.6 --- .../src/app/settings/organization/page.tsx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/frontend/src/app/settings/organization/page.tsx b/packages/frontend/src/app/settings/organization/page.tsx index 4cbe6ee5..1f8bd799 100644 --- a/packages/frontend/src/app/settings/organization/page.tsx +++ b/packages/frontend/src/app/settings/organization/page.tsx @@ -223,10 +223,10 @@ export default function OrganizationSettingsPage() { {/* My organizations list + create new — available to ALL users */} -
+

My Organizations

{orgs && orgs.length > 0 && ( -
+
{orgs.map((org, index) => { const isActive = org.id === user?.organizationId; return ( @@ -234,34 +234,34 @@ export default function OrganizationSettingsPage() { {index > 0 && (
)} -
-
-

- {org.name} -

-

- {org.role} · Joined {new Date(org.joinedAt).toLocaleDateString()} -

+
+
+

+ {org.name} +

+

+ {org.role} · Joined {new Date(org.joinedAt).toLocaleDateString()} +

+
+ {isActive ? ( + + Active + + ) : ( + + )}
- {isActive ? ( - - Active - - ) : ( - - )} -
); })}
)} -
+

Create New Organization