From c7ea006a4df1ee59db70dff3b7b9fe4d202331e8 Mon Sep 17 00:00:00 2001
From: Steven Palmesano <3100993+spalmesano0@users.noreply.github.com>
Date: Wed, 1 Jul 2026 15:04:12 -0500
Subject: [PATCH] Rename "Create" buttons and links to "Add" across the Fleet
UI (#48284)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
**Related issue:** Resolves #48177
# Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
## Testing
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
## Summary by CodeRabbit
* **Style**
* Standardized action wording across the UI from “Create” to “Add” for
fleets, packs, users, and reports.
* Updated related labels in command palette items, empty states,
buttons, links, and modal titles to match the new terminology.
* **Tests**
* Updated UI tests to assert the revised button and link text in
affected fleet, host, and report flows.
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---
changes/48177-rename-create-buttons-to-add | 1 +
frontend/components/CommandPalette/groups/commands.ts | 8 ++++----
frontend/components/CommandPalette/groups/derivations.ts | 2 +-
frontend/components/CommandPalette/groups/pages.ts | 2 +-
frontend/components/CommandPalette/helpers.tests.ts | 2 +-
.../pages/admin/ManageFleetsPage/ManageFleetsPage.tsx | 8 ++++----
.../TeamDetailsWrapper/UsersPage/UsersPage.tsx | 4 ++--
.../UsersPage/components/AddUsersModal/AddUsersModal.tsx | 2 +-
.../UsersPage/components/EmptyUsersTable.tsx | 2 +-
.../components/CreateFleetModal/CreateFleetModal.tsx | 2 +-
.../ManageUsersPage/components/UserForm/UserForm.tsx | 2 +-
.../TransferHostModal/TransferHostModal.tests.tsx | 8 ++++----
.../components/TransferHostModal/TransferHostModal.tsx | 2 +-
.../modals/SelectReportModal/SelectReportModal.tests.tsx | 8 ++++----
.../modals/SelectReportModal/SelectReportModal.tsx | 2 +-
frontend/pages/packs/ManagePacksPage/ManagePacksPage.tsx | 2 +-
.../ManagePacksPage/components/PacksTable/PacksTable.tsx | 2 +-
17 files changed, 30 insertions(+), 29 deletions(-)
create mode 100644 changes/48177-rename-create-buttons-to-add
diff --git a/changes/48177-rename-create-buttons-to-add b/changes/48177-rename-create-buttons-to-add
new file mode 100644
index 0000000000..714ab865f4
--- /dev/null
+++ b/changes/48177-rename-create-buttons-to-add
@@ -0,0 +1 @@
+- Renamed "Create" buttons and links to "Add" across the Fleet UI for consistency.
diff --git a/frontend/components/CommandPalette/groups/commands.ts b/frontend/components/CommandPalette/groups/commands.ts
index 5f6840f34e..e1cf1a5c32 100644
--- a/frontend/components/CommandPalette/groups/commands.ts
+++ b/frontend/components/CommandPalette/groups/commands.ts
@@ -34,14 +34,14 @@ const buildCommandsItems = (
} = derived;
return [
- // Create new pack — companion to the "Packs" page in pages.ts. Shares
+ // Add new pack — companion to the "Packs" page in pages.ts. Shares
// the same search-regex condition. Kept here so the Commands group
// stays self-contained.
...(/packs|create new pack|add new pack/.test(search.toLowerCase())
? [
{
id: "new-pack",
- label: "Create new pack",
+ label: "Add new pack",
group: "Commands" as const,
path: paths.NEW_PACK,
keywords: ["packs", "add new pack", "create new pack"],
@@ -470,14 +470,14 @@ const buildCommandsItems = (
"create user",
],
},
- // Create fleet — Premium-only, hidden in Primo Mode, and
+ // Add fleet — Premium-only, hidden in Primo Mode, and
// hidden in GitOps Mode (ManageFleetsPage disables the
// primary action in all three states).
...(isPremiumTier && !isPrimoMode && !isGitOpsMode
? [
{
id: "create-fleet",
- label: "Create fleet",
+ label: "Add fleet",
group: "Commands" as const,
path: `${paths.ADMIN_FLEETS}?create_fleet=1`,
keywords: [
diff --git a/frontend/components/CommandPalette/groups/derivations.ts b/frontend/components/CommandPalette/groups/derivations.ts
index 0c4cd8e22e..7e0d5a898e 100644
--- a/frontend/components/CommandPalette/groups/derivations.ts
+++ b/frontend/components/CommandPalette/groups/derivations.ts
@@ -42,7 +42,7 @@ export const deriveContext = (ctx: ICommandPaletteContext): IDerivedContext => {
const isAbmConfigured = config?.mdm?.apple_bm_enabled_and_configured ?? false;
// GitOps mode disables write actions in the UI; mirrors the predicate
- // ManageFleetsPage uses to disable its Create fleet button.
+ // ManageFleetsPage uses to disable its Add fleet button.
const isGitOpsMode = !!(
config?.gitops?.gitops_mode_enabled && config?.gitops?.repository_url
);
diff --git a/frontend/components/CommandPalette/groups/pages.ts b/frontend/components/CommandPalette/groups/pages.ts
index 2f736479d4..0e5aa25a2b 100644
--- a/frontend/components/CommandPalette/groups/pages.ts
+++ b/frontend/components/CommandPalette/groups/pages.ts
@@ -159,7 +159,7 @@ const buildPagesItems = (
},
// Packs page — only visible when searching for "packs" or similar.
- // The companion "Create new pack" item lives in commands.ts.
+ // The companion "Add new pack" item lives in commands.ts.
...(/packs|create new pack|add new pack/.test(search.toLowerCase())
? [
{
diff --git a/frontend/components/CommandPalette/helpers.tests.ts b/frontend/components/CommandPalette/helpers.tests.ts
index 0369e379fa..862a413046 100644
--- a/frontend/components/CommandPalette/helpers.tests.ts
+++ b/frontend/components/CommandPalette/helpers.tests.ts
@@ -591,7 +591,7 @@ describe("CommandPalette helpers", () => {
expect(items.map((i) => i.id)).toContain("manage-report-automations");
});
- it("shows Create fleet only for admins", () => {
+ it("shows Add fleet only for admins", () => {
const adminItems = buildPaletteItems(BASE_CONTEXT);
expect(adminItems.map((i) => i.id)).toContain("create-fleet");
diff --git a/frontend/pages/admin/ManageFleetsPage/ManageFleetsPage.tsx b/frontend/pages/admin/ManageFleetsPage/ManageFleetsPage.tsx
index 2353af7e75..1a12849327 100644
--- a/frontend/pages/admin/ManageFleetsPage/ManageFleetsPage.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/ManageFleetsPage.tsx
@@ -64,7 +64,7 @@ const ManageFleetsPage = ({
const [isUpdatingFleets, setIsUpdatingFleets] = useState(false);
const [showCreateFleetModal, setShowCreateFleetModal] = useState(false);
- // Mirror the gate used by the in-page "Create fleet" button:
+ // Mirror the gate used by the in-page "Add fleet" button:
// Primo mode and GitOps mode both disable creation.
const isCreateFleetDisabled =
!!config?.partnerships?.enable_primo ||
@@ -344,7 +344,7 @@ const ManageFleetsPage = ({
defaultSortDirection="asc"
actionButton={{
name: "create fleet",
- buttonText: "Create fleet",
+ buttonText: "Add fleet",
variant: "default",
onClick: toggleCreateFleetModal,
hideButton: false,
@@ -358,7 +358,7 @@ const ManageFleetsPage = ({
onClick={toggleCreateFleetModal}
className={`${noFleetsClass}__create-button`}
>
- Create fleet
+ Add fleet
);
const primaryButton = disabledPrimaryActionTooltip ? (
@@ -377,7 +377,7 @@ const ManageFleetsPage = ({
return (
User not here?