rubenrosario a0e2aeca63 feat: adicionar menu de páginas e Page Switcher (Ctrl+P)
- Nova barra de páginas no topo (3 linhas) com moldura
- Página Tasks: body com lista + detalhe (comportamento normal)
- Página Markdown: placeholder (preparado para Feature 3)
- Calendar sempre visível no fundo, Tab cycle mantido
- Ctrl+P abre Page Switcher popup (navegação com ↑/↓/Enter/Esc)
- Enum Page: Tasks, Markdown
- Page::Markdown já funcional no switch mas sem preview real
2026-06-26 14:35:39 +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%