Skip to content

Commit a26d556

Browse files
committed
feat: add styled terminal wordmark logo to TUI form and scan views
Made-with: Cursor
1 parent e76adee commit a26d556

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

internal/tui/form.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ var (
3131
blurredStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("240"))
3232
labelStyle = lipgloss.NewStyle().Width(18)
3333
titleStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("86")).MarginBottom(1)
34+
formHeadStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("240")).MarginBottom(1)
3435
errorStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("196"))
3536
hintStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("241")).MarginTop(1)
3637
toggleOnStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("82")).Bold(true)
@@ -195,7 +196,8 @@ func (m formModel) Update(msg tea.Msg) (formModel, tea.Cmd) {
195196
func (m formModel) View() string {
196197
var b strings.Builder
197198

198-
b.WriteString(titleStyle.Render("subenum TUI — Configure Scan") + "\n\n")
199+
b.WriteString(logo() + "\n\n")
200+
b.WriteString(titleStyle.Render("Configure Scan") + "\n")
199201

200202
row := func(fieldIdx int, label string, content string) {
201203
lbl := labelStyle.Render(label + ":")

internal/tui/logo.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package tui
2+
3+
import "github.com/charmbracelet/lipgloss"
4+
5+
var (
6+
logoPromptStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("34")).Bold(true) // green $
7+
logoWordStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("255")).Bold(true) // white "sub"
8+
logoAccentStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("39")).Bold(true) // blue "enum"
9+
logoCursorStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("39")).Bold(true) // blue cursor block
10+
logoTaglineStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("240")) // muted tagline
11+
)
12+
13+
// logo returns the styled wordmark as a single string ready to embed in a View.
14+
//
15+
// $ subenum▌
16+
// fast concurrent subdomain enumeration // written in Go
17+
func logo() string {
18+
line1 := logoPromptStyle.Render("$ ") +
19+
logoWordStyle.Render("sub") +
20+
logoAccentStyle.Render("enum") +
21+
logoCursorStyle.Render("▌")
22+
23+
line2 := logoTaglineStyle.Render("fast concurrent subdomain enumeration // written in Go")
24+
25+
return line1 + "\n" + line2
26+
}

internal/tui/scan_view.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ func (m scanViewModel) View() string {
105105
if m.simMode {
106106
mode = "SIMULATION"
107107
}
108-
b.WriteString(headerStyle.Render(fmt.Sprintf("subenum — Scanning [%s mode]", mode)) + "\n\n")
108+
b.WriteString(logo() + "\n")
109+
b.WriteString(headerStyle.Render(fmt.Sprintf("Scanning [%s mode]", mode)) + "\n\n")
109110

110111
// Extra messages (wildcard, errors)
111112
for _, msg := range m.messages {

0 commit comments

Comments
 (0)