From bbee1ca79d7ad22d7cb39651eff5350238a63f7e Mon Sep 17 00:00:00 2001 From: maxstrb Date: Wed, 24 Sep 2025 22:38:01 +0200 Subject: [PATCH] tui fixed v1 --- src/app.rs | 4 ++++ src/days.rs | 1 + src/events.rs | 1 + src/popup/day_details.rs | 13 +++++++++---- src/popup/mod.rs | 4 ++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/app.rs b/src/app.rs index f56ceb2..8f6812c 100644 --- a/src/app.rs +++ b/src/app.rs @@ -165,6 +165,10 @@ impl App<'_> { AppEvent::Reload => { self.days.reload_day_counts(db); } + AppEvent::TagEdit => { + self.switch_focus(FocusedComponent::DayPopup); + self.day_popup.tag_edit(); + } AppEvent::MonthSet(month) => { self.days.reload(month, self.year.year, 1); } diff --git a/src/days.rs b/src/days.rs index a7de20b..2ba0b14 100644 --- a/src/days.rs +++ b/src/days.rs @@ -215,6 +215,7 @@ impl Days { Some(vec![AppEvent::AddEvent(start, end)]) } + KeyCode::Char('t') => Some(vec![AppEvent::TagEdit]), KeyCode::Down => self.handle_focused_arrows(CursorMovement::Down), KeyCode::Up => self.handle_focused_arrows(CursorMovement::Up), KeyCode::Char(' ') => { diff --git a/src/events.rs b/src/events.rs index 9e9cb14..a57ad04 100644 --- a/src/events.rs +++ b/src/events.rs @@ -12,6 +12,7 @@ pub enum AppEvent { MonthScrolled(Direction), Reload, + TagEdit, AddEvent(NaiveDate, NaiveDate), diff --git a/src/popup/day_details.rs b/src/popup/day_details.rs index 7036411..df74a47 100644 --- a/src/popup/day_details.rs +++ b/src/popup/day_details.rs @@ -71,7 +71,7 @@ impl Focused for DayDetails { None } - KeyCode::Enter => { + KeyCode::Delete => { self.state = State::DeletionConfirm(false); None } @@ -119,7 +119,9 @@ impl DayDetails { if self.events.is_empty() { let outline = Block::bordered() .border_set(border::ROUNDED) - .border_style(Style::new().fg(Color::Blue)); + .border_style(Style::new().fg(Color::Blue)) + .title_alignment(Alignment::Center) + .title(" Day details - edit "); let no_events_text = Paragraph::new("No events for this day") .style(Style::default().fg(Color::Red)) @@ -133,7 +135,10 @@ impl DayDetails { State::EventSelect => { let outline = Block::bordered() .border_set(border::ROUNDED) - .border_style(Style::new().fg(Color::Blue)); + .border_style(Style::new().fg(Color::Blue)) + .title(" Day details - edit ") + .title_alignment(Alignment::Center); + let layout = Layout::vertical([Constraint::Length(3), Constraint::Fill(1)]) .split(outline.inner(area)); outline.render(area, buf); @@ -167,7 +172,7 @@ impl DayDetails { State::DeletionConfirm(confirm) => { let block = Block::bordered() - .title(" Manage Tags ") + .title(" Day details - edit ") .title_alignment(Alignment::Center) .border_set(border::ROUNDED) .border_style(Style::default().fg(Color::Blue)) diff --git a/src/popup/mod.rs b/src/popup/mod.rs index e3609d1..9faca69 100644 --- a/src/popup/mod.rs +++ b/src/popup/mod.rs @@ -46,6 +46,10 @@ impl Popup<'_> { pub fn show_day(&mut self, day: NaiveDate, events: Vec, tag_names: Vec) { self.self_state = PopupType::DayDetails(DayDetails::show_day(day, events, tag_names)); } + + pub fn tag_edit(&mut self) { + self.self_state = PopupType::TagManagement(TagManagement::default()); + } } impl Focused for Popup<'_> {