From 9cdd4b099d96fd50a9c25f318a057cf079de58c8 Mon Sep 17 00:00:00 2001 From: AlexL Date: Thu, 15 Oct 2026 20:08:57 +0200 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.rs | 4 ++-- src/library.rs | 4 ++-- src/ui.rs | 43 +++++++++++++++---------------------------- 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/src/app.rs b/src/app.rs index 3660dbc..e9edb26 100644 --- a/src/app.rs +++ b/src/app.rs @@ -91,7 +91,7 @@ impl App { fn default_status(&self) -> String { match self.playing_index.and_then(|i| self.library.track(i)) { - Some(t) => format!("▶ {} — {}", t.artist, t.title), + Some(t) => format!("{} — {}", t.artist, t.title), None => "F1 — помощь".into(), } } @@ -328,7 +328,7 @@ impl App { match self.player.play(&track.path, None) { Ok(_) => { self.playing_index = Some(index_in_library); - self.set_status(format!("▶ {} — {}", track.artist, track.title)); + self.set_status(format!("{} — {}", track.artist, track.title)); } Err(e) => self.set_status(format!("Ошибка: {}", e)), } diff --git a/src/library.rs b/src/library.rs index fb16fb8..0d2f740 100644 --- a/src/library.rs +++ b/src/library.rs @@ -5,8 +5,8 @@ use crate::track::Track; #[derive(Clone)] pub enum RightRow { - /// Заголовок группы: в режиме ByArtist — название альбома, - /// в режиме ByAlbum — имя исполнителя. + /// Заголовок группы: в режиме ByArtist - название альбома, + /// в режиме ByAlbum - имя исполнителя. AlbumHeader { name: String }, Track { index_in_library: usize }, } diff --git a/src/ui.rs b/src/ui.rs index 932fa66..973fefe 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -155,6 +155,7 @@ fn draw_right_panel(f: &mut Frame, app: &mut App, area: Rect) { Span::raw(marker), Span::styled(format!("{}{}", num, title), style), Span::raw(" "), + // цвет таймера Span::styled(dur, Style::default().fg(Color::DarkGray)), ])) } @@ -171,20 +172,20 @@ fn draw_right_panel(f: &mut Frame, app: &mut App, area: Rect) { let title = match app.library.sort_mode { SortMode::ByArtist => { if app.library.filter.is_empty() { - format!(" Альбомы и треки — {} ", selected_name) + format!(" Альбомы и треки - {} ", selected_name) } else { format!( - " Альбомы и треки — {} [{}] ", + " Альбомы и треки - {} [{}] ", selected_name, app.library.filter ) } } SortMode::ByAlbum => { if app.library.filter.is_empty() { - format!(" Исполнители и треки — {} ", selected_name) + format!(" Исполнители и треки - {} ", selected_name) } else { format!( - " Исполнители и треки — {} [{}] ", + " Исполнители и треки - {} [{}] ", selected_name, app.library.filter ) } @@ -246,27 +247,13 @@ fn draw_equalizer(f: &mut Frame, app: &App, area: Rect) { } let bars: Vec = display - .iter() - .enumerate() - .map(|(i, &v)| { - let ratio = i as f64 / (num_bars - 1).max(1) as f64; - let color = if ratio < 0.2 { - Color::Rgb(0, 100, 255) - } else if ratio < 0.4 { - Color::Rgb(0, 200, 255) - } else if ratio < 0.6 { - Color::Rgb(0, 255, 100) - } else if ratio < 0.8 { - Color::Rgb(255, 200, 0) - } else { - Color::Rgb(255, 50, 50) - }; - - Bar::default() - .value((v * 100.0) as u64) - .style(Style::default().fg(color)) - }) - .collect(); + .iter() + .map(|&v| { + Bar::default() + .value((v * 100.0) as u64) + .style(Style::default().fg(Color::Rgb(100, 149, 237))) + }) + .collect(); let chart = BarChart::default() .data(BarGroup::default().bars(&bars)) @@ -298,7 +285,7 @@ fn draw_status(f: &mut Frame, app: &App, area: Rect) { let (status_text, status_title) = if app.input_mode == InputMode::Search { (format!("> {}", app.search_buffer), " Поиск ") } else { - let prefix = if app.player.is_paused() { "⏸ " } else { "" }; + let prefix = if app.player.is_paused() { "|| " } else { " " }; (format!("{}{}", prefix, app.status), " Статус ") }; @@ -332,7 +319,7 @@ fn draw_status(f: &mut Frame, app: &App, area: Rect) { .block(Block::default().borders(Borders::ALL).title(" Mode ")); f.render_widget(mode, inner[2]); - let vol_text = format!("vol: {}%", (app.player.volume() * 100.0) as u32); + let vol_text = format!("Vol: {}%", (app.player.volume() * 100.0) as u32); let vol = Paragraph::new(vol_text) .alignment(Alignment::Center) .block(Block::default().borders(Borders::ALL).title(" ")); @@ -389,7 +376,7 @@ fn draw_help(f: &mut Frame, screen: Rect) { Line::from(" q / Esc выход"), Line::from(""), Line::from(Span::styled( - " F1 или Esc — закрыть ", + " F1 или Esc - закрыть ", Style::default().fg(Color::DarkGray), )), ];