v3.42.35: Standardize TUI title prefixes for consistency
- [CHECK] for diagnosis, previews, validations - [STATS] for status, history, metrics views - [SELECT] for selection/browsing screens - [EXEC] for execution screens (backup/restore) - [CONFIG] for settings/configuration Fixed 8 files with inconsistent prefixes: - diagnose_view.go: [SEARCH] → [CHECK] - settings.go: [CFG] → [CONFIG] - menu.go: [DB] → clean title - history.go: [HISTORY] → [STATS] - backup_manager.go: [DB] → [SELECT] - archive_browser.go: [PKG]/[SEARCH] → [SELECT] - restore_preview.go: added [CHECK] - restore_exec.go: [RESTORE] → [EXEC]
This commit is contained in:
@@ -3,9 +3,9 @@
|
|||||||
This directory contains pre-compiled binaries for the DB Backup Tool across multiple platforms and architectures.
|
This directory contains pre-compiled binaries for the DB Backup Tool across multiple platforms and architectures.
|
||||||
|
|
||||||
## Build Information
|
## Build Information
|
||||||
- **Version**: 3.42.33
|
- **Version**: 3.42.34
|
||||||
- **Build Time**: 2026-01-14_15:19:48_UTC
|
- **Build Time**: 2026-01-14_15:24:20_UTC
|
||||||
- **Git Commit**: 4e09066
|
- **Git Commit**: 721e53f
|
||||||
|
|
||||||
## Recent Updates (v1.1.0)
|
## Recent Updates (v1.1.0)
|
||||||
- ✅ Fixed TUI progress display with line-by-line output
|
- ✅ Fixed TUI progress display with line-by-line output
|
||||||
|
|||||||
@@ -251,13 +251,13 @@ func (m ArchiveBrowserModel) View() string {
|
|||||||
var s strings.Builder
|
var s strings.Builder
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
title := "[PKG] Backup Archives"
|
title := "[SELECT] Backup Archives"
|
||||||
if m.mode == "restore-single" {
|
if m.mode == "restore-single" {
|
||||||
title = "[PKG] Select Archive to Restore (Single Database)"
|
title = "[SELECT] Select Archive to Restore (Single Database)"
|
||||||
} else if m.mode == "restore-cluster" {
|
} else if m.mode == "restore-cluster" {
|
||||||
title = "[PKG] Select Archive to Restore (Cluster)"
|
title = "[SELECT] Select Archive to Restore (Cluster)"
|
||||||
} else if m.mode == "diagnose" {
|
} else if m.mode == "diagnose" {
|
||||||
title = "[SEARCH] Select Archive to Diagnose"
|
title = "[SELECT] Select Archive to Diagnose"
|
||||||
}
|
}
|
||||||
|
|
||||||
s.WriteString(titleStyle.Render(title))
|
s.WriteString(titleStyle.Render(title))
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ func (m BackupManagerModel) View() string {
|
|||||||
var s strings.Builder
|
var s strings.Builder
|
||||||
|
|
||||||
// Title
|
// Title
|
||||||
s.WriteString(TitleStyle.Render("[DB] Backup Archive Manager"))
|
s.WriteString(TitleStyle.Render("[SELECT] Backup Archive Manager"))
|
||||||
s.WriteString("\n\n")
|
s.WriteString("\n\n")
|
||||||
|
|
||||||
// Status line (no box, bold+color accents)
|
// Status line (no box, bold+color accents)
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ func (m DiagnoseViewModel) View() string {
|
|||||||
var s strings.Builder
|
var s strings.Builder
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
s.WriteString(titleStyle.Render("[SEARCH] Backup Diagnosis"))
|
s.WriteString(titleStyle.Render("[CHECK] Backup Diagnosis"))
|
||||||
s.WriteString("\n\n")
|
s.WriteString("\n\n")
|
||||||
|
|
||||||
// Archive info
|
// Archive info
|
||||||
@@ -351,7 +351,7 @@ func (m DiagnoseViewModel) renderClusterResults() string {
|
|||||||
|
|
||||||
s.WriteString(strings.Repeat("-", 60))
|
s.WriteString(strings.Repeat("-", 60))
|
||||||
s.WriteString("\n")
|
s.WriteString("\n")
|
||||||
s.WriteString(diagnoseHeaderStyle.Render(fmt.Sprintf("[STATS] CLUSTER SUMMARY: %d databases\n", len(m.results))))
|
s.WriteString(diagnoseHeaderStyle.Render(fmt.Sprintf("CLUSTER SUMMARY: %d databases\n", len(m.results))))
|
||||||
s.WriteString(strings.Repeat("-", 60))
|
s.WriteString(strings.Repeat("-", 60))
|
||||||
s.WriteString("\n\n")
|
s.WriteString("\n\n")
|
||||||
|
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ func (m HistoryViewModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
func (m HistoryViewModel) View() string {
|
func (m HistoryViewModel) View() string {
|
||||||
var s strings.Builder
|
var s strings.Builder
|
||||||
|
|
||||||
header := titleStyle.Render("[HISTORY] Operation History")
|
header := titleStyle.Render("[STATS] Operation History")
|
||||||
s.WriteString(fmt.Sprintf("\n%s\n\n", header))
|
s.WriteString(fmt.Sprintf("\n%s\n\n", header))
|
||||||
|
|
||||||
if len(m.history) == 0 {
|
if len(m.history) == 0 {
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ func (m *MenuModel) View() string {
|
|||||||
var s string
|
var s string
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
header := titleStyle.Render("[DB] Database Backup Tool - Interactive Menu")
|
header := titleStyle.Render("Database Backup Tool - Interactive Menu")
|
||||||
s += fmt.Sprintf("\n%s\n\n", header)
|
s += fmt.Sprintf("\n%s\n\n", header)
|
||||||
|
|
||||||
if len(m.dbTypes) > 0 {
|
if len(m.dbTypes) > 0 {
|
||||||
|
|||||||
@@ -321,9 +321,9 @@ func (m RestoreExecutionModel) View() string {
|
|||||||
s.Grow(512) // Pre-allocate estimated capacity for better performance
|
s.Grow(512) // Pre-allocate estimated capacity for better performance
|
||||||
|
|
||||||
// Title
|
// Title
|
||||||
title := "[RESTORE] Restoring Database"
|
title := "[EXEC] Restoring Database"
|
||||||
if m.restoreType == "restore-cluster" {
|
if m.restoreType == "restore-cluster" {
|
||||||
title = "[RESTORE] Restoring Cluster"
|
title = "[EXEC] Restoring Cluster"
|
||||||
}
|
}
|
||||||
s.WriteString(titleStyle.Render(title))
|
s.WriteString(titleStyle.Render(title))
|
||||||
s.WriteString("\n\n")
|
s.WriteString("\n\n")
|
||||||
|
|||||||
@@ -339,9 +339,9 @@ func (m RestorePreviewModel) View() string {
|
|||||||
var s strings.Builder
|
var s strings.Builder
|
||||||
|
|
||||||
// Title
|
// Title
|
||||||
title := "Restore Preview"
|
title := "[CHECK] Restore Preview"
|
||||||
if m.mode == "restore-cluster" {
|
if m.mode == "restore-cluster" {
|
||||||
title = "Cluster Restore Preview"
|
title = "[CHECK] Cluster Restore Preview"
|
||||||
}
|
}
|
||||||
s.WriteString(titleStyle.Render(title))
|
s.WriteString(titleStyle.Render(title))
|
||||||
s.WriteString("\n\n")
|
s.WriteString("\n\n")
|
||||||
|
|||||||
@@ -688,7 +688,7 @@ func (m SettingsModel) View() string {
|
|||||||
var b strings.Builder
|
var b strings.Builder
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
header := titleStyle.Render("[CFG] Configuration Settings")
|
header := titleStyle.Render("[CONFIG] Configuration Settings")
|
||||||
b.WriteString(fmt.Sprintf("\n%s\n\n", header))
|
b.WriteString(fmt.Sprintf("\n%s\n\n", header))
|
||||||
|
|
||||||
// Settings list
|
// Settings list
|
||||||
|
|||||||
@@ -120,12 +120,36 @@ var ShortcutStyle = lipgloss.NewStyle().
|
|||||||
// =============================================================================
|
// =============================================================================
|
||||||
// HELPER PREFIXES (no emoticons)
|
// HELPER PREFIXES (no emoticons)
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
// Convention for TUI titles/headers:
|
||||||
|
// [CHECK] - Verification/diagnosis screens
|
||||||
|
// [STATS] - Statistics/status screens
|
||||||
|
// [SELECT] - Selection/browser screens
|
||||||
|
// [EXEC] - Execution/running screens
|
||||||
|
// [CONFIG] - Configuration/settings screens
|
||||||
|
//
|
||||||
|
// Convention for status messages:
|
||||||
|
// [OK] - Success
|
||||||
|
// [FAIL] - Error/failure
|
||||||
|
// [WAIT] - In progress
|
||||||
|
// [WARN] - Warning
|
||||||
|
// [INFO] - Information
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// Title prefixes (for view headers)
|
||||||
|
PrefixCheck = "[CHECK]"
|
||||||
|
PrefixStats = "[STATS]"
|
||||||
|
PrefixSelect = "[SELECT]"
|
||||||
|
PrefixExec = "[EXEC]"
|
||||||
|
PrefixConfig = "[CONFIG]"
|
||||||
|
|
||||||
|
// Status prefixes
|
||||||
PrefixOK = "[OK]"
|
PrefixOK = "[OK]"
|
||||||
PrefixFail = "[FAIL]"
|
PrefixFail = "[FAIL]"
|
||||||
PrefixWarn = "[!]"
|
PrefixWait = "[WAIT]"
|
||||||
PrefixInfo = "[i]"
|
PrefixWarn = "[WARN]"
|
||||||
|
PrefixInfo = "[INFO]"
|
||||||
|
|
||||||
|
// List item prefixes
|
||||||
PrefixPlus = "[+]"
|
PrefixPlus = "[+]"
|
||||||
PrefixMinus = "[-]"
|
PrefixMinus = "[-]"
|
||||||
PrefixArrow = ">"
|
PrefixArrow = ">"
|
||||||
|
|||||||
Reference in New Issue
Block a user