fb74d29e3a
- 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
63 lines
1.6 KiB
Markdown
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 |
|