fix: clean aligned TUI layout - remove duplicates

This commit is contained in:
2025-11-05 13:30:21 +00:00
parent b6d56daf07
commit b44ee26770
13 changed files with 21 additions and 16 deletions

View File

@ -4,8 +4,8 @@ This directory contains pre-compiled binaries for the DB Backup Tool across mult
## Build Information
- **Version**: 1.1.0
- **Build Time**: 2025-11-05_13:20:08_UTC
- **Git Commit**: 161f577
- **Build Time**: 2025-11-05_13:29:48_UTC
- **Git Commit**: b6d56da
## Recent Updates (v1.1.0)
- ✅ Fixed TUI progress display with line-by-line output

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
dbbackup

Binary file not shown.

View File

@ -195,33 +195,38 @@ func (m BackupExecutionModel) View() string {
header := titleStyle.Render("🔄 Backup Execution")
s.WriteString(fmt.Sprintf("\n%s\n\n", header))
s.WriteString(fmt.Sprintf("Type: %s\n", m.backupType))
// Backup details
s.WriteString(fmt.Sprintf("%-12s %s\n", "Type:", m.backupType))
if m.databaseName != "" {
s.WriteString(fmt.Sprintf("Database: %s\n", m.databaseName))
s.WriteString(fmt.Sprintf("%-12s %s\n", "Database:", m.databaseName))
}
if m.ratio > 0 {
s.WriteString(fmt.Sprintf("Sample Ratio: %d\n", m.ratio))
s.WriteString(fmt.Sprintf("%-12s %d\n", "Sample Ratio:", m.ratio))
}
s.WriteString(fmt.Sprintf("Duration: %s\n\n", time.Since(m.startTime).Round(time.Second)))
s.WriteString(fmt.Sprintf("Status: %s\n", m.status))
s.WriteString(fmt.Sprintf("%-12s %s\n", "Duration:", time.Since(m.startTime).Round(time.Second)))
s.WriteString("\n")
// Status with spinner
if !m.done {
spinner := []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"}
frame := int(time.Since(m.startTime).Milliseconds()/100) % len(spinner)
s.WriteString(fmt.Sprintf("\n%s Processing...\n", spinner[frame]))
s.WriteString(fmt.Sprintf("%-12s %s %s\n", "Status:", spinner[frame], m.status))
} else {
s.WriteString(fmt.Sprintf("%-12s %s\n", "Status:", m.status))
s.WriteString("\n")
if m.err != nil {
s.WriteString(fmt.Sprintf("Error: %v\n\n", m.err))
}
s.WriteString(fmt.Sprintf("Error: %v\n", m.err))
} else if m.result != "" {
// Parse and display result cleanly
lines := strings.Split(m.result, "\n")
for _, line := range lines {
if strings.Contains(line, "✅") || strings.Contains(line, "completed") ||
strings.Contains(line, "Size:") || strings.Contains(line, "backup_") {
line = strings.TrimSpace(line)
if line != "" {
s.WriteString(line + "\n")
}
}
}
s.WriteString("\n⌨ Press Enter or ESC to return to menu\n")
}