1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-22 23:09:41 +02:00
portainer/app/react/docker/DashboardView/NonAgentSwarmInfo.tsx
Chaim Lev-Ari 014a590704
Some checks are pending
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
refactor(docker): migrate dashboard to react [EE-2191] (#11574)
2024-05-20 09:34:51 +03:00

49 lines
1.5 KiB
TypeScript

import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { useInfoPanelState } from '@/react/hooks/useInfoPanelState';
import { InformationPanel } from '@@/InformationPanel';
import { TextTip } from '@@/Tip/TextTip';
import { HelpLink } from '@@/HelpLink';
import { useInfo } from '../proxy/queries/useInfo';
const infoPanelId = 'docker-dashboard-info-01';
export function NonAgentSwarmInfo() {
const { isVisible, dismiss } = useInfoPanelState(infoPanelId);
const envId = useEnvironmentId();
const isManagerQuery = useInfo(envId, {
select: (info) => !!info.Swarm?.ControlAvailable,
});
if (!isVisible || isManagerQuery.isLoading) {
return null;
}
const isManager = isManagerQuery.data;
return (
<InformationPanel title="Information" onDismiss={() => dismiss()}>
<TextTip color="blue">
{isManager ? (
<>
Portainer is connected to a node that is part of a Swarm cluster.
Some resources located on other nodes in the cluster might not be
available for management, have a look at{' '}
<HelpLink
docLink="/admin/environments/add/swarm/agent"
target="_blank"
>
our agent setup
</HelpLink>{' '}
for more details.
</>
) : (
<>
Portainer is connected to a worker node. Swarm management features
will not be available.
</>
)}
</TextTip>
</InformationPanel>
);
}