Commit Graph

5 Commits

Author SHA1 Message Date
rubenrosario fb74d29e3a feat: página Markdown com explorador de ficheiros e preview
- Calendar movido para dentro da página Tasks (já não global)
- Página Markdown: 30% file explorer + 70% preview
- File explorer lista .md do diretório ~/dev/notes (configurável)
- Ctrl+O altera diretório markdown
- Ctrl+P Page Switcher navega entre Tasks e Markdown
- Up/Down no file explorer carrega preview automaticamente
- Focus::FileExplorer + Focus::MarkdownPreview no ciclo Tab
- Bump ratatui 0.28 → 0.30; adicionado tui-markdown 0.3.7
2026-06-26 15:06:42 +01:00
Ruben Rosario 9da086b7be fix: correct yup-oauth2 types (Authenticator, AccessToken, ApplicationSecret fields) 2026-06-21 10:10:22 +01:00
Ruben Rosario 469c30084d feat: add yup-oauth2 dependency, remove url and webbrowser 2026-06-21 10:03:11 +01:00
Ruben Rosario 0cbf9262c7 fix: replace device flow with loopback ip redirect flow (RFC 8252)
- Device Flow only works with 'TV and Limited Input devices' OAuth client type
- Desktop app type requires Authorization Code flow with localhost redirect
- New flow: start local TCP server on random port, open browser with auth URL,
  catch redirect containing authorization code, exchange for tokens
- Uses webbrowser crate to auto-open the browser
- Self-contained: no separate HTTP server framework needed, uses std::net
- Popup shows auth URL and waits for browser authorization
- Support for refresh_token for long-lived access
2026-06-20 20:55:08 +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