diff --git a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.stories.tsx b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.stories.tsx index 49b8cb4b8..9b69f6d5a 100644 --- a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.stories.tsx +++ b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.stories.tsx @@ -24,8 +24,6 @@ function Template({ environment }: Args) { environment={environment} onClickBrowse={() => {}} isActive={false} - onSelect={() => {}} - isSelected={false} /> ); } diff --git a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.test.tsx b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.test.tsx index bab890dd1..d31044b69 100644 --- a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.test.tsx +++ b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.test.tsx @@ -44,8 +44,6 @@ function renderComponent( return renderWithQueryClient( {}} environment={env} diff --git a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.tsx b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.tsx index 7dcc0bfa9..29cd9ae64 100644 --- a/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.tsx +++ b/app/react/portainer/HomeView/EnvironmentList/EnvironmentItem/EnvironmentItem.tsx @@ -10,6 +10,7 @@ import { PlatformType, } from '@/react/portainer/environments/types'; import { + getDashboardRoute, getPlatformType, isEdgeEnvironment, } from '@/react/portainer/environments/utils'; @@ -18,7 +19,7 @@ import { useTags } from '@/portainer/tags/queries'; import { EdgeIndicator } from '@@/EdgeIndicator'; import { EnvironmentStatusBadge } from '@@/EnvironmentStatusBadge'; -import { Checkbox } from '@@/form-components/Checkbox'; +import { Link } from '@@/Link'; import { EnvironmentIcon } from './EnvironmentIcon'; import { EnvironmentStats } from './EnvironmentStats'; @@ -31,8 +32,6 @@ interface Props { environment: Environment; groupName?: string; onClickBrowse(): void; - onSelect(isSelected: boolean): void; - isSelected: boolean; isActive: boolean; } @@ -41,8 +40,6 @@ export function EnvironmentItem({ onClickBrowse, groupName, isActive, - isSelected, - onSelect, }: Props) { const isEdge = isEdgeEnvironment(environment.Type); @@ -51,15 +48,19 @@ export function EnvironmentItem({ const tags = useEnvironmentTagNames(environment.TagIds); return ( - + + ); } diff --git a/app/react/portainer/HomeView/EnvironmentList/EnvironmentList.tsx b/app/react/portainer/HomeView/EnvironmentList/EnvironmentList.tsx index d3259eda7..0ab3d3199 100644 --- a/app/react/portainer/HomeView/EnvironmentList/EnvironmentList.tsx +++ b/app/react/portainer/HomeView/EnvironmentList/EnvironmentList.tsx @@ -25,7 +25,6 @@ import { EnvironmentsQueryParams } from '@/react/portainer/environments/environm import { useUser } from '@/react/hooks/useUser'; import { isBE } from '@/react/portainer/feature-flags/feature-flags.service'; import { environmentStore } from '@/react/hooks/current-environment-store'; -import { useListSelection } from '@/react/hooks/useListSelection'; import { TableFooter } from '@@/datatables/TableFooter'; import { TableActions, TableContainer, TableTitle } from '@@/datatables'; @@ -71,11 +70,6 @@ enum ConnectionType { const storageKey = 'home_endpoints'; export function EnvironmentList({ onClickBrowse, onRefresh }: Props) { - const [selectedItems, handleChangeSelect] = useListSelection( - [], - (a, b) => a.Id === b.Id - ); - const { isAdmin } = useUser(); const { environmentId: currentEnvironmentId } = useStore(environmentStore); const [platformTypes, setPlatformTypes] = useHomePageFilter< @@ -229,7 +223,6 @@ export function EnvironmentList({ onClickBrowse, onRefresh }: Props) { sort: sortByFilter, order: sortByDescending ? 'desc' : 'asc', }} - selectedItems={selectedItems} />
@@ -328,10 +321,6 @@ export function EnvironmentList({ onClickBrowse, onRefresh }: Props) { } onClickBrowse={() => onClickBrowse(env)} isActive={env.Id === currentEnvironmentId} - isSelected={selectedItems.some( - (selectedEnv) => selectedEnv.Id === env.Id - )} - onSelect={(selected) => handleChangeSelect(env, selected)} /> )) )} diff --git a/app/react/portainer/HomeView/EnvironmentList/KubeconfigButton/KubeconfigButton.tsx b/app/react/portainer/HomeView/EnvironmentList/KubeconfigButton/KubeconfigButton.tsx index bb933bc70..b49b58ed3 100644 --- a/app/react/portainer/HomeView/EnvironmentList/KubeconfigButton/KubeconfigButton.tsx +++ b/app/react/portainer/HomeView/EnvironmentList/KubeconfigButton/KubeconfigButton.tsx @@ -15,17 +15,12 @@ import '@reach/dialog/styles.css'; export interface Props { environments: Environment[]; envQueryParams: Query; - selectedItems: Array; } -export function KubeconfigButton({ - environments, - envQueryParams, - selectedItems, -}: Props) { +export function KubeconfigButton({ environments, envQueryParams }: Props) { const [isOpen, setIsOpen] = useState(false); if (!isKubeconfigButtonVisible(environments)) { - // return null; + return null; } return ( @@ -34,7 +29,7 @@ export function KubeconfigButton({ onClick={handleClick} size="medium" className="!ml-3" - disabled={selectedItems.some( + disabled={environments.some( (env) => !isKubernetesEnvironment(env.Type) )} icon={Download} @@ -74,11 +69,7 @@ export function KubeconfigButton({ env.Id) - : environments.map((env) => env.Id) - } + selectedItems={environments.map((env) => env.Id)} /> ) ); diff --git a/app/react/portainer/environments/utils/index.ts b/app/react/portainer/environments/utils/index.ts index befffdcad..54294d725 100644 --- a/app/react/portainer/environments/utils/index.ts +++ b/app/react/portainer/environments/utils/index.ts @@ -60,8 +60,14 @@ export function isUnassociatedEdgeEnvironment(env: Environment) { } export function getDashboardRoute(environment: Environment) { - if (isEdgeEnvironment(environment.Type) && !environment.EdgeID) { - return 'portainer.endpoints.endpoint'; + if (isEdgeEnvironment(environment.Type)) { + if (!environment.EdgeID) { + return 'portainer.endpoints.endpoint'; + } + + if (isEdgeAsync(environment)) { + return 'edge.browse.dashboard'; + } } const platform = getPlatformType(environment.Type);