diff --git a/bin/README.md b/bin/README.md index 1d7f786..642095c 100644 --- a/bin/README.md +++ b/bin/README.md @@ -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:29:48_UTC -- **Git Commit**: b6d56da +- **Build Time**: 2025-11-05_13:33:17_UTC +- **Git Commit**: b44ee26 ## Recent Updates (v1.1.0) - ✅ Fixed TUI progress display with line-by-line output diff --git a/bin/dbbackup_darwin_amd64 b/bin/dbbackup_darwin_amd64 index 0f5b4b1..cac798c 100755 Binary files a/bin/dbbackup_darwin_amd64 and b/bin/dbbackup_darwin_amd64 differ diff --git a/bin/dbbackup_darwin_arm64 b/bin/dbbackup_darwin_arm64 index 7f5cf42..bd1394c 100755 Binary files a/bin/dbbackup_darwin_arm64 and b/bin/dbbackup_darwin_arm64 differ diff --git a/bin/dbbackup_freebsd_amd64 b/bin/dbbackup_freebsd_amd64 index 020f7a1..67a2535 100755 Binary files a/bin/dbbackup_freebsd_amd64 and b/bin/dbbackup_freebsd_amd64 differ diff --git a/bin/dbbackup_linux_amd64 b/bin/dbbackup_linux_amd64 index a23c349..981dcb0 100755 Binary files a/bin/dbbackup_linux_amd64 and b/bin/dbbackup_linux_amd64 differ diff --git a/bin/dbbackup_linux_arm64 b/bin/dbbackup_linux_arm64 index f4f8f5e..d8d7fb5 100755 Binary files a/bin/dbbackup_linux_arm64 and b/bin/dbbackup_linux_arm64 differ diff --git a/bin/dbbackup_linux_arm_armv7 b/bin/dbbackup_linux_arm_armv7 index 9db21d7..95ea58b 100755 Binary files a/bin/dbbackup_linux_arm_armv7 and b/bin/dbbackup_linux_arm_armv7 differ diff --git a/bin/dbbackup_netbsd_amd64 b/bin/dbbackup_netbsd_amd64 index d55edcd..d8296dc 100755 Binary files a/bin/dbbackup_netbsd_amd64 and b/bin/dbbackup_netbsd_amd64 differ diff --git a/bin/dbbackup_openbsd_amd64 b/bin/dbbackup_openbsd_amd64 index 8f86de3..227060c 100755 Binary files a/bin/dbbackup_openbsd_amd64 and b/bin/dbbackup_openbsd_amd64 differ diff --git a/bin/dbbackup_windows_amd64.exe b/bin/dbbackup_windows_amd64.exe index 3a21a54..3a2e0b6 100755 Binary files a/bin/dbbackup_windows_amd64.exe and b/bin/dbbackup_windows_amd64.exe differ diff --git a/bin/dbbackup_windows_arm64.exe b/bin/dbbackup_windows_arm64.exe index 2f75f59..12a513d 100755 Binary files a/bin/dbbackup_windows_arm64.exe and b/bin/dbbackup_windows_arm64.exe differ diff --git a/dbbackup b/dbbackup index a23c349..981dcb0 100755 Binary files a/dbbackup and b/dbbackup differ diff --git a/internal/tui/backup_exec.go b/internal/tui/backup_exec.go index 4e0c253..43d9b72 100644 --- a/internal/tui/backup_exec.go +++ b/internal/tui/backup_exec.go @@ -192,42 +192,44 @@ func (m BackupExecutionModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { func (m BackupExecutionModel) View() string { var s strings.Builder + // Clear screen with newlines and render header + s.WriteString("\n\n") header := titleStyle.Render("🔄 Backup Execution") - s.WriteString(fmt.Sprintf("\n%s\n\n", header)) + s.WriteString(header) + s.WriteString("\n\n") - // Backup details - s.WriteString(fmt.Sprintf("%-12s %s\n", "Type:", m.backupType)) + // Backup details - properly aligned + s.WriteString(fmt.Sprintf(" %-10s %s\n", "Type:", m.backupType)) if m.databaseName != "" { - s.WriteString(fmt.Sprintf("%-12s %s\n", "Database:", m.databaseName)) + s.WriteString(fmt.Sprintf(" %-10s %s\n", "Database:", m.databaseName)) } if m.ratio > 0 { - s.WriteString(fmt.Sprintf("%-12s %d\n", "Sample Ratio:", m.ratio)) + s.WriteString(fmt.Sprintf(" %-10s %d\n", "Sample:", m.ratio)) } - s.WriteString(fmt.Sprintf("%-12s %s\n", "Duration:", time.Since(m.startTime).Round(time.Second))) + s.WriteString(fmt.Sprintf(" %-10s %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("%-12s %s %s\n", "Status:", spinner[frame], m.status)) + s.WriteString(fmt.Sprintf(" %s %s\n", spinner[frame], m.status)) } else { - s.WriteString(fmt.Sprintf("%-12s %s\n", "Status:", m.status)) - s.WriteString("\n") + s.WriteString(fmt.Sprintf(" %s\n\n", m.status)) if m.err != nil { - s.WriteString(fmt.Sprintf("❌ Error: %v\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 { line = strings.TrimSpace(line) if line != "" { - s.WriteString(line + "\n") + s.WriteString(" " + line + "\n") } } } - s.WriteString("\n⌨️ Press Enter or ESC to return to menu\n") + s.WriteString("\n ⌨️ Press Enter or ESC to return to menu\n") } return s.String()