rubenrosario 0c842c0e14 feat: integrar painel de listas no painel de tarefas
- Remove Focus::Tabs, tabs das listas passam para dentro do painel esquerdo
- Layout simplificado: top area eliminada, body/calendar/status apenas
- Navegação entre listas com ←/→ no foco TaskList
- Tabs dinâmicas: separador '|', alinhamento à esquerda,
  número variável conforme largura do terminal
- Indicadores ' < ' e '>>' para overflow horizontal
- Scroll horizontal (list_tabs_scroll) com clamping automático
2026-06-26 14:08:51 +01:00

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

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
S
Description
task_app_rust to learn rust and training opencode
Readme 272 KiB
Languages
Rust 100%