mirror of
				https://github.com/shokinn/hosts-go.git
				synced 2025-11-04 04:28:34 +00:00 
			
		
		
		
	feat: begin tui implementation
This commit is contained in:
		
							parent
							
								
									b81f11f711
								
							
						
					
					
						commit
						1b66db10e2
					
				
					 9 changed files with 200 additions and 154 deletions
				
			
		| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
 | 
			
		||||
## Current Work Focus
 | 
			
		||||
 | 
			
		||||
**Status**: Phase 1 Complete - Ready for Phase 2 (TUI Implementation)
 | 
			
		||||
**Priority**: Implementing Bubble Tea TUI with two-pane layout
 | 
			
		||||
**Status**: Phase 2 In Progress - Basic TUI prototype implemented
 | 
			
		||||
**Priority**: Expand Bubble Tea TUI with navigation and view features
 | 
			
		||||
 | 
			
		||||
## Recent Changes
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -36,25 +36,22 @@
 | 
			
		|||
## Next Steps
 | 
			
		||||
 | 
			
		||||
### Immediate (Phase 2 - Current Priority)
 | 
			
		||||
1. **TUI Architecture Design**
 | 
			
		||||
   - Design main Bubble Tea model structure following MVU pattern
 | 
			
		||||
   - Plan state management for entries, selection, and modes
 | 
			
		||||
   - Define component hierarchy (main → list → detail → modal)
 | 
			
		||||
1. **TUI Architecture Design** ✅
 | 
			
		||||
   - Main Bubble Tea model with list and detail panes
 | 
			
		||||
   - State tracks selection and window size
 | 
			
		||||
 | 
			
		||||
2. **Two-Pane Layout Implementation**
 | 
			
		||||
   - Create left pane: entry list with status indicators
 | 
			
		||||
   - Create right pane: detailed entry view with editing capabilities
 | 
			
		||||
   - Implement responsive layout with proper sizing
 | 
			
		||||
2. **Two-Pane Layout Implementation** ✅
 | 
			
		||||
   - Left pane: entry list using Bubbles list component
 | 
			
		||||
   - Right pane: detail view of selected entry
 | 
			
		||||
   - Responsive sizing handled in update
 | 
			
		||||
 | 
			
		||||
3. **Navigation System**
 | 
			
		||||
   - Keyboard navigation between panes and entries
 | 
			
		||||
   - Selection highlighting and status indicators
 | 
			
		||||
   - Scroll handling for large hosts files
 | 
			
		||||
3. **Navigation System** 🟡
 | 
			
		||||
   - Basic keyboard navigation via list component
 | 
			
		||||
   - Need scroll handling and pane switching
 | 
			
		||||
 | 
			
		||||
4. **View Mode Implementation**
 | 
			
		||||
   - Safe browsing without modification capability
 | 
			
		||||
   - Display parsed entries with active/inactive status
 | 
			
		||||
   - Show entry details in right pane when selected
 | 
			
		||||
4. **View Mode Implementation** 🟡
 | 
			
		||||
   - Read-only display of `/etc/hosts` entries
 | 
			
		||||
   - Needs status indicators and better styling
 | 
			
		||||
 | 
			
		||||
### Medium-term (Phase 3)
 | 
			
		||||
1. **Edit Mode Implementation**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,12 +44,12 @@
 | 
			
		|||
 | 
			
		||||
## What's Left to Build
 | 
			
		||||
 | 
			
		||||
### 🎨 Basic TUI (Phase 2 - Current Priority)  
 | 
			
		||||
- [ ] **Main Bubble Tea model**: Core application state and structure
 | 
			
		||||
- [ ] **Two-pane layout**: Left list + right detail view
 | 
			
		||||
- [ ] **Entry list display**: Show active status, IP, hostname columns
 | 
			
		||||
- [ ] **Entry selection**: Navigate and select entries with keyboard
 | 
			
		||||
- [ ] **View mode**: Safe browsing without modification capability
 | 
			
		||||
### 🎨 Basic TUI (Phase 2 - Current Priority)
 | 
			
		||||
- [x] **Main Bubble Tea model**: Core application state and structure
 | 
			
		||||
- [x] **Two-pane layout**: Left list + right detail view
 | 
			
		||||
- [x] **Entry list display**: Show IP and hostname columns
 | 
			
		||||
- [x] **Entry selection**: Navigate and select entries with keyboard
 | 
			
		||||
- [ ] **View mode**: Safe browsing with status indicators
 | 
			
		||||
- [ ] **Integration**: Connect TUI with existing parser functionality
 | 
			
		||||
 | 
			
		||||
### 🔧 Edit Functionality (Phase 3)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue