# 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 ## Stack - **UI:** ratatui + crossterm - **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 | | `q` | Sair |