mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-14 05:25:57 +08:00
feat: make the label value clickable if it's a link (#5927)
This commit is contained in:
parent
06a89b21da
commit
3c5aa86ee2
@ -12,6 +12,10 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
letter-spacing: -0.005em;
|
letter-spacing: -0.005em;
|
||||||
|
&,
|
||||||
|
&:hover {
|
||||||
|
color: var(--text-vanilla-400);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&__key {
|
&__key {
|
||||||
background: var(--bg-ink-400);
|
background: var(--bg-ink-400);
|
||||||
@ -20,13 +24,15 @@
|
|||||||
&__value {
|
&__value {
|
||||||
background: var(--bg-slate-400);
|
background: var(--bg-slate-400);
|
||||||
}
|
}
|
||||||
color: var(--text-vanilla-400);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lightMode {
|
.lightMode {
|
||||||
.key-value-label {
|
.key-value-label {
|
||||||
border-color: var(--bg-vanilla-400);
|
border-color: var(--bg-vanilla-400);
|
||||||
|
&__key,
|
||||||
|
&__value {
|
||||||
color: var(--text-ink-400);
|
color: var(--text-ink-400);
|
||||||
|
}
|
||||||
&__key {
|
&__key {
|
||||||
background: var(--bg-vanilla-300);
|
background: var(--bg-vanilla-300);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import './KeyValueLabel.styles.scss';
|
import './KeyValueLabel.styles.scss';
|
||||||
|
|
||||||
import { Tooltip } from 'antd';
|
import { Tooltip } from 'antd';
|
||||||
|
import { useMemo } from 'react';
|
||||||
|
|
||||||
import TrimmedText from '../TrimmedText/TrimmedText';
|
import TrimmedText from '../TrimmedText/TrimmedText';
|
||||||
|
|
||||||
@ -15,19 +16,33 @@ export default function KeyValueLabel({
|
|||||||
badgeValue,
|
badgeValue,
|
||||||
maxCharacters = 20,
|
maxCharacters = 20,
|
||||||
}: KeyValueLabelProps): JSX.Element | null {
|
}: KeyValueLabelProps): JSX.Element | null {
|
||||||
|
const isUrl = useMemo(() => /^https?:\/\//.test(badgeValue), [badgeValue]);
|
||||||
|
|
||||||
if (!badgeKey || !badgeValue) {
|
if (!badgeKey || !badgeValue) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="key-value-label">
|
<div className="key-value-label">
|
||||||
<div className="key-value-label__key">
|
<div className="key-value-label__key">
|
||||||
<TrimmedText text={badgeKey} maxCharacters={maxCharacters} />
|
<TrimmedText text={badgeKey} maxCharacters={maxCharacters} />
|
||||||
</div>
|
</div>
|
||||||
|
{isUrl ? (
|
||||||
|
<a
|
||||||
|
href={badgeValue}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="key-value-label__value"
|
||||||
|
>
|
||||||
|
<TrimmedText text={badgeValue} maxCharacters={maxCharacters} />
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
<Tooltip title={badgeValue}>
|
<Tooltip title={badgeValue}>
|
||||||
<div className="key-value-label__value">
|
<div className="key-value-label__value">
|
||||||
<TrimmedText text={badgeValue} maxCharacters={maxCharacters} />
|
<TrimmedText text={badgeValue} maxCharacters={maxCharacters} />
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
1
signoz-core-ui
Submodule
1
signoz-core-ui
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit f8c925d842922f8a30063012a7bfb688a3bf0f36
|
Loading…
x
Reference in New Issue
Block a user