Commit Graph

3 Commits

Author SHA1 Message Date
Ruben Rosario 985e8c9bc9 fix: show oauth url and code properly on device auth popup
- Auth flow now waits for user's Enter before starting
- Start auth only when user presses Enter on DeviceAuth popup
- Proper error handling: missing GOOGLE_CLIENT_ID shows clear message
- Error messages displayed in popup with Retry option
- Popup shows instructions before auth, URL+code during auth
- Handle both verification_url and verification_uri field names from Google
- Check HTTP status code and show error_description on failures
- AuthError propagated to render function for display
- Popup border turns green when URL+code are ready
2026-06-20 19:56:41 +01:00
Ruben Rosario efc3c1c84c feat(ui): render layout, tabs, panes, popups, and status bar
- ui/mod.rs: AppView struct, Focus/Popup/NetworkStatus enums, draw() layout function
- Top-Tabs + Bottom-Split layout (50/50 left/right)
- TabsBar: list selector with highlight on active
- TaskListPane: checkbox + title + due date per task
- DetailPane: title, status, due, notes of selected task
- InputPopup: centered modal with cursor
- DatePickerPopup: date/time edit modal with instructions
- ConfirmDeletePopup: confirmation dialog
- DeviceAuthPopup: OAuth URL + code display
- StatusBar: ONLINE/OFFLINE/SYNCING with color coding
2026-06-20 19:37:13 +01:00
Ruben Rosario adf3889863 chore: initial project setup
- Cargo init with dependencies (ratatui, crossterm, tokio, reqwest, rusqlite, serde, chrono, dirs)
- Module structure: domain/, ui/, infrastructure/
- Domain models (TaskList, Task, TaskStatus, SyncAction, SyncQueueItem)
- .gitignore for target/ and *.db
- Rustls-based TLS (no OpenSSL dependency)
2026-06-20 19:35:19 +01:00