ethagent 3.3.3 → 3.3.4
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
CHANGED
package/src/app/FirstRun.tsx
CHANGED
|
@@ -244,7 +244,7 @@ export const FirstRun: React.FC<FirstRunProps> = ({ onComplete, onCancel }) => {
|
|
|
244
244
|
footer?: string,
|
|
245
245
|
): React.ReactElement => (
|
|
246
246
|
<Box flexDirection="column" padding={1}>
|
|
247
|
-
<Splash
|
|
247
|
+
<Splash />
|
|
248
248
|
<Box marginTop={1}>
|
|
249
249
|
<Surface
|
|
250
250
|
title={title}
|
|
@@ -263,7 +263,7 @@ export const FirstRun: React.FC<FirstRunProps> = ({ onComplete, onCancel }) => {
|
|
|
263
263
|
bodyOwnsTimeline = false,
|
|
264
264
|
): React.ReactElement => (
|
|
265
265
|
<Box flexDirection="column" padding={1}>
|
|
266
|
-
<Splash
|
|
266
|
+
<Splash />
|
|
267
267
|
{bodyOwnsTimeline ? null : (
|
|
268
268
|
<Box marginTop={1} marginBottom={1}>
|
|
269
269
|
<FirstRunTimeline current={firstRunStageNumber(currentKind)} />
|
package/src/ui/BrandSplash.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react'
|
|
2
2
|
import { Text, Box } from 'ink'
|
|
3
|
-
import { theme } from './theme.js'
|
|
3
|
+
import { theme, gradientColor } from './theme.js'
|
|
4
4
|
|
|
5
5
|
const glyphs = {
|
|
6
6
|
ethagent: `░░░░░░░╗░░░░░░░░╗░░╗ ░░╗ █████╗ ██████╗ ███████╗███╗ ██╗████████╗
|
|
@@ -39,10 +39,15 @@ const glyphs = {
|
|
|
39
39
|
|
|
40
40
|
const Eyes = () => {
|
|
41
41
|
const lines = glyphs.eyes.split('\n')
|
|
42
|
+
const maxWidth = Math.max(1, ...lines.map(l => l.length))
|
|
42
43
|
return (
|
|
43
44
|
<Box flexDirection="column">
|
|
44
45
|
{lines.map((line, li) => (
|
|
45
|
-
<Text key={li}
|
|
46
|
+
<Text key={li}>
|
|
47
|
+
{[...line].map((ch, ci) => (
|
|
48
|
+
<Text key={ci} color={gradientColor(maxWidth <= 1 ? 0 : ci / (maxWidth - 1))}>{ch}</Text>
|
|
49
|
+
))}
|
|
50
|
+
</Text>
|
|
46
51
|
))}
|
|
47
52
|
</Box>
|
|
48
53
|
)
|
|
@@ -53,10 +58,9 @@ type SplashProps = {
|
|
|
53
58
|
tipLine?: string
|
|
54
59
|
updateNotice?: string | null
|
|
55
60
|
compact?: boolean
|
|
56
|
-
showTagline?: boolean
|
|
57
61
|
}
|
|
58
62
|
|
|
59
|
-
export const BrandSplash: React.FC<SplashProps> = ({ contextLine, tipLine, updateNotice, compact
|
|
63
|
+
export const BrandSplash: React.FC<SplashProps> = ({ contextLine, tipLine, updateNotice, compact }) => {
|
|
60
64
|
const [width, setWidth] = useState<number>(() => process.stdout.columns ?? 80)
|
|
61
65
|
|
|
62
66
|
useEffect(() => {
|
|
@@ -77,7 +81,7 @@ export const BrandSplash: React.FC<SplashProps> = ({ contextLine, tipLine, updat
|
|
|
77
81
|
<Text bold color={theme.accentWhite}>ethagent</Text>
|
|
78
82
|
{contextLine ? <Text color={theme.dim}>{contextLine}</Text> : null}
|
|
79
83
|
{tipLine ? <Text color={theme.dim}>{tipLine}</Text> : null}
|
|
80
|
-
{updateNotice ? <Text color={theme.
|
|
84
|
+
{updateNotice ? <Text color={theme.dim}>{updateNotice}</Text> : null}
|
|
81
85
|
</Box>
|
|
82
86
|
)
|
|
83
87
|
}
|
|
@@ -91,35 +95,31 @@ export const BrandSplash: React.FC<SplashProps> = ({ contextLine, tipLine, updat
|
|
|
91
95
|
return (
|
|
92
96
|
<Box flexDirection="column" alignSelf="flex-start" padding={1}>
|
|
93
97
|
<Eyes />
|
|
94
|
-
|
|
95
|
-
<Text>
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
</Text>
|
|
100
|
-
) : (
|
|
101
|
-
<Text color={theme.accentWhite}>{glyphs.frame.topLeft.slice(0, 1) + glyphs.frame.horizontal.repeat(w) + glyphs.frame.topRight}</Text>
|
|
102
|
-
)}
|
|
98
|
+
<Text>
|
|
99
|
+
<Text color={theme.dim}>{glyphs.frame.topLeft}</Text>
|
|
100
|
+
<Text color={theme.dim}>{glyphs.tagline}</Text>
|
|
101
|
+
<Text color={theme.dim}>{glyphs.frame.horizontal.repeat(Math.max(0, w - glyphs.tagline.length - 1))}{glyphs.frame.topRight}</Text>
|
|
102
|
+
</Text>
|
|
103
103
|
{logoLines.map((line, i) => (
|
|
104
104
|
<Box key={i}>
|
|
105
|
-
<Text color={theme.
|
|
106
|
-
<Text color={theme.
|
|
107
|
-
<Text color={theme.
|
|
105
|
+
<Text color={theme.dim}>{glyphs.frame.side}</Text>
|
|
106
|
+
<Text color={theme.dim}>{line}</Text>
|
|
107
|
+
<Text color={theme.dim}>{glyphs.frame.side}</Text>
|
|
108
108
|
</Box>
|
|
109
109
|
))}
|
|
110
110
|
{bottomInline ? (
|
|
111
111
|
<Text>
|
|
112
|
-
<Text color={theme.
|
|
113
|
-
<Text color={theme.
|
|
114
|
-
<Text color={theme.
|
|
112
|
+
<Text color={theme.dim}>{glyphs.frame.bottomLeft}</Text>
|
|
113
|
+
<Text color={theme.dim}>{bottomInline}</Text>
|
|
114
|
+
<Text color={theme.dim}>{glyphs.frame.horizontal.repeat(bottomPad)}{glyphs.frame.bottomRight}</Text>
|
|
115
115
|
</Text>
|
|
116
116
|
) : (
|
|
117
|
-
<Text color={theme.
|
|
117
|
+
<Text color={theme.dim}>{glyphs.frame.bottomLeft.slice(0, 1) + glyphs.frame.horizontal.repeat(w) + glyphs.frame.bottomRight}</Text>
|
|
118
118
|
)}
|
|
119
119
|
{tipLine || updateNotice ? (
|
|
120
120
|
<Box marginTop={1} flexDirection="column">
|
|
121
121
|
{tipLine ? <Text color={theme.dim}>{tipLine}</Text> : null}
|
|
122
|
-
{updateNotice ? <Text color={theme.
|
|
122
|
+
{updateNotice ? <Text color={theme.dim}>{updateNotice}</Text> : null}
|
|
123
123
|
</Box>
|
|
124
124
|
) : null}
|
|
125
125
|
</Box>
|