feat: melhorias de UX e redesign de comentários
- Corrige sincronização do avatar no perfil após upload - Reduz tamanho dos ícones de câmera/lixeira no avatar - Remove atributos title (tooltips nativos) de toda aplicação - Adiciona regra no AGENTS.md sobre uso de tooltips - Permite desmarcar resposta no checklist (toggle) - Torna campo answer opcional na mutation setChecklistItemAnswer - Adiciona edição inline dos campos de resumo no painel de detalhes - Redesenha comentários com layout mais limpo e consistente - Cria tratamento especial para comentários automáticos de sistema - Aplica fundo ciano semi-transparente em comentários públicos - Corrige import do Loader2 no notification-preferences-form 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
23ea426c68
commit
022e1f63ba
17 changed files with 636 additions and 180 deletions
|
|
@ -72,9 +72,9 @@ export function ChatSessionItem({ session, isActive, onClick }: ChatSessionItemP
|
|||
{/* Indicador online/offline */}
|
||||
{session.machineOnline !== undefined && (
|
||||
session.machineOnline ? (
|
||||
<span className="size-2 rounded-full bg-emerald-500" title="Online" />
|
||||
<span className="size-2 rounded-full bg-emerald-500" />
|
||||
) : (
|
||||
<WifiOff className="size-3 text-slate-400" title="Offline" />
|
||||
<WifiOff className="size-3 text-slate-400" />
|
||||
)
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@ export function ChatSessionList({
|
|||
<button
|
||||
onClick={onMinimize}
|
||||
className="rounded-md p-1.5 text-slate-500 hover:bg-slate-100"
|
||||
title="Minimizar"
|
||||
>
|
||||
<svg className="size-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M20 12H4" />
|
||||
|
|
@ -77,7 +76,6 @@ export function ChatSessionList({
|
|||
<button
|
||||
onClick={onClose}
|
||||
className="rounded-md p-1.5 text-slate-500 hover:bg-slate-100"
|
||||
title="Fechar"
|
||||
>
|
||||
<X className="size-4" />
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -219,7 +219,6 @@ function MessageAttachment({ attachment }: { attachment: ChatAttachment }) {
|
|||
<button
|
||||
onClick={handleView}
|
||||
className="flex size-6 items-center justify-center rounded-full bg-white/20 hover:bg-white/30"
|
||||
title="Visualizar"
|
||||
>
|
||||
<Eye className="size-3.5 text-white" />
|
||||
</button>
|
||||
|
|
@ -227,7 +226,6 @@ function MessageAttachment({ attachment }: { attachment: ChatAttachment }) {
|
|||
onClick={handleDownload}
|
||||
disabled={downloading}
|
||||
className="flex size-6 items-center justify-center rounded-full bg-white/20 hover:bg-white/30"
|
||||
title="Baixar"
|
||||
>
|
||||
{downloading ? (
|
||||
<Spinner className="size-3 text-white" />
|
||||
|
|
@ -249,7 +247,6 @@ function MessageAttachment({ attachment }: { attachment: ChatAttachment }) {
|
|||
<button
|
||||
onClick={handleView}
|
||||
className="rounded p-0.5 hover:bg-slate-200"
|
||||
title="Visualizar"
|
||||
>
|
||||
<Eye className="size-3 text-slate-400" />
|
||||
</button>
|
||||
|
|
@ -257,7 +254,6 @@ function MessageAttachment({ attachment }: { attachment: ChatAttachment }) {
|
|||
onClick={handleDownload}
|
||||
disabled={downloading}
|
||||
className="rounded p-0.5 hover:bg-slate-200"
|
||||
title="Baixar"
|
||||
>
|
||||
{downloading ? (
|
||||
<Spinner className="size-3 text-slate-400" />
|
||||
|
|
@ -721,7 +717,6 @@ export function ChatWidget() {
|
|||
<button
|
||||
onClick={handleBackToList}
|
||||
className="flex size-8 items-center justify-center rounded-lg text-slate-500 hover:bg-slate-100"
|
||||
title="Voltar para lista"
|
||||
>
|
||||
<ChevronLeft className="size-5" />
|
||||
</button>
|
||||
|
|
@ -785,14 +780,12 @@ export function ChatWidget() {
|
|||
<button
|
||||
onClick={() => setIsMinimized(true)}
|
||||
className="ml-2 rounded-md p-1.5 text-slate-500 hover:bg-slate-100"
|
||||
title="Minimizar"
|
||||
>
|
||||
<Minimize2 className="size-4" />
|
||||
</button>
|
||||
<button
|
||||
onClick={() => setIsOpen(false)}
|
||||
className="rounded-md p-1.5 text-slate-500 hover:bg-slate-100"
|
||||
title="Fechar"
|
||||
>
|
||||
<X className="size-4" />
|
||||
</button>
|
||||
|
|
@ -955,7 +948,6 @@ export function ChatWidget() {
|
|||
className="size-9 text-slate-500 hover:bg-slate-100 hover:text-slate-700"
|
||||
onClick={() => fileInputRef.current?.click()}
|
||||
disabled={attachments.length >= MAX_ATTACHMENTS || isUploading}
|
||||
title="Anexar arquivo"
|
||||
>
|
||||
{isUploading ? (
|
||||
<Spinner className="size-4" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue