feat: Implement agent-specific contact page CTA, enhance avatar loading and message previews, and refine messaging read receipts with auto-mark functionality.

This commit is contained in:
pradeepkumar
2026-03-27 06:23:28 +05:30
parent 6871470a39
commit 76ab856c20
5 changed files with 49 additions and 18 deletions

View File

@@ -35,10 +35,14 @@ export function ConnectionCard({
<div className="flex flex-col sm:flex-row items-start sm:items-center gap-4 py-4">
{/* Avatar */}
<div className="flex-shrink-0">
<div className="w-[80px] h-[80px] rounded-full overflow-hidden relative">
{(!avatar || !avatarLoaded || isPlaceholder) && (
<div className="w-[80px] h-[80px] rounded-full overflow-hidden relative bg-[#e8e8e8]">
{isPlaceholder ? (
<div className="absolute inset-0 flex items-center justify-center bg-[#c4d9d4]">
<Image src={placeholder} alt={name} width={40} height={40} className="opacity-50" />
</div>
) : !avatarLoaded ? (
<div className="absolute inset-0 rounded-full shimmer-loading" />
)}
) : null}
{avatar && !isPlaceholder && (
<img
ref={(el) => { if (el?.complete && el.naturalWidth > 0) setAvatarLoaded(true); }}

View File

@@ -49,10 +49,14 @@ export function InvitationCard({
<div className={`flex flex-col sm:flex-row items-start sm:items-center gap-4 py-4 ${isProcessing ? 'opacity-50 pointer-events-none' : ''}`}>
{/* Avatar */}
<div className="flex-shrink-0">
<div className="w-[80px] h-[80px] rounded-full overflow-hidden relative">
{(!avatar || !avatarLoaded || isPlaceholder) && (
<div className="w-[80px] h-[80px] rounded-full overflow-hidden relative bg-[#e8e8e8]">
{isPlaceholder ? (
<div className="absolute inset-0 flex items-center justify-center bg-[#c4d9d4]">
<Image src={placeholder} alt={name} width={40} height={40} className="opacity-50" />
</div>
) : !avatarLoaded ? (
<div className="absolute inset-0 rounded-full shimmer-loading" />
)}
) : null}
{avatar && !isPlaceholder && (
<img
ref={(el) => { if (el?.complete && el.naturalWidth > 0) setAvatarLoaded(true); }}