fix: min-width on bubbles to prevent button wrap, fix session tooltip clickable, fix compact scope (v1.63.3)
This commit is contained in:
@@ -501,7 +501,7 @@ export const ChatMessageComponent = memo(function ChatMessageComponent({ message
|
|||||||
|
|
||||||
{/* Bubble */}
|
{/* Bubble */}
|
||||||
<div className={`min-w-0 max-w-[80%] ${isUser ? 'text-right' : ''}`}>
|
<div className={`min-w-0 max-w-[80%] ${isUser ? 'text-right' : ''}`}>
|
||||||
<div className={`group relative inline-block text-left rounded-3xl px-4 py-3 text-sm leading-relaxed max-w-full overflow-hidden ${
|
<div className={`group relative inline-block text-left rounded-3xl px-4 py-3 text-sm leading-relaxed max-w-full min-w-[8rem] overflow-hidden ${
|
||||||
isUser
|
isUser
|
||||||
? (isLight
|
? (isLight
|
||||||
? 'bg-[rgba(var(--pc-accent-rgb),0.12)] text-pc-text border border-[rgba(var(--pc-accent-rgb),0.3)]'
|
? 'bg-[rgba(var(--pc-accent-rgb),0.12)] text-pc-text border border-[rgba(var(--pc-accent-rgb),0.3)]'
|
||||||
@@ -509,7 +509,7 @@ export const ChatMessageComponent = memo(function ChatMessageComponent({ message
|
|||||||
: 'bg-pc-elevated/40 text-pc-text border border-pc-border shadow-[0_0_0_1px_rgba(255,255,255,0.03)]'
|
: 'bg-pc-elevated/40 text-pc-text border border-pc-border shadow-[0_0_0_1px_rgba(255,255,255,0.03)]'
|
||||||
}`}>
|
}`}>
|
||||||
{/* Action buttons — bottom-right toolbar, inside the bubble */}
|
{/* Action buttons — bottom-right toolbar, inside the bubble */}
|
||||||
<div className={`flex gap-1 justify-end mt-1.5 -mb-1 opacity-0 group-hover:opacity-100 transition-all`}>
|
<div className={`flex flex-nowrap gap-0.5 justify-end mt-1.5 -mb-1 opacity-0 group-hover:opacity-100 transition-all`}>
|
||||||
{!isUser && !message.isStreaming && getPlainText(message).trim() && (
|
{!isUser && !message.isStreaming && getPlainText(message).trim() && (
|
||||||
<button
|
<button
|
||||||
onClick={() => { navigator.clipboard.writeText(getPlainText(message)); }}
|
onClick={() => { navigator.clipboard.writeText(getPlainText(message)); }}
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ function SessionInfoPopover({ session, sessionKey, messageCount, onClose }: { se
|
|||||||
className="absolute top-full left-0 mt-2 z-50 w-72 rounded-xl border border-pc-border bg-[var(--pc-bg-surface)] shadow-xl backdrop-blur-xl animate-in fade-in slide-in-from-top-2 duration-200"
|
className="absolute top-full left-0 mt-2 z-50 w-72 rounded-xl border border-pc-border bg-[var(--pc-bg-surface)] shadow-xl backdrop-blur-xl animate-in fade-in slide-in-from-top-2 duration-200"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-label={t('header.sessionInfo')}
|
aria-label={t('header.sessionInfo')}
|
||||||
|
onClick={(e) => e.stopPropagation()}
|
||||||
|
onMouseDown={(e) => e.stopPropagation()}
|
||||||
>
|
>
|
||||||
<div className="p-3 border-b border-pc-border flex items-center justify-between">
|
<div className="p-3 border-b border-pc-border flex items-center justify-between">
|
||||||
<span className="text-xs font-semibold text-pc-text">{t('header.sessionInfo')}</span>
|
<span className="text-xs font-semibold text-pc-text">{t('header.sessionInfo')}</span>
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ export class GatewayClient {
|
|||||||
maxProtocol: 3,
|
maxProtocol: 3,
|
||||||
client: { id: 'webchat', version: __APP_VERSION__, platform: 'web', mode: 'webchat' },
|
client: { id: 'webchat', version: __APP_VERSION__, platform: 'web', mode: 'webchat' },
|
||||||
role: 'operator',
|
role: 'operator',
|
||||||
scopes: ['operator.read', 'operator.write'],
|
scopes: ['operator.read', 'operator.write', 'operator.admin'],
|
||||||
caps: [],
|
caps: [],
|
||||||
commands: [],
|
commands: [],
|
||||||
permissions: {},
|
permissions: {},
|
||||||
|
|||||||
Reference in New Issue
Block a user