diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/TeamSettings.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/TeamSettings.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/TeamSettings.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/TeamSettings.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tests.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tests.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tests.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tests.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/HistoricalDataTeamControls.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/HistoricalDataTeamControls/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tests.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tests.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tests.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tests.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/TeamHostExpiryToggle.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/components/TeamHostExpiryToggle/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx
similarity index 98%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx
index 60c1e13f35..6f2d237109 100644
--- a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPage.tsx
@@ -19,13 +19,13 @@ import Spinner from "components/Spinner";
import PageDescription from "components/PageDescription";
import CustomLink from "components/CustomLink";
import TableCount from "components/TableContainer/TableCount";
-import AddUserModal from "pages/admin/UserManagementPage/components/AddUserModal";
-import EditUserModal from "../../../UserManagementPage/components/EditUserModal";
+import AddUserModal from "pages/admin/ManageUsersPage/components/AddUserModal";
+import EditUserModal from "../../../ManageUsersPage/components/EditUserModal";
import {
IUserFormData,
NewUserType,
-} from "../../../UserManagementPage/components/UserForm/UserForm";
-import userManagementHelpers from "../../../UserManagementPage/helpers";
+} from "../../../ManageUsersPage/components/UserForm/UserForm";
+import userManagementHelpers from "../../../ManageUsersPage/helpers";
import EmptyMembersTable from "./components/EmptyUsersTable";
import AddUsersModal from "./components/AddUsersModal/AddUsersModal";
import RemoveUserModal from "./components/RemoveUserModal/RemoveUserModal";
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPageTableConfig.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPageTableConfig.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPageTableConfig.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPageTableConfig.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
similarity index 94%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
index 5c79a551e5..4ca38cf3d7 100644
--- a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
@@ -4,7 +4,7 @@ import { INewTeamUser, INewTeamUsersBody, ITeam } from "interfaces/team";
import endpoints from "utilities/endpoints";
import Modal from "components/Modal";
import Button from "components/buttons/Button";
-import AutocompleteDropdown from "pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown";
+import AutocompleteDropdown from "pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown";
import { IDropdownOption } from "interfaces/dropdownOption";
const baseClass = "add-user-modal";
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/AutocompleteDropdown.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/AutocompleteDropdown.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/AutocompleteDropdown.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/AutocompleteDropdown.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/AutocompleteDropdown/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/EmptyUsersTable.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/EmptyUsersTable.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/EmptyUsersTable.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/EmptyUsersTable.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/RemoveUserModal.tsx b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/RemoveUserModal.tsx
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/RemoveUserModal.tsx
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/RemoveUserModal.tsx
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/components/RemoveUserModal/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/_styles.scss b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/_styles.scss
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/_styles.scss
diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/index.ts b/frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/index.ts
similarity index 100%
rename from frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/index.ts
rename to frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/index.ts
diff --git a/frontend/pages/admin/TeamManagementPage/_styles.scss b/frontend/pages/admin/ManageFleetsPage/_styles.scss
similarity index 92%
rename from frontend/pages/admin/TeamManagementPage/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/_styles.scss
index 7ddf9f9c88..c5b418ae4a 100644
--- a/frontend/pages/admin/TeamManagementPage/_styles.scss
+++ b/frontend/pages/admin/ManageFleetsPage/_styles.scss
@@ -1,4 +1,6 @@
-.team-management {
+.manage-fleets {
+ @include vertical-page-layout;
+
.data-table-block {
.data-table__table {
thead {
@@ -35,7 +37,7 @@
}
.actions__cell {
- .team-actions-wrapper {
+ .fleet-actions-wrapper {
display: flex;
align-items: center;
}
diff --git a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tests.tsx b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tests.tsx
similarity index 85%
rename from frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tests.tsx
rename to frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tests.tsx
index 87b6ee0dfc..e61a1fb986 100644
--- a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tests.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tests.tsx
@@ -3,14 +3,14 @@ import { screen, waitFor } from "@testing-library/react";
import { createCustomRenderer } from "test/test-utils";
import userEvent from "@testing-library/user-event";
-import CreateTeamModal from "./CreateTeamModal";
+import CreateFleetModal from "./CreateFleetModal";
-describe("CreateTeamModal", () => {
+describe("CreateFleetModal", () => {
const defaultProps = {
onCancel: jest.fn(),
onSubmit: jest.fn(),
backendValidators: {},
- isUpdatingTeams: false,
+ isUpdatingFleets: false,
};
const render = createCustomRenderer();
@@ -20,14 +20,14 @@ describe("CreateTeamModal", () => {
});
it("renders the modal with the create button disabled initially", () => {
- render(
);
+ render(
);
const createButton = screen.getByRole("button", { name: "Create" });
expect(createButton).toBeDisabled();
});
it("enables the create button when a valid name is entered", async () => {
- render(
);
+ render(
);
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.type(nameInput, "Engineering");
@@ -37,7 +37,7 @@ describe("CreateTeamModal", () => {
});
it("keeps the create button disabled when only spaces are entered", async () => {
- render(
);
+ render(
);
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.type(nameInput, " ");
@@ -47,7 +47,7 @@ describe("CreateTeamModal", () => {
});
it("keeps the create button disabled when only tabs are entered", async () => {
- render(
);
+ render(
);
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.type(nameInput, "\t\t\t");
@@ -57,7 +57,7 @@ describe("CreateTeamModal", () => {
});
it("calls onSubmit with trimmed name when a valid name is submitted", async () => {
- render(
);
+ render(
);
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.type(nameInput, " Engineering ");
@@ -75,7 +75,7 @@ describe("CreateTeamModal", () => {
...defaultProps,
backendValidators: { name: "Team name already exists" },
};
- render(
);
+ render(
);
expect(screen.getByText("Team name already exists")).toBeInTheDocument();
});
@@ -85,7 +85,7 @@ describe("CreateTeamModal", () => {
...defaultProps,
backendValidators: { name: "Team name already exists" },
};
- render(
);
+ render(
);
expect(screen.getByText("Team name already exists")).toBeInTheDocument();
diff --git a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tsx b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tsx
similarity index 81%
rename from frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tsx
rename to frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tsx
index 1d19e25331..7e3ee326b9 100644
--- a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/CreateTeamModal.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/CreateFleetModal.tsx
@@ -1,27 +1,27 @@
import React, { useState, useCallback, useEffect } from "react";
-import { ITeamFormData } from "services/entities/teams";
+import { ITeamFormData as IFleetFormData } from "services/entities/teams";
import Modal from "components/Modal";
import Button from "components/buttons/Button";
import InputField from "components/forms/fields/InputField";
-const baseClass = "create-team-modal";
+const baseClass = "create-fleet-modal";
-interface ICreateTeamModalProps {
+interface ICreateFleetModalProps {
onCancel: () => void;
- onSubmit: (formData: ITeamFormData) => void;
+ onSubmit: (formData: IFleetFormData) => void;
backendValidators: { [key: string]: string };
- isUpdatingTeams: boolean;
+ isUpdatingFleets: boolean;
}
-const CreateTeamModal = ({
+const CreateFleetModal = ({
onCancel,
onSubmit,
backendValidators,
- isUpdatingTeams,
-}: ICreateTeamModalProps): JSX.Element => {
+ isUpdatingFleets,
+}: ICreateFleetModalProps): JSX.Element => {
const [name, setName] = useState("");
const [errors, setErrors] = useState<{ [key: string]: string }>(
backendValidators
@@ -74,7 +74,7 @@ const CreateTeamModal = ({
type="submit"
disabled={name.trim() === ""}
className="create-loading"
- isLoading={isUpdatingTeams}
+ isLoading={isUpdatingFleets}
>
Create
@@ -87,4 +87,4 @@ const CreateTeamModal = ({
);
};
-export default CreateTeamModal;
+export default CreateFleetModal;
diff --git a/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/index.ts b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/index.ts
new file mode 100644
index 0000000000..deeb3d3183
--- /dev/null
+++ b/frontend/pages/admin/ManageFleetsPage/components/CreateFleetModal/index.ts
@@ -0,0 +1 @@
+export { default } from "./CreateFleetModal";
diff --git a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/DeleteTeamModal.tsx b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/DeleteFleetModal.tsx
similarity index 77%
rename from frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/DeleteTeamModal.tsx
rename to frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/DeleteFleetModal.tsx
index ecc9a199a7..0da8c4a2bf 100644
--- a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/DeleteTeamModal.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/DeleteFleetModal.tsx
@@ -3,21 +3,21 @@ import React from "react";
import Modal from "components/Modal";
import Button from "components/buttons/Button";
-const baseClass = "delete-team-modal";
+const baseClass = "delete-fleet-modal";
-interface IDeleteTeamModalProps {
+interface IDeleteFleetModalProps {
name: string;
- isUpdatingTeams: boolean;
+ isUpdatingFleets: boolean;
onSubmit: () => void;
onCancel: () => void;
}
-const DeleteTeamModal = ({
+const DeleteFleetModal = ({
name,
- isUpdatingTeams,
+ isUpdatingFleets,
onSubmit,
onCancel,
-}: IDeleteTeamModalProps): JSX.Element => {
+}: IDeleteFleetModalProps): JSX.Element => {
return (
Delete
@@ -51,4 +51,4 @@ const DeleteTeamModal = ({
);
};
-export default DeleteTeamModal;
+export default DeleteFleetModal;
diff --git a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/_styles.scss b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/_styles.scss
similarity index 79%
rename from frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/_styles.scss
rename to frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/_styles.scss
index f110fbf146..e001f22888 100644
--- a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/_styles.scss
+++ b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/_styles.scss
@@ -1,4 +1,4 @@
-.delete-team-modal {
+.delete-fleet-modal {
&__name {
font-weight: $bold;
}
diff --git a/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/index.ts b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/index.ts
new file mode 100644
index 0000000000..fbc901aada
--- /dev/null
+++ b/frontend/pages/admin/ManageFleetsPage/components/DeleteFleetModal/index.ts
@@ -0,0 +1 @@
+export { default } from "./DeleteFleetModal";
diff --git a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tests.tsx b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tests.tsx
similarity index 82%
rename from frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tests.tsx
rename to frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tests.tsx
index 503addcb0c..f871801b9e 100644
--- a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tests.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tests.tsx
@@ -3,15 +3,15 @@ import { screen } from "@testing-library/react";
import { createCustomRenderer } from "test/test-utils";
import userEvent from "@testing-library/user-event";
-import RenameTeamModal from "./RenameTeamModal";
+import RenameFleetModal from "./RenameFleetModal";
-describe("RenameTeamModal", () => {
+describe("RenameFleetModal", () => {
const defaultProps = {
onCancel: jest.fn(),
onSubmit: jest.fn(),
- defaultName: "Existing Team",
+ defaultName: "Existing Fleet Name",
backendValidators: {},
- isUpdatingTeams: false,
+ isUpdatingFleets: false,
};
const render = createCustomRenderer();
@@ -21,14 +21,14 @@ describe("RenameTeamModal", () => {
});
it("renders the modal with the save button enabled for the default name", () => {
- render();
+ render();
const saveButton = screen.getByRole("button", { name: "Save" });
expect(saveButton).toBeEnabled();
});
it("disables the save button when the name is cleared", async () => {
- render();
+ render();
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.clear(nameInput);
@@ -38,7 +38,7 @@ describe("RenameTeamModal", () => {
});
it("disables the save button when only spaces are entered", async () => {
- render();
+ render();
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.clear(nameInput);
@@ -49,7 +49,7 @@ describe("RenameTeamModal", () => {
});
it("calls onSubmit with trimmed name", async () => {
- render();
+ render();
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.clear(nameInput);
@@ -62,7 +62,7 @@ describe("RenameTeamModal", () => {
});
it("does not call onSubmit when name is whitespace-only", async () => {
- render();
+ render();
const nameInput = screen.getByLabelText("Fleet name");
await userEvent.clear(nameInput);
diff --git a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tsx b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tsx
similarity index 81%
rename from frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tsx
rename to frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tsx
index 672d8ff5ea..86383268db 100644
--- a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/RenameTeamModal.tsx
+++ b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/RenameFleetModal.tsx
@@ -1,28 +1,28 @@
import React, { useState, useCallback, useEffect } from "react";
-import { ITeamFormData } from "services/entities/teams";
+import { ITeamFormData as IFleetFormData } from "services/entities/teams";
import Modal from "components/Modal";
import InputField from "components/forms/fields/InputField";
import Button from "components/buttons/Button";
-const baseClass = "edit-team-modal";
+const baseClass = "rename-fleet-modal";
-interface IRenameTeamModalProps {
+interface IRenameFleetModalProps {
onCancel: () => void;
- onSubmit: (formData: ITeamFormData) => void;
+ onSubmit: (formData: IFleetFormData) => void;
defaultName: string;
backendValidators: { [key: string]: string };
- isUpdatingTeams: boolean;
+ isUpdatingFleets: boolean;
}
-const RenameTeamModal = ({
+const RenameFleetModal = ({
onCancel,
onSubmit,
defaultName,
backendValidators,
- isUpdatingTeams,
-}: IRenameTeamModalProps): JSX.Element => {
+ isUpdatingFleets,
+}: IRenameFleetModalProps): JSX.Element => {
const [name, setName] = useState(defaultName);
const [errors, setErrors] = useState<{ [key: string]: string }>(
backendValidators
@@ -70,7 +70,7 @@ const RenameTeamModal = ({
type="submit"
disabled={name.trim() === ""}
className="save-loading"
- isLoading={isUpdatingTeams}
+ isLoading={isUpdatingFleets}
>
Save
@@ -83,4 +83,4 @@ const RenameTeamModal = ({
);
};
-export default RenameTeamModal;
+export default RenameFleetModal;
diff --git a/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/index.ts b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/index.ts
new file mode 100644
index 0000000000..1d24267f31
--- /dev/null
+++ b/frontend/pages/admin/ManageFleetsPage/components/RenameFleetModal/index.ts
@@ -0,0 +1 @@
+export { default } from "./RenameFleetModal";
diff --git a/frontend/pages/admin/ManageFleetsPage/index.ts b/frontend/pages/admin/ManageFleetsPage/index.ts
new file mode 100644
index 0000000000..a651d677ba
--- /dev/null
+++ b/frontend/pages/admin/ManageFleetsPage/index.ts
@@ -0,0 +1 @@
+export { default } from "./ManageFleetsPage";
diff --git a/frontend/pages/admin/UserManagementPage/CreateApiUserPage/CreateApiUserPage.tsx b/frontend/pages/admin/ManageUsersPage/CreateApiUserPage/CreateApiUserPage.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/CreateApiUserPage/CreateApiUserPage.tsx
rename to frontend/pages/admin/ManageUsersPage/CreateApiUserPage/CreateApiUserPage.tsx
diff --git a/frontend/pages/admin/UserManagementPage/CreateApiUserPage/index.ts b/frontend/pages/admin/ManageUsersPage/CreateApiUserPage/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/CreateApiUserPage/index.ts
rename to frontend/pages/admin/ManageUsersPage/CreateApiUserPage/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/CreateUserPage/CreateUserPage.tsx b/frontend/pages/admin/ManageUsersPage/CreateUserPage/CreateUserPage.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/CreateUserPage/CreateUserPage.tsx
rename to frontend/pages/admin/ManageUsersPage/CreateUserPage/CreateUserPage.tsx
diff --git a/frontend/pages/admin/UserManagementPage/CreateUserPage/index.ts b/frontend/pages/admin/ManageUsersPage/CreateUserPage/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/CreateUserPage/index.ts
rename to frontend/pages/admin/ManageUsersPage/CreateUserPage/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/EditUserPage/EditUserPage.tsx b/frontend/pages/admin/ManageUsersPage/EditUserPage/EditUserPage.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/EditUserPage/EditUserPage.tsx
rename to frontend/pages/admin/ManageUsersPage/EditUserPage/EditUserPage.tsx
diff --git a/frontend/pages/admin/UserManagementPage/EditUserPage/index.ts b/frontend/pages/admin/ManageUsersPage/EditUserPage/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/EditUserPage/index.ts
rename to frontend/pages/admin/ManageUsersPage/EditUserPage/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/UserManagementPage.tsx b/frontend/pages/admin/ManageUsersPage/ManageUsersPage.tsx
similarity index 50%
rename from frontend/pages/admin/UserManagementPage/UserManagementPage.tsx
rename to frontend/pages/admin/ManageUsersPage/ManageUsersPage.tsx
index a68c6d92c1..13988edca0 100644
--- a/frontend/pages/admin/UserManagementPage/UserManagementPage.tsx
+++ b/frontend/pages/admin/ManageUsersPage/ManageUsersPage.tsx
@@ -1,19 +1,22 @@
import React from "react";
import { InjectedRouter } from "react-router";
+
+import PageDescription from "components/PageDescription";
import UsersTable from "./components/UsersTable";
-const baseClass = "user-management";
+const baseClass = "manage-users";
interface IUserManagementProps {
router: InjectedRouter; // v3
}
-const UserManagementPage = ({ router }: IUserManagementProps): JSX.Element => {
+const ManageUsersPage = ({ router }: IUserManagementProps): JSX.Element => {
return (
);
};
-export default UserManagementPage;
+export default ManageUsersPage;
diff --git a/frontend/pages/admin/UserManagementPage/_styles.scss b/frontend/pages/admin/ManageUsersPage/_styles.scss
similarity index 99%
rename from frontend/pages/admin/UserManagementPage/_styles.scss
rename to frontend/pages/admin/ManageUsersPage/_styles.scss
index be6644bfeb..a0cfbc4585 100644
--- a/frontend/pages/admin/UserManagementPage/_styles.scss
+++ b/frontend/pages/admin/ManageUsersPage/_styles.scss
@@ -1,4 +1,6 @@
-.user-management {
+.manage-users {
+ @include vertical-page-layout;
+
.data-table-block {
.data-table__table {
thead {
diff --git a/frontend/pages/admin/UserManagementPage/components/AddUserModal/AddUserModal.tsx b/frontend/pages/admin/ManageUsersPage/components/AddUserModal/AddUserModal.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/AddUserModal/AddUserModal.tsx
rename to frontend/pages/admin/ManageUsersPage/components/AddUserModal/AddUserModal.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/AddUserModal/index.ts b/frontend/pages/admin/ManageUsersPage/components/AddUserModal/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/AddUserModal/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/AddUserModal/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiAccessSection/ApiAccessSection.tsx b/frontend/pages/admin/ManageUsersPage/components/ApiAccessSection/ApiAccessSection.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiAccessSection/ApiAccessSection.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ApiAccessSection/ApiAccessSection.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiAccessSection/index.ts b/frontend/pages/admin/ManageUsersPage/components/ApiAccessSection/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiAccessSection/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ApiAccessSection/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiEndpointSelectorTable/ApiEndpointSelectorTable.tsx b/frontend/pages/admin/ManageUsersPage/components/ApiEndpointSelectorTable/ApiEndpointSelectorTable.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiEndpointSelectorTable/ApiEndpointSelectorTable.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ApiEndpointSelectorTable/ApiEndpointSelectorTable.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiEndpointSelectorTable/index.ts b/frontend/pages/admin/ManageUsersPage/components/ApiEndpointSelectorTable/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiEndpointSelectorTable/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ApiEndpointSelectorTable/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiKeyDisplay/ApiKeyDisplay.tsx b/frontend/pages/admin/ManageUsersPage/components/ApiKeyDisplay/ApiKeyDisplay.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiKeyDisplay/ApiKeyDisplay.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ApiKeyDisplay/ApiKeyDisplay.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiKeyDisplay/index.ts b/frontend/pages/admin/ManageUsersPage/components/ApiKeyDisplay/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiKeyDisplay/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ApiKeyDisplay/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiUserForm/ApiUserForm.tsx b/frontend/pages/admin/ManageUsersPage/components/ApiUserForm/ApiUserForm.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiUserForm/ApiUserForm.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ApiUserForm/ApiUserForm.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ApiUserForm/index.ts b/frontend/pages/admin/ManageUsersPage/components/ApiUserForm/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ApiUserForm/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ApiUserForm/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/DeleteUserModal/DeleteUserModal.tsx b/frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/DeleteUserModal.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/DeleteUserModal/DeleteUserModal.tsx
rename to frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/DeleteUserModal.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/DeleteUserModal/_styles.scss b/frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/_styles.scss
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/DeleteUserModal/_styles.scss
rename to frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/_styles.scss
diff --git a/frontend/pages/admin/UserManagementPage/components/DeleteUserModal/index.ts b/frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/DeleteUserModal/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/DeleteUserModal/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/EditUserModal/EditUserModal.tsx b/frontend/pages/admin/ManageUsersPage/components/EditUserModal/EditUserModal.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/EditUserModal/EditUserModal.tsx
rename to frontend/pages/admin/ManageUsersPage/components/EditUserModal/EditUserModal.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/EditUserModal/index.ts b/frontend/pages/admin/ManageUsersPage/components/EditUserModal/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/EditUserModal/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/EditUserModal/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ResetPasswordModal/ResetPasswordModal.tsx b/frontend/pages/admin/ManageUsersPage/components/ResetPasswordModal/ResetPasswordModal.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ResetPasswordModal/ResetPasswordModal.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ResetPasswordModal/ResetPasswordModal.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ResetPasswordModal/index.ts b/frontend/pages/admin/ManageUsersPage/components/ResetPasswordModal/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ResetPasswordModal/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ResetPasswordModal/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/ResetSessionsModal/ResetSessionsModal.tsx b/frontend/pages/admin/ManageUsersPage/components/ResetSessionsModal/ResetSessionsModal.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ResetSessionsModal/ResetSessionsModal.tsx
rename to frontend/pages/admin/ManageUsersPage/components/ResetSessionsModal/ResetSessionsModal.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/ResetSessionsModal/index.ts b/frontend/pages/admin/ManageUsersPage/components/ResetSessionsModal/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/ResetSessionsModal/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/ResetSessionsModal/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/SelectRoleForm/SelectRoleForm.tsx b/frontend/pages/admin/ManageUsersPage/components/SelectRoleForm/SelectRoleForm.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/SelectRoleForm/SelectRoleForm.tsx
rename to frontend/pages/admin/ManageUsersPage/components/SelectRoleForm/SelectRoleForm.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/SelectedTeamsForm.tests.tsx b/frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/SelectedTeamsForm.tests.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/SelectedTeamsForm.tests.tsx
rename to frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/SelectedTeamsForm.tests.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/SelectedTeamsForm.tsx b/frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/SelectedTeamsForm.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/SelectedTeamsForm.tsx
rename to frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/SelectedTeamsForm.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/_styles.scss b/frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/_styles.scss
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/SelectedTeamsForm/_styles.scss
rename to frontend/pages/admin/ManageUsersPage/components/SelectedTeamsForm/_styles.scss
diff --git a/frontend/pages/admin/UserManagementPage/components/UserForm/UserForm.tests.tsx b/frontend/pages/admin/ManageUsersPage/components/UserForm/UserForm.tests.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UserForm/UserForm.tests.tsx
rename to frontend/pages/admin/ManageUsersPage/components/UserForm/UserForm.tests.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/UserForm/UserForm.tsx b/frontend/pages/admin/ManageUsersPage/components/UserForm/UserForm.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UserForm/UserForm.tsx
rename to frontend/pages/admin/ManageUsersPage/components/UserForm/UserForm.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss b/frontend/pages/admin/ManageUsersPage/components/UserForm/_styles.scss
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss
rename to frontend/pages/admin/ManageUsersPage/components/UserForm/_styles.scss
diff --git a/frontend/pages/admin/UserManagementPage/components/UserForm/index.ts b/frontend/pages/admin/ManageUsersPage/components/UserForm/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UserForm/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/UserForm/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/components/UsersTable/UsersTable.tsx b/frontend/pages/admin/ManageUsersPage/components/UsersTable/UsersTable.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UsersTable/UsersTable.tsx
rename to frontend/pages/admin/ManageUsersPage/components/UsersTable/UsersTable.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/UsersTable/UsersTableConfig.tsx b/frontend/pages/admin/ManageUsersPage/components/UsersTable/UsersTableConfig.tsx
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UsersTable/UsersTableConfig.tsx
rename to frontend/pages/admin/ManageUsersPage/components/UsersTable/UsersTableConfig.tsx
diff --git a/frontend/pages/admin/UserManagementPage/components/UsersTable/index.ts b/frontend/pages/admin/ManageUsersPage/components/UsersTable/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/components/UsersTable/index.ts
rename to frontend/pages/admin/ManageUsersPage/components/UsersTable/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/helpers/index.ts b/frontend/pages/admin/ManageUsersPage/helpers/index.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/helpers/index.ts
rename to frontend/pages/admin/ManageUsersPage/helpers/index.ts
diff --git a/frontend/pages/admin/UserManagementPage/helpers/userManagementHelpers.tests.ts b/frontend/pages/admin/ManageUsersPage/helpers/userManagementHelpers.tests.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/helpers/userManagementHelpers.tests.ts
rename to frontend/pages/admin/ManageUsersPage/helpers/userManagementHelpers.tests.ts
diff --git a/frontend/pages/admin/UserManagementPage/helpers/userManagementHelpers.ts b/frontend/pages/admin/ManageUsersPage/helpers/userManagementHelpers.ts
similarity index 100%
rename from frontend/pages/admin/UserManagementPage/helpers/userManagementHelpers.ts
rename to frontend/pages/admin/ManageUsersPage/helpers/userManagementHelpers.ts
diff --git a/frontend/pages/admin/ManageUsersPage/index.ts b/frontend/pages/admin/ManageUsersPage/index.ts
new file mode 100644
index 0000000000..2d17645aa5
--- /dev/null
+++ b/frontend/pages/admin/ManageUsersPage/index.ts
@@ -0,0 +1 @@
+export { default } from "./ManageUsersPage";
diff --git a/frontend/pages/admin/TeamManagementPage/TeamManagementPage.tsx b/frontend/pages/admin/TeamManagementPage/TeamManagementPage.tsx
deleted file mode 100644
index ece9135eb8..0000000000
--- a/frontend/pages/admin/TeamManagementPage/TeamManagementPage.tsx
+++ /dev/null
@@ -1,354 +0,0 @@
-import React, { useState, useCallback, useContext, useMemo } from "react";
-import { useQuery } from "react-query";
-import { useErrorHandler } from "react-error-boundary";
-
-import { PRIMO_TOOLTIP } from "utilities/constants";
-import { getGitOpsModeTipContent } from "utilities/helpers";
-
-import { NotificationContext } from "context/notification";
-import { AppContext } from "context/app";
-import { ITeam } from "interfaces/team";
-import { IApiError } from "interfaces/errors";
-import usersAPI, { IGetMeResponse } from "services/entities/users";
-import teamsAPI, {
- ILoadTeamsResponse,
- ITeamFormData,
-} from "services/entities/teams";
-
-import TableContainer from "components/TableContainer";
-import TableDataError from "components/DataError";
-import TableCount from "components/TableContainer/TableCount";
-import SandboxGate from "components/Sandbox/SandboxGate";
-import SandboxMessage from "components/Sandbox/SandboxMessage";
-
-import CreateTeamModal from "./components/CreateTeamModal";
-import DeleteTeamModal from "./components/DeleteTeamModal";
-import RenameTeamModal from "./components/RenameTeamModal";
-import EmptyTeamsTable from "./components/EmptyTeamsTable";
-
-import { generateTableHeaders, generateDataSet } from "./TeamTableConfig";
-
-const baseClass = "team-management";
-const noTeamsClass = "no-teams";
-
-const TeamManagementPage = (): JSX.Element => {
- const { renderFlash } = useContext(NotificationContext);
- const {
- currentTeam,
- setCurrentTeam,
- setCurrentUser,
- setAvailableTeams,
- setUserSettings,
- config,
- } = useContext(AppContext);
-
- const [isUpdatingTeams, setIsUpdatingTeams] = useState(false);
- const [showCreateTeamModal, setShowCreateTeamModal] = useState(false);
- const [showDeleteTeamModal, setShowDeleteTeamModal] = useState(false);
- const [showRenameTeamModal, setShowRenameTeamModal] = useState(false);
- const [teamEditing, setTeamEditing] = useState();
- const [backendValidators, setBackendValidators] = useState<{
- [key: string]: string;
- }>({});
- const handlePageError = useErrorHandler();
-
- const { refetch: refetchMe } = useQuery(["me"], () => usersAPI.me(), {
- enabled: false,
- onSuccess: ({ user, available_teams, settings }: IGetMeResponse) => {
- setCurrentUser(user);
- setAvailableTeams(user, available_teams);
- setUserSettings(settings);
- },
- });
-
- const {
- data: teams,
- isFetching: isFetchingTeams,
- error: loadingTeamsError,
- refetch: refetchTeams,
- } = useQuery(
- ["teams"],
- () => teamsAPI.loadAll(),
- {
- select: (data: ILoadTeamsResponse) => data.teams,
- onError: (error) => handlePageError(error),
- }
- );
-
- // TODO: Cleanup useCallbacks, add missing dependencies, use state setter functions, e.g.,
- // `setShowCreateTeamModal((prevState) => !prevState)`, instead of including state
- // variables as dependencies for toggles, etc.
-
- const toggleCreateTeamModal = useCallback(() => {
- setShowCreateTeamModal(!showCreateTeamModal);
- setBackendValidators({});
- }, [showCreateTeamModal, setShowCreateTeamModal, setBackendValidators]);
-
- const toggleDeleteTeamModal = useCallback(
- (team?: ITeam) => {
- setShowDeleteTeamModal(!showDeleteTeamModal);
- team ? setTeamEditing(team) : setTeamEditing(undefined);
- },
- [showDeleteTeamModal, setShowDeleteTeamModal, setTeamEditing]
- );
-
- const toggleRenameTeamModal = useCallback(
- (team?: ITeam) => {
- setShowRenameTeamModal(!showRenameTeamModal);
- setBackendValidators({});
- team ? setTeamEditing(team) : setTeamEditing(undefined);
- },
- [
- showRenameTeamModal,
- setShowRenameTeamModal,
- setTeamEditing,
- setBackendValidators,
- ]
- );
-
- const onCreateSubmit = useCallback(
- (formData: ITeamFormData) => {
- setIsUpdatingTeams(true);
- teamsAPI
- .create(formData)
- .then(() => {
- renderFlash("success", `Successfully created ${formData.name}.`);
- setBackendValidators({});
- toggleCreateTeamModal();
- refetchMe();
- refetchTeams();
- })
- .catch((createError: { data: IApiError }) => {
- const rawReason = createError.data.errors[0].reason;
- const errMsg = rawReason.toLowerCase();
- if (errMsg.includes("must differ")) {
- setBackendValidators({ name: rawReason });
- } else if (errMsg.includes("duplicate")) {
- setBackendValidators({
- name: "A fleet with this name already exists",
- });
- } else if (
- errMsg.includes("all teams") ||
- errMsg.includes("all fleets") ||
- errMsg.includes("no team") ||
- errMsg.includes("unassigned")
- ) {
- setBackendValidators({
- name: `"${formData.name}" is a reserved fleet name. Please try another name.`,
- });
- } else {
- renderFlash("error", "Could not create fleet. Please try again.");
- toggleCreateTeamModal();
- }
- })
- .finally(() => {
- setIsUpdatingTeams(false);
- });
- },
- [toggleCreateTeamModal, refetchMe, refetchTeams, renderFlash]
- );
-
- const onDeleteSubmit = useCallback(() => {
- if (teamEditing) {
- setIsUpdatingTeams(true);
- teamsAPI
- .destroy(teamEditing.id)
- .then(() => {
- renderFlash("success", `Successfully deleted ${teamEditing.name}.`);
- if (currentTeam?.id === teamEditing.id) {
- setCurrentTeam(undefined);
- }
- })
- .catch(() => {
- renderFlash(
- "error",
- `Could not delete ${teamEditing.name}. Please try again.`
- );
- })
- .finally(() => {
- setIsUpdatingTeams(false);
- refetchMe();
- refetchTeams();
- toggleDeleteTeamModal();
- });
- }
- }, [
- currentTeam,
- teamEditing,
- refetchMe,
- refetchTeams,
- renderFlash,
- setCurrentTeam,
- toggleDeleteTeamModal,
- ]);
-
- const onRenameSubmit = useCallback(
- (formData: ITeamFormData) => {
- if (formData.name === teamEditing?.name) {
- toggleRenameTeamModal();
- } else if (teamEditing) {
- setIsUpdatingTeams(true);
- teamsAPI
- .update(formData, teamEditing.id)
- .then(() => {
- renderFlash(
- "success",
- `Successfully updated fleet name to ${formData.name}.`
- );
- setBackendValidators({});
- toggleRenameTeamModal();
- refetchTeams();
- })
- .catch((updateError: { data: IApiError }) => {
- console.error(updateError);
- const rawReason = updateError.data.errors[0].reason;
- const errMsg = rawReason.toLowerCase();
- if (errMsg.includes("must differ")) {
- setBackendValidators({ name: rawReason });
- } else if (errMsg.includes("duplicate")) {
- setBackendValidators({
- name: "A fleet with this name already exists",
- });
- } else if (
- errMsg.includes("all teams") ||
- errMsg.includes("all fleets")
- ) {
- setBackendValidators({
- name: `"All fleets" is a reserved fleet name.`,
- });
- } else if (
- errMsg.includes("no team") ||
- errMsg.includes("unassigned")
- ) {
- setBackendValidators({
- name: `"Unassigned" is a reserved fleet name. Please try another name.`,
- });
- } else {
- renderFlash(
- "error",
- `Could not rename ${teamEditing.name}. Please try again.`
- );
- }
- })
- .finally(() => {
- setIsUpdatingTeams(false);
- });
- }
- },
- [teamEditing, toggleRenameTeamModal, refetchTeams, renderFlash]
- );
-
- const onActionSelection = useCallback(
- (action: string, team: ITeam): void => {
- switch (action) {
- case "rename":
- toggleRenameTeamModal(team);
- break;
- case "delete":
- toggleDeleteTeamModal(team);
- break;
- default:
- }
- },
- [toggleRenameTeamModal, toggleDeleteTeamModal]
- );
-
- const tableHeaders = useMemo(() => generateTableHeaders(onActionSelection), [
- onActionSelection,
- ]);
- const tableData = useMemo(() => (teams ? generateDataSet(teams) : []), [
- teams,
- ]);
-
- const renderTeamCount = useCallback(() => {
- if (teams?.length === 0) {
- return <>>;
- }
-
- return ;
- }, [teams]);
-
- const disabledPrimaryActionTooltip = (() => {
- if (config?.partnerships?.enable_primo) {
- return PRIMO_TOOLTIP;
- }
- if (config?.gitops?.gitops_mode_enabled && config?.gitops?.repository_url) {
- return getGitOpsModeTipContent(config.gitops.repository_url);
- }
- return null;
- })();
-
- return (
-
-
(
-
- )}
- >
- {loadingTeamsError ? (
-
- ) : (
- (
-
- )}
- showMarkAllPages={false}
- isAllPagesSelected={false}
- isClientSidePagination
- renderCount={renderTeamCount}
- />
- )}
- {showCreateTeamModal && (
-
- )}
- {showDeleteTeamModal && (
-
- )}
- {showRenameTeamModal && (
-
- )}
-
-
- );
-};
-
-export default TeamManagementPage;
diff --git a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/index.ts b/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/index.ts
deleted file mode 100644
index 3069b4413c..0000000000
--- a/frontend/pages/admin/TeamManagementPage/components/CreateTeamModal/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./CreateTeamModal";
diff --git a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/index.ts b/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/index.ts
deleted file mode 100644
index 6707d8962d..0000000000
--- a/frontend/pages/admin/TeamManagementPage/components/DeleteTeamModal/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./DeleteTeamModal";
diff --git a/frontend/pages/admin/TeamManagementPage/components/EmptyTeamsTable.tsx b/frontend/pages/admin/TeamManagementPage/components/EmptyTeamsTable.tsx
deleted file mode 100644
index 1e3b1630d3..0000000000
--- a/frontend/pages/admin/TeamManagementPage/components/EmptyTeamsTable.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from "react";
-
-import Button from "components/buttons/Button";
-import EmptyState from "components/EmptyState";
-import CustomLink from "components/CustomLink";
-import TooltipWrapper from "components/TooltipWrapper";
-
-const EmptyTeamsTable = ({
- className,
- onActionButtonClick,
- disabledPrimaryActionTooltip,
-}: {
- className: string;
- onActionButtonClick: () => void;
- // covers both disabling teams UI for Primo and GitOps mode, with correct precedence
- disabledPrimaryActionTooltip: React.ReactNode;
-}) => {
- const rawButton = (
-
- );
- const primaryButton = disabledPrimaryActionTooltip ? (
-
- {rawButton}
-
- ) : (
- rawButton
- );
-
- return (
-
- {" "}
- Want to learn more?
-
- >
- }
- primaryButton={primaryButton}
- />
- );
-};
-
-export default EmptyTeamsTable;
diff --git a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/index.ts b/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/index.ts
deleted file mode 100644
index 89752243c8..0000000000
--- a/frontend/pages/admin/TeamManagementPage/components/RenameTeamModal/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./RenameTeamModal";
diff --git a/frontend/pages/admin/TeamManagementPage/index.ts b/frontend/pages/admin/TeamManagementPage/index.ts
deleted file mode 100644
index 62720ce3ef..0000000000
--- a/frontend/pages/admin/TeamManagementPage/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./TeamManagementPage";
diff --git a/frontend/pages/admin/UserManagementPage/index.ts b/frontend/pages/admin/UserManagementPage/index.ts
deleted file mode 100644
index 543845c50e..0000000000
--- a/frontend/pages/admin/UserManagementPage/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./UserManagementPage";
diff --git a/frontend/router/index.tsx b/frontend/router/index.tsx
index 6131e68c21..d0800ce778 100644
--- a/frontend/router/index.tsx
+++ b/frontend/router/index.tsx
@@ -16,12 +16,12 @@ import {
import OrgSettingsPage from "pages/admin/OrgSettingsPage";
import AdminIntegrationsPage from "pages/admin/IntegrationsPage";
-import AdminUserManagementPage from "pages/admin/UserManagementPage";
-import CreateUserPage from "pages/admin/UserManagementPage/CreateUserPage";
-import CreateApiUserPage from "pages/admin/UserManagementPage/CreateApiUserPage";
-import EditUserPage from "pages/admin/UserManagementPage/EditUserPage";
-import AdminTeamManagementPage from "pages/admin/TeamManagementPage";
-import TeamDetailsWrapper from "pages/admin/TeamManagementPage/TeamDetailsWrapper";
+import AdminManageUsersPage from "pages/admin/ManageUsersPage";
+import CreateUserPage from "pages/admin/ManageUsersPage/CreateUserPage";
+import CreateApiUserPage from "pages/admin/ManageUsersPage/CreateApiUserPage";
+import EditUserPage from "pages/admin/ManageUsersPage/EditUserPage";
+import AdminManageFleetsPage from "pages/admin/ManageFleetsPage";
+import TeamDetailsWrapper from "pages/admin/ManageFleetsPage/TeamDetailsWrapper";
import App from "components/App";
import ConfirmInvitePage from "pages/ConfirmInvitePage";
import ConfirmSSOInvitePage from "pages/ConfirmSSOInvitePage";
@@ -61,8 +61,8 @@ import Fleet404 from "pages/errors/Fleet404";
import AccountPage from "pages/AccountPage";
import SettingsWrapper from "pages/admin/AdminWrapper";
import ManageControlsPage from "pages/ManageControlsPage/ManageControlsPage";
-import UsersPage from "pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/UsersPage";
-import AgentOptionsPage from "pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage";
+import UsersPage from "pages/admin/ManageFleetsPage/TeamDetailsWrapper/UsersPage/UsersPage";
+import AgentOptionsPage from "pages/admin/ManageFleetsPage/TeamDetailsWrapper/AgentOptionsPage";
import OSUpdates from "pages/ManageControlsPage/OSUpdates";
import OSSettings from "pages/ManageControlsPage/OSSettings";
import SetupExperience from "pages/ManageControlsPage/SetupExperience/SetupExperience";
@@ -82,7 +82,7 @@ import SoftwareVulnerabilities from "pages/SoftwarePage/SoftwareVulnerabilities"
import SoftwareLibrary from "pages/SoftwarePage/SoftwareLibrary";
import SoftwareTitleDetailsPage from "pages/SoftwarePage/SoftwareTitleDetailsPage";
import SoftwareVersionDetailsPage from "pages/SoftwarePage/SoftwareVersionDetailsPage";
-import TeamSettings from "pages/admin/TeamManagementPage/TeamDetailsWrapper/TeamSettings";
+import TeamSettings from "pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamSettings";
import SoftwareOSDetailsPage from "pages/SoftwarePage/SoftwareOSDetailsPage";
import SoftwareVulnerabilityDetailsPage from "pages/SoftwarePage/SoftwareVulnerabilityDetailsPage";
import SoftwareAddPage from "pages/SoftwarePage/SoftwareAddPage";
@@ -215,11 +215,11 @@ const routes = (
component={AdminIntegrationsPage}
/>
-
+
-
+
diff --git a/website/config/routes.js b/website/config/routes.js
index 426b9434b7..bd14a9ce7f 100644
--- a/website/config/routes.js
+++ b/website/config/routes.js
@@ -1297,6 +1297,7 @@ module.exports.routes = {
'GET /learn-more-about/enrollment-profiles': 'https://developer.apple.com/documentation/devicemanagement/profile?changes=l_11_5',
'GET /learn-more-about/psso-local-account': '/guides/setup-experience#platform-sso',
'GET /learn-more-about/deploy-fleet': '/docs/deploy/deploy-fleet',
+ 'GET /learn-more-about/fleets': '/guides/fleets',
'GET /learn-more-about/vulnerability-exposure-cves': 'https://github.com/fleetdm/fleet/blob/1ea1fddfd62f66fd14de65cbeceb4f7a9d0167ec/server/chart/internal/mysql/charts.go#L111-L138',
// Sitemap