mirror of
https://github.com/portainer/portainer.git
synced 2025-07-23 15:29:42 +02:00
fix(published-ports): fix published port link and into a new component [EE-6592] (#11656)
Some checks are pending
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_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_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (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
Test / test-client (push) Waiting to run
Some checks are pending
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_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_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (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
Test / test-client (push) Waiting to run
This commit is contained in:
parent
4f4c685085
commit
39fce3e29b
3 changed files with 65 additions and 68 deletions
|
@ -0,0 +1,48 @@
|
|||
import { ExternalLink } from 'lucide-react';
|
||||
|
||||
import { Icon } from '@@/Icon';
|
||||
|
||||
type Props = {
|
||||
hostURL?: string;
|
||||
hostPort?: string | number;
|
||||
containerPort?: string | number;
|
||||
};
|
||||
|
||||
export function PublishedPortLink({ hostURL, hostPort, containerPort }: Props) {
|
||||
return (
|
||||
<a
|
||||
className="image-tag"
|
||||
href={generateContainerURL(hostURL, hostPort, containerPort)}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<Icon icon={ExternalLink} />
|
||||
{hostPort}:{containerPort}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
|
||||
function generateContainerURL(
|
||||
hostURL?: string,
|
||||
hostPort?: string | number,
|
||||
containerPort?: string | number
|
||||
) {
|
||||
const url = stripTrailingSlash(hostURL?.toLowerCase());
|
||||
|
||||
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
||||
if (String(containerPort).endsWith('443')) {
|
||||
return `https://${url}:${hostPort}`;
|
||||
}
|
||||
|
||||
return `http://${url}:${hostPort}`;
|
||||
}
|
||||
|
||||
return `${url}:${hostPort}`;
|
||||
}
|
||||
|
||||
function stripTrailingSlash(url?: string) {
|
||||
if (!url) {
|
||||
return '';
|
||||
}
|
||||
return url.endsWith('/') ? url.slice(0, -1) : url;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue