fix: move retry button into inline toolbar (v1.63.2)

This commit is contained in:
Nicolas Varrot
2026-02-15 17:43:48 +00:00
parent a38e56cd8c
commit 38fb717758
3 changed files with 14 additions and 14 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "pinchchat",
"version": "1.63.1",
"version": "1.63.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pinchchat",
"version": "1.63.1",
"version": "1.63.2",
"license": "MIT",
"dependencies": {
"@tailwindcss/vite": "^4.1.18",

View File

@@ -1,6 +1,6 @@
{
"name": "pinchchat",
"version": "1.63.1",
"version": "1.63.2",
"description": "A sleek, dark-themed webchat UI for OpenClaw — monitor sessions, stream responses, and inspect tool calls in real-time.",
"type": "module",
"repository": {

View File

@@ -540,20 +540,20 @@ export const ChatMessageComponent = memo(function ChatMessageComponent({ message
<Bookmark size={12} className={isBookmarked ? 'fill-amber-400' : ''} />
</button>
)}
<MetadataViewer metadata={message.metadata} />
<RawJsonToggle isOpen={showRawJson} onToggle={() => setShowRawJson(o => !o)} />
</div>
{/* Retry button (user messages only) */}
{isUser && onRetry && (
<button
onClick={() => onRetry(getPlainText(message))}
className={`absolute -top-3 right-2 h-7 w-7 rounded-lg border border-pc-border bg-pc-elevated/80 backdrop-blur-sm flex items-center justify-center text-pc-text-secondary hover:text-pc-accent-light hover:border-[var(--pc-accent-dim)] transition-all ${message.sendStatus === 'error' ? 'opacity-100' : 'opacity-0 group-hover:opacity-100'}`}
className={`h-6 w-6 rounded-md flex items-center justify-center transition-colors ${message.sendStatus === 'error' ? 'text-red-400' : 'text-pc-text-faint hover:text-pc-accent-light'}`}
title={t('message.retry')}
aria-label={t('message.retry')}
>
<RefreshCw size={13} className={message.sendStatus === 'error' ? 'text-red-400' : ''} />
<RefreshCw size={12} />
</button>
)}
<MetadataViewer metadata={message.metadata} />
<RawJsonToggle isOpen={showRawJson} onToggle={() => setShowRawJson(o => !o)} />
</div>
{/* Retry button moved into the action toolbar below */}
{/* User-visible text */}
{!isUser ? (
<CollapsibleContent content={message.content || ''} isStreaming={message.isStreaming}>