@skyhook-io/k8s-ui 1.5.1 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/logs/JsonLogLine.tsx +10 -7
- package/src/components/logs/LogCore.tsx +451 -100
- package/src/components/logs/LogToolbarSelects.tsx +17 -6
- package/src/components/logs/LogsViewer.tsx +8 -7
- package/src/components/logs/StructuredLogLine.tsx +125 -43
- package/src/components/logs/WorkloadLogsViewer.tsx +44 -34
- package/src/components/logs/log-palette.ts +222 -0
- package/src/components/logs/useLogBuffer.ts +6 -1
- package/src/components/logs/useLogSearch.ts +5 -0
- package/src/components/resources/resource-utils-argo.ts +9 -2
- package/src/utils/log-format.ts +77 -12
package/package.json
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { useState, useMemo } from 'react'
|
|
2
2
|
import { ChevronRight, ChevronDown } from 'lucide-react'
|
|
3
|
-
import { getLevelColor } from '../../utils/log-format'
|
|
4
3
|
import type { LogLevel } from './useLogBuffer'
|
|
4
|
+
import { getLogPalette, getLogLevelColor } from './log-palette'
|
|
5
5
|
|
|
6
6
|
interface JsonLogLineProps {
|
|
7
7
|
content: string
|
|
8
8
|
level: LogLevel
|
|
9
9
|
wordWrap: boolean
|
|
10
|
+
/** Dark/light palette selector. Defaults to `true` for the dark-by-default viewer. */
|
|
11
|
+
isDark?: boolean
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
export function JsonLogLine({ content, level, wordWrap }: JsonLogLineProps) {
|
|
14
|
+
export function JsonLogLine({ content, level, wordWrap, isDark = true }: JsonLogLineProps) {
|
|
13
15
|
const [expanded, setExpanded] = useState(false)
|
|
14
|
-
const
|
|
16
|
+
const palette = useMemo(() => getLogPalette(isDark), [isDark])
|
|
17
|
+
const levelColor = getLogLevelColor(level, isDark)
|
|
15
18
|
|
|
16
19
|
const parsed = useMemo(() => {
|
|
17
20
|
try {
|
|
@@ -36,17 +39,17 @@ export function JsonLogLine({ content, level, wordWrap }: JsonLogLineProps) {
|
|
|
36
39
|
<span className={levelColor}>
|
|
37
40
|
<button
|
|
38
41
|
onClick={() => setExpanded(!expanded)}
|
|
39
|
-
className=
|
|
42
|
+
className={`inline-flex items-center gap-0.5 ${palette.hoverSurface} rounded px-0.5 -ml-0.5 align-middle`}
|
|
40
43
|
>
|
|
41
44
|
{expanded
|
|
42
|
-
? <ChevronDown className=
|
|
43
|
-
: <ChevronRight className=
|
|
45
|
+
? <ChevronDown className={`w-3 h-3 shrink-0 ${palette.textTertiary}`} />
|
|
46
|
+
: <ChevronRight className={`w-3 h-3 shrink-0 ${palette.textTertiary}`} />
|
|
44
47
|
}
|
|
45
48
|
</button>
|
|
46
49
|
{!expanded ? (
|
|
47
50
|
<span className={wordWrap ? 'whitespace-pre-wrap break-all' : 'whitespace-pre'}>
|
|
48
51
|
{summary}
|
|
49
|
-
<span className=
|
|
52
|
+
<span className={`${palette.textTertiary} ml-1`}>{`{${fieldCount} fields}`}</span>
|
|
50
53
|
</span>
|
|
51
54
|
) : (
|
|
52
55
|
<span className={`block ml-4 ${wordWrap ? 'whitespace-pre-wrap break-all' : 'whitespace-pre'}`}>
|