global update and global fix
This commit is contained in:
45
apps/frontend/components/chat/replied-message-preview.tsx
Normal file
45
apps/frontend/components/chat/replied-message-preview.tsx
Normal file
@@ -0,0 +1,45 @@
|
||||
'use client';
|
||||
|
||||
import { cn } from '@/lib/utils';
|
||||
|
||||
interface RepliedMessagePreviewProps {
|
||||
senderName: string;
|
||||
preview: string;
|
||||
accentClassName?: string;
|
||||
onClick?: () => void;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export function RepliedMessagePreview({
|
||||
senderName,
|
||||
preview,
|
||||
accentClassName = 'bg-[#3390ec]',
|
||||
onClick,
|
||||
className
|
||||
}: RepliedMessagePreviewProps) {
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onClick}
|
||||
className={cn(
|
||||
'mb-2 flex w-full items-stretch gap-2 rounded-xl bg-black/[0.04] px-2 py-1.5 text-left transition hover:bg-black/[0.07]',
|
||||
className
|
||||
)}
|
||||
>
|
||||
<span className={cn('w-0.5 shrink-0 rounded-full', accentClassName)} aria-hidden />
|
||||
<span className="min-w-0">
|
||||
<span className="block truncate text-xs font-semibold text-[#3390ec]">{senderName}</span>
|
||||
<span className="block truncate text-xs text-[#667085]">{preview || 'Сообщение'}</span>
|
||||
</span>
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
export function scrollToChatMessage(messageId: string) {
|
||||
const element = document.getElementById(`msg-${messageId}`);
|
||||
if (!element) return false;
|
||||
element.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
element.classList.add('blink-highlight');
|
||||
window.setTimeout(() => element.classList.remove('blink-highlight'), 2000);
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user