fix: clean aligned TUI layout - remove duplicates
This commit is contained in:
@ -195,31 +195,36 @@ 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))
|
||||
}
|
||||
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_") {
|
||||
s.WriteString(line + "\n")
|
||||
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("\n⌨️ Press Enter or ESC to return to menu\n")
|
||||
|
||||
Reference in New Issue
Block a user