Implement complete keyboard navigation and UI enhancement
Phase 1 - Panel Navigation: - Add PanelType enum and panel focus state management - Implement Shift+Tab cycling between panels (System → Services → Backup → Network) - Add visual focus indicators with blue borders for focused panels - Preserve existing Tab behavior for host switching Phase 2 - Dynamic Statusbar: - Add bottom statusbar with context-aware shortcuts - Display different shortcuts based on focused panel - Global shortcuts: Tab, Shift+Tab, Up/Down arrows, Q - Panel-specific shortcuts: R (Rebuild), Space/R (Services), B (Backup), N (Network) Phase 3 - Scrolling Support: - Add scroll state management per host and panel type - Implement Up/Down arrow key scrolling within focused panels - Smart scrolling that activates only when content exceeds panel height - Scroll bounds checking to prevent over-scrolling Complete keyboard navigation experience with visual feedback and contextual help.
This commit is contained in:
@@ -292,6 +292,19 @@ impl Components {
|
||||
.bg(Theme::background()),
|
||||
)
|
||||
}
|
||||
|
||||
/// Widget block with focus indicator (blue border)
|
||||
pub fn focused_widget_block(title: &str) -> Block<'_> {
|
||||
Block::default()
|
||||
.title(title)
|
||||
.borders(Borders::ALL)
|
||||
.style(Style::default().fg(Theme::highlight()).bg(Theme::background())) // Blue border for focus
|
||||
.title_style(
|
||||
Style::default()
|
||||
.fg(Theme::highlight()) // Blue title for focus
|
||||
.bg(Theme::background()),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Typography {
|
||||
|
||||
Reference in New Issue
Block a user