diff --git a/app/react/portainer/HomeView/LicenseNodePanel.test.tsx b/app/react/portainer/HomeView/LicenseNodePanel.test.tsx
deleted file mode 100644
index bd862cc37..000000000
--- a/app/react/portainer/HomeView/LicenseNodePanel.test.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { http, HttpResponse } from 'msw';
-import { render } from '@testing-library/react';
-
-import { server } from '@/setup-tests/server';
-import { withTestQueryProvider } from '@/react/test-utils/withTestQuery';
-
-import { LicenseType } from '../licenses/types';
-
-import { LicenseNodePanel } from './LicenseNodePanel';
-
-test('when user is using more nodes then allowed he should see message', async () => {
- const allowed = 2;
- const used = 5;
- server.use(
- http.get('/api/licenses/info', () =>
- HttpResponse.json({ nodes: allowed, type: LicenseType.Subscription })
- ),
- http.get('/api/system/nodes', () => HttpResponse.json({ nodes: used }))
- );
-
- const { findByText } = renderComponent();
-
- await expect(
- findByText(
- /The number of nodes for your license has been exceeded. Please contact your administrator./
- )
- ).resolves.toBeVisible();
-});
-
-test("when user is using less nodes then allowed he shouldn't see message", async () => {
- const allowed = 5;
- const used = 2;
- server.use(
- http.get('/api/licenses/info', () =>
- HttpResponse.json({ nodes: allowed, type: LicenseType.Subscription })
- ),
- http.get('/api/system/nodes', () => HttpResponse.json({ nodes: used }))
- );
-
- const { findByText } = renderComponent();
-
- await expect(
- findByText(
- /The number of nodes for your license has been exceeded. Please contact your administrator./
- )
- ).rejects.toBeTruthy();
-});
-
-function renderComponent() {
- const Wrapped = withTestQueryProvider(LicenseNodePanel);
-
- return render(
);
-}
diff --git a/app/react/portainer/HomeView/LicenseNodePanel.tsx b/app/react/portainer/HomeView/LicenseNodePanel.tsx
deleted file mode 100644
index e0f130dcc..000000000
--- a/app/react/portainer/HomeView/LicenseNodePanel.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { TextTip } from '@@/Tip/TextTip';
-import { InformationPanel } from '@@/InformationPanel';
-
-import { useNodesCount } from '../system/useNodesCount';
-import { useLicenseInfo } from '../licenses/use-license.service';
-import { LicenseType } from '../licenses/types';
-
-export function LicenseNodePanel() {
- const nodesValid = useNodesValid();
-
- if (nodesValid) {
- return null;
- }
-
- return (
-
-
- The number of nodes for your license has been exceeded. Please contact
- your administrator.
-
-
- );
-}
-
-function useNodesValid() {
- const { isLoading: isLoadingNodes, data: nodesCount = 0 } = useNodesCount();
-
- const { isLoading: isLoadingLicense, info } = useLicenseInfo();
- if (
- isLoadingLicense ||
- isLoadingNodes ||
- !info ||
- info.type === LicenseType.Trial
- ) {
- return true;
- }
-
- return nodesCount <= info.nodes;
-}
diff --git a/app/react/portainer/environments/queries/useUpdateEnvironmentsRelationsMutation.ts b/app/react/portainer/environments/queries/useUpdateEnvironmentsRelationsMutation.ts
deleted file mode 100644
index cf70e302d..000000000
--- a/app/react/portainer/environments/queries/useUpdateEnvironmentsRelationsMutation.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { useMutation, useQueryClient } from '@tanstack/react-query';
-
-import axios, { parseAxiosError } from '@/portainer/services/axios/axios';
-import {
- mutationOptions,
- withError,
- withInvalidate,
-} from '@/react-tools/react-query';
-import { EdgeGroup } from '@/react/edge/edge-groups/types';
-import { TagId } from '@/portainer/tags/types';
-import { queryKeys as edgeGroupQueryKeys } from '@/react/edge/edge-groups/queries/query-keys';
-import { queryKeys as groupQueryKeys } from '@/react/portainer/environments/environment-groups/queries/query-keys';
-import { tagKeys } from '@/portainer/tags/queries';
-
-import { EnvironmentId, EnvironmentGroupId } from '../types';
-import { buildUrl } from '../environment.service/utils';
-
-import { environmentQueryKeys } from './query-keys';
-
-export function useUpdateEnvironmentsRelationsMutation() {
- const queryClient = useQueryClient();
-
- return useMutation(
- updateEnvironmentRelations,
- mutationOptions(
- withInvalidate(queryClient, [
- environmentQueryKeys.base(),
- edgeGroupQueryKeys.base(),
- groupQueryKeys.base(),
- tagKeys.all,
- ]),
- withError('Unable to update environment relations')
- )
- );
-}
-
-export interface EnvironmentRelationsPayload {
- edgeGroups: Array
;
- group: EnvironmentGroupId;
- tags: Array;
-}
-
-export async function updateEnvironmentRelations(
- relations: Record
-) {
- try {
- await axios.put(buildUrl(undefined, 'relations'), { relations });
- } catch (e) {
- throw parseAxiosError(e as Error, 'Unable to update environment relations');
- }
-}
diff --git a/app/react/portainer/environments/wizard/EnvironmentTypeSelectView/EnvironmentTypeSelectView.tsx b/app/react/portainer/environments/wizard/EnvironmentTypeSelectView/EnvironmentTypeSelectView.tsx
index c77691265..0a8af95e6 100644
--- a/app/react/portainer/environments/wizard/EnvironmentTypeSelectView/EnvironmentTypeSelectView.tsx
+++ b/app/react/portainer/environments/wizard/EnvironmentTypeSelectView/EnvironmentTypeSelectView.tsx
@@ -11,7 +11,6 @@ import { EnvironmentSelector } from './EnvironmentSelector';
import {
EnvironmentOptionValue,
existingEnvironmentTypes,
- newEnvironmentTypes,
} from './environment-types';
export function EnvironmentTypeSelectView() {
@@ -45,16 +44,6 @@ export function EnvironmentTypeSelectView() {
onChange={setTypes}
options={existingEnvironmentTypes}
/>
- Set up new environments
-