Add text selection and copy capability to terminal UI
This commit is contained in:
@@ -152,7 +152,9 @@ func (s *DetailScreen) renderContent() string {
|
||||
|
||||
statusText := s.status
|
||||
if s.status == wireguard.StatusConnected {
|
||||
statusText = theme.StyleSuccess.Bold(true).Render("● " + s.status)
|
||||
duration := time.Since(s.lastHandshake)
|
||||
quality := wireguard.CalculateQuality(duration)
|
||||
statusText = theme.StyleSuccess.Bold(true).Render("● " + s.status + " (" + quality + ")")
|
||||
} else {
|
||||
statusText = theme.StyleError.Bold(true).Render("● " + s.status)
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@ func (s *HelpScreen) View() string {
|
||||
// Breadcrumb: Help
|
||||
breadcrumb := components.RenderBreadcrumb([]components.BreadcrumbItem{{Label: "Help", ID: "help"}})
|
||||
|
||||
|
||||
// Styles
|
||||
borderStyle := lipgloss.NewStyle().
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
@@ -90,6 +89,11 @@ func (s *HelpScreen) View() string {
|
||||
keyStyle.Render("/") + descStyle.Render("Search") + "\n" +
|
||||
keyStyle.Render("q") + descStyle.Render("Quit")
|
||||
|
||||
copyGroup := categoryStyle.Render("Text Selection & Copy") + "\n" +
|
||||
keyStyle.Render("SHIFT+drag") + descStyle.Render("Select text") + "\n" +
|
||||
keyStyle.Render("Ctrl+Shift+C") + descStyle.Render("Copy (Linux)") + "\n" +
|
||||
keyStyle.Render("Cmd+C") + descStyle.Render("Copy (macOS)")
|
||||
|
||||
// Two-column layout
|
||||
leftColumn := lipgloss.JoinVertical(lipgloss.Left,
|
||||
navigationGroup,
|
||||
@@ -99,6 +103,8 @@ func (s *HelpScreen) View() string {
|
||||
|
||||
rightColumn := lipgloss.JoinVertical(lipgloss.Left,
|
||||
otherGroup,
|
||||
"",
|
||||
copyGroup,
|
||||
)
|
||||
|
||||
content := lipgloss.JoinHorizontal(lipgloss.Top, leftColumn, " ", rightColumn)
|
||||
|
||||
Reference in New Issue
Block a user