proper layering work
This commit is contained in:
@@ -3,29 +3,29 @@
|
||||
meta:
|
||||
id: podtui-navigation-theming-improvements-07
|
||||
feature: podtui-navigation-theming-improvements
|
||||
priority: P2
|
||||
priority: P1
|
||||
depends_on: [podtui-navigation-theming-improvements-05]
|
||||
tags: [implementation, navigation, keyboard]
|
||||
|
||||
objective:
|
||||
- Implement <enter> key to go down into a layer
|
||||
- Implement <escape> key to go up one layer
|
||||
- Update layer navigation to support entering/exiting layers
|
||||
- Enhance enter key to go down into a layer
|
||||
- Enhance escape key to go up multiple layers at once
|
||||
- Add visual feedback when entering/exiting layers
|
||||
- Prevent invalid layer transitions
|
||||
|
||||
deliverables:
|
||||
- Updated layer navigation logic for enter/escape
|
||||
- Updated Navigation component to show enter/escape hints
|
||||
- Updated App.tsx keyboard handlers
|
||||
- Enhanced keyboard handler for enter/escape layer navigation
|
||||
- Updated Navigation component with layer hints
|
||||
- Visual feedback for layer navigation
|
||||
- Layer boundary prevention logic
|
||||
|
||||
steps:
|
||||
- Update Navigation component to show enter/escape navigation hints
|
||||
- Add <enter> key handler in App.tsx useAppKeyboard hook
|
||||
- Add <escape> key handler in App.tsx useAppKeyboard hook
|
||||
- Update layerDepth signal to track current layer (0 = top level)
|
||||
- Implement logic for entering a layer (increase layerDepth)
|
||||
- Implement logic for exiting a layer (decrease layerDepth)
|
||||
- Update useAppKeyboard hook to handle enter for going down
|
||||
- Update useAppKeyboard hook to handle escape for going up multiple layers
|
||||
- Add visual feedback when entering/exiting layers
|
||||
- Update all page components to handle layerDepth prop
|
||||
- Prevent invalid layer transitions (can't go down from max depth)
|
||||
- Update Navigation component to show layer navigation hints
|
||||
- Add visual indicators for current layer position
|
||||
- Test enter to go down, escape to go up
|
||||
- Ensure proper layer nesting behavior
|
||||
|
||||
@@ -34,24 +34,22 @@ tests:
|
||||
- Integration: Test enter/escape navigation between layers
|
||||
|
||||
acceptance_criteria:
|
||||
- <enter> key goes down into a layer
|
||||
- <escape> key goes up one layer
|
||||
- Navigation hints show enter/escape directions
|
||||
- Layer depth is properly tracked and managed
|
||||
- Visual feedback shows current layer depth
|
||||
- <enter> key goes down into a layer (prevents going below max depth)
|
||||
- <escape> key goes up multiple layers at once
|
||||
- Current layer is visually indicated
|
||||
- Navigation hints are shown in Navigation component
|
||||
- No keyboard conflicts with page-specific shortcuts
|
||||
- Proper layer nesting behavior
|
||||
- Navigation works correctly at layer boundaries
|
||||
|
||||
validation:
|
||||
- Run `bun run start` and test enter/escape navigation
|
||||
- Verify layer depth is visually indicated
|
||||
- Verify current layer is highlighted
|
||||
- Check that navigation hints are visible
|
||||
- Test proper layer nesting behavior
|
||||
- Test at layer boundaries (first/last layer)
|
||||
- Verify no conflicts with page shortcuts
|
||||
|
||||
notes:
|
||||
- Use references/keyboard/REFERENCE.md for proper keyboard handling patterns
|
||||
- Consider terminal width limitations for layer hints
|
||||
- Ensure consistent behavior across all pages
|
||||
- Test with different layer depths
|
||||
- Verify escape works at all layer depths
|
||||
- Use existing useAppKeyboard hook as base
|
||||
- Consider max layer depth (3-4 levels)
|
||||
- Ensure smooth visual transitions
|
||||
- Consider adding sound effects for navigation
|
||||
|
||||
Reference in New Issue
Block a user