Blog
Feature
3 de novembro de 20256 min

Editor de rich text e checklists colaborativas — TipTap no React Native

Um memorando não é apenas texto simples. São títulos, negrito, listas, checklists. E em um contexto colaborativo, uma checklist é uma ferramenta de coordenação.

TipTap no React Native

TipTap é fantástico na web. No React Native, é outra história. Sem DOM. A solução: uma WebView que incorpora o editor com uma ponte bidirecional. O conteúdo é serializado em JSON, enviado via ponte e armazenado em HTML.

O editor suporta: títulos, negrito/itálico, listas, blocos de código e checklists interativas. O mais difícil: gerenciar o teclado móvel e a rolagem automática do cursor.

Checklists: individual vs. todos

Individual: apenas um membro precisa marcar para validar. "Comprar café" — o primeiro que o faz, está feito.

Todos: cada membro deve marcar individualmente. "Ler o relatório" — queremos garantir que todos o leram.

No banco de dados, uma tabela de validação armazena o status por usuário e por item.

Sincronização em tempo real

Eu uso o Supabase Realtime para as mudanças. A mesclagem é feita no nível dos itens individuais, não do documento inteiro — o que reduz os conflitos. Não é CRDT, mas é suficiente para um uso colaborativo normal.