Files
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

63 lines
1.6 KiB
Markdown

# task_app
Aplicação TUI de gestão de tarefas com sincronização Google Tasks.
## Funcionalidades
- Listas e tarefas do Google Tasks num terminal
- Offline-first: dados guardados localmente em SQLite
- Sincronização bidirecional automática em background
- Calendário com eventos do Google Calendar
- Reordenação de tarefas com persistência
- Operações CRUD em listas e tarefas
- Seleção múltipla e ações em lote
- **Página Markdown**: exploração e pré-visualização de ficheiros `.md`
- **Page Switcher**: alternar entre Tasks e Markdown
## Stack
- **UI:** ratatui 0.30 + crossterm
- **Markdown:** tui-markdown
- **Async:** tokio
- **DB:** rusqlite (SQLite)
- **Auth:** yup-oauth2 (OAuth 2.0)
- **API:** reqwest (Google Tasks + Calendar)
## Requisitos
- Rust (edition 2021)
- Conta Google com Tasks ativado
- `client_secret.json` da Google Cloud Console
## Configuração
Coloca o `client_secret.json` num dos seguintes locais:
- `$GOOGLE_CLIENT_SECRET_FILE`
- `~/.config/task_app/client_secret.json`
- `./client_secret.json` (diretório atual)
## Uso
```bash
cargo run
```
### Atalhos
| Tecla | Ação |
|---|---|
| `Tab` | Navegar entre painéis |
| `↑/↓` | Navegar dentro do painel |
| `Ctrl+←/→` | Mudar de lista |
| `Alt+↑/↓` | Reordenar tarefa |
| `n` | Nova tarefa / lista |
| `e` | Editar tarefa |
| `d` | Apagar (Enter confirma) |
| `Enter` | Completar/descompletar tarefa |
| `t` | Definir data (d=today, t=tomorrow, w=week, m=month) |
| `Ctrl+r` | Sincronização forçada |
| `Ctrl+p` | Abrir Page Switcher (Tasks / Markdown) |
| `Ctrl+o` | Alterar diretório de ficheiros Markdown |
| `q` | Sair |