fix(tui): center all tabs, full-screen SFTP, muted inline keybindings
This commit is contained in:
+18
-14
@@ -526,20 +526,21 @@ func (t *SFTPBrowserTab) View() string {
|
||||
defer t.mu.Unlock()
|
||||
|
||||
if !t.connected && t.err != nil {
|
||||
return fmt.Sprintf("%s\n\n%s",
|
||||
ErrorStyle.Render(fmt.Sprintf("SFTP Error: %v", t.err)),
|
||||
SubtitleStyle.Render("Press Esc to close"))
|
||||
var b strings.Builder
|
||||
b.WriteString(lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
ErrorStyle.Render(fmt.Sprintf("SFTP Error: %v", t.err))))
|
||||
b.WriteString("\n\n")
|
||||
b.WriteString(lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
SubtitleStyle.Render("Press Esc to close")))
|
||||
return b.String()
|
||||
}
|
||||
|
||||
if !t.connected {
|
||||
return SubtitleStyle.Render(fmt.Sprintf("Connecting SFTP to %s...", t.host.Name))
|
||||
return lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
SubtitleStyle.Render(fmt.Sprintf("Connecting SFTP to %s...", t.host.Name)))
|
||||
}
|
||||
|
||||
contentW := t.width
|
||||
if contentW < 40 {
|
||||
contentW = 80
|
||||
}
|
||||
halfW := contentW/2 - 1
|
||||
halfW := t.width / 2
|
||||
if halfW < 20 {
|
||||
halfW = 20
|
||||
}
|
||||
@@ -549,21 +550,24 @@ func (t *SFTPBrowserTab) View() string {
|
||||
|
||||
var b strings.Builder
|
||||
|
||||
b.WriteString(AppTitleStyle.Render(fmt.Sprintf("SFTP: %s@%s", t.host.Username, t.host.Hostname)))
|
||||
b.WriteString(lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
AppTitleStyle.Render(fmt.Sprintf("SFTP: %s@%s", t.host.Username, t.host.Hostname))))
|
||||
b.WriteString("\n")
|
||||
|
||||
b.WriteString(lipgloss.JoinHorizontal(lipgloss.Top, leftView, rightView))
|
||||
|
||||
if t.err != nil {
|
||||
b.WriteString("\n" + ErrorStyle.Render(fmt.Sprintf("Error: %v", t.err)))
|
||||
b.WriteString("\n" + lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
ErrorStyle.Render(fmt.Sprintf("Error: %v", t.err))))
|
||||
}
|
||||
|
||||
if t.transferring && t.transferMsg != "" {
|
||||
b.WriteString("\n" + InfoStyle.Render(t.transferMsg))
|
||||
b.WriteString("\n" + lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
InfoStyle.Render(t.transferMsg)))
|
||||
}
|
||||
|
||||
b.WriteString("\n" + SubtitleStyle.Render(
|
||||
"Tab:switch ↑↓:nav /:filter C:copy D:delete N:mkdir R:refresh Esc:close"))
|
||||
b.WriteString("\n" + lipgloss.PlaceHorizontal(t.width, lipgloss.Center,
|
||||
SubtitleStyle.Render("Tab:switch ↑↓:nav /:filter C:copy D:delete N:mkdir R:refresh Esc:close Ctrl+Tab:switch Ctrl+Q:close")))
|
||||
|
||||
return b.String()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user