feat(search): inline filters, and translate the search UI
The filters themselves already existed end to end — the server takes q, from, has, before and after, the API client passes them, and the popover has fields for each. What it lacked was discovery: the panel sits behind a button, so the capability was invisible. Typing 'de:fulano' or 'has:image' straight into the search box now applies the same filters. Keys are accepted in both languages, since the app is bilingual, and an unrecognised token falls back to being search text — otherwise a message containing a URL or 'algo:coisa' would become unfindable. Inline filters win over the panel's: whoever just typed one is expressing the more recent intent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,10 @@ código e os commits seguem em inglês, como o resto do repositório.
|
||||
|
||||
## Já existia no código (verificado, não construir de novo)
|
||||
|
||||
- **Busca com filtros** — servidor (`q`, `from`, `has`, `before`, `after`),
|
||||
client de API e painel no `SearchPopover` já existiam completos. Só faltava
|
||||
tradução, sintaxe embutida (`de:fulano`) e descoberta.
|
||||
|
||||
- **Animação de digitação** — `TypingIndicator.tsx`, três pontos `animate-bounce`
|
||||
escalonados em 0/150/300ms.
|
||||
- **Sons de call/stream** — `SoundController.tsx`, montado no `AppLayout`:
|
||||
@@ -79,6 +83,7 @@ fixas por `t('chave')`. O que faltar cai para o inglês sozinho.
|
||||
- Chat: composer e mensagens (placeholder, anexos, responder, reações)
|
||||
- Barra lateral: servidores, canais e menus de contexto
|
||||
- Lista de membros (grupos por cargo, carregamento)
|
||||
- Busca (rótulos, filtros e sintaxe embutida)
|
||||
- Registro de auditoria e Estatísticas (nasceram bilíngues)
|
||||
|
||||
### Fila sugerida de tradução
|
||||
@@ -115,7 +120,6 @@ Escolhidas pelo dono, inspiradas no Discord. **Nenhuma iniciada.**
|
||||
| Feature | Tamanho | Observação técnica |
|
||||
|---|---|---|
|
||||
| **Fixar mensagens no canal** | Pequena | Tabela de fixadas por canal + rota de listagem; permissão natural é `MANAGE_MESSAGES` |
|
||||
| **Busca com filtros** | Média | `SearchPopover` já existe; falta filtrar por autor, canal e presença de anexo — e índice no banco, senão fica lento quando o histórico crescer |
|
||||
| **Resposta rápida de voz (soundboard por atalho)** | Pequena | O soundboard já está pronto; falta só marcar favoritos e ligar a atalhos de teclado, sem abrir painel. Cuidado: o limite de repetição do servidor continua valendo e é o que impede virar metralhadora |
|
||||
| **Cargos com ícone e exibição separada** | Média | Cargos e cores já existem; falta ícone, o campo "exibir separadamente" e o agrupamento na lista de membros |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user