Изменение на 23.02.2026 22:06
This commit is contained in:
@@ -38,6 +38,7 @@ var (
|
||||
tuiStyleTime = lipgloss.NewStyle().Foreground(tuiColorGray)
|
||||
tuiStyleStep = lipgloss.NewStyle().Foreground(tuiColorWhite).Bold(true)
|
||||
tuiStyleHeader = lipgloss.NewStyle().Foreground(tuiColorBlue).Bold(true).Padding(0, 1)
|
||||
tuiStyleVersion = lipgloss.NewStyle().Foreground(tuiColorCyan)
|
||||
tuiStyleDone = lipgloss.NewStyle().Foreground(tuiColorGreen).Bold(true)
|
||||
)
|
||||
|
||||
@@ -94,6 +95,7 @@ type tuiModel struct {
|
||||
outPath string
|
||||
apiURL string
|
||||
workers int
|
||||
version string
|
||||
|
||||
done bool
|
||||
cancelFn func() // вызывается при выходе пользователем во время обработки
|
||||
@@ -204,11 +206,15 @@ func (m tuiModel) View() string {
|
||||
func (m tuiModel) renderTop(height int) string {
|
||||
var b strings.Builder
|
||||
|
||||
// ── Строка 1: заголовок + время ──────────────────────────────────
|
||||
// ── Строка 1: заголовок + версия + время ───────────────────────────
|
||||
elapsed := time.Since(m.startTime).Round(time.Second)
|
||||
b.WriteString(fmt.Sprintf(" %s %s\n",
|
||||
tuiStyleHeader.Render("GenAudioBookInfo"),
|
||||
tuiStyleTime.Render(elapsed.String())))
|
||||
var titleStr string
|
||||
if m.version != "" {
|
||||
titleStr = tuiStyleHeader.Render("GenAudioBookInfo") + " " + tuiStyleVersion.Render("v"+m.version)
|
||||
} else {
|
||||
titleStr = tuiStyleHeader.Render("GenAudioBookInfo")
|
||||
}
|
||||
b.WriteString(fmt.Sprintf(" %s %s\n", titleStr, tuiStyleTime.Render(elapsed.String())))
|
||||
|
||||
// ── Строка 2: пути ───────────────────────────────────────────────
|
||||
b.WriteString(fmt.Sprintf(" %s %s → %s %s\n\n",
|
||||
@@ -375,10 +381,11 @@ type TUILogger struct {
|
||||
outPath string
|
||||
apiURL string
|
||||
workers int
|
||||
version string
|
||||
}
|
||||
|
||||
// NewTUILogger создаёт TUILogger.
|
||||
func NewTUILogger(total int, inPath, outPath, apiURL string, workers int) *TUILogger {
|
||||
func NewTUILogger(total int, inPath, outPath, apiURL, version string, workers int) *TUILogger {
|
||||
return &TUILogger{
|
||||
logChan: make(chan tuiLogEntry, 500),
|
||||
bookDoneCh: make(chan bool, 200),
|
||||
@@ -387,6 +394,7 @@ func NewTUILogger(total int, inPath, outPath, apiURL string, workers int) *TUILo
|
||||
outPath: outPath,
|
||||
apiURL: apiURL,
|
||||
workers: workers,
|
||||
version: version,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -417,6 +425,7 @@ func (l *TUILogger) Run(cancelFn func()) {
|
||||
outPath: l.outPath,
|
||||
apiURL: l.apiURL,
|
||||
workers: l.workers,
|
||||
version: l.version,
|
||||
cancelFn: cancelFn,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user