style: improve message list UI with an active conversation indicator, refined avatar styling, and an updated header options icon.
This commit is contained in:
5
public/assets/icons/three-dots-horizontal-icon.svg
Normal file
5
public/assets/icons/three-dots-horizontal-icon.svg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="5" cy="12" r="2" fill="#00293d"/>
|
||||||
|
<circle cx="12" cy="12" r="2" fill="#00293d"/>
|
||||||
|
<circle cx="19" cy="12" r="2" fill="#00293d"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 249 B |
@@ -40,7 +40,7 @@ export function ChatHeader({
|
|||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<button className="p-2 hover:bg-gray-100 rounded-lg transition-colors cursor-pointer">
|
<button className="p-2 hover:bg-gray-100 rounded-lg transition-colors cursor-pointer">
|
||||||
<Image
|
<Image
|
||||||
src="/assets/icons/three-dots-icon.svg"
|
src="/assets/icons/three-dots-horizontal-icon.svg"
|
||||||
alt="More options"
|
alt="More options"
|
||||||
width={24}
|
width={24}
|
||||||
height={24}
|
height={24}
|
||||||
@@ -61,13 +61,13 @@ export function ChatHeader({
|
|||||||
<div className="flex items-start gap-3">
|
<div className="flex items-start gap-3">
|
||||||
{/* Avatar */}
|
{/* Avatar */}
|
||||||
<div className="relative flex-shrink-0">
|
<div className="relative flex-shrink-0">
|
||||||
<div className="w-[50px] h-[50px] rounded-full overflow-hidden">
|
<div className="w-[50px] h-[50px] rounded-full overflow-hidden border border-[#00293D]/20">
|
||||||
<Image
|
<Image
|
||||||
src={avatar}
|
src={avatar}
|
||||||
alt={name}
|
alt={name}
|
||||||
width={50}
|
width={50}
|
||||||
height={50}
|
height={50}
|
||||||
className="w-full h-full object-cover"
|
className="w-full h-full object-cover rounded-full"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{isOnline && (
|
{isOnline && (
|
||||||
|
|||||||
@@ -249,10 +249,10 @@ export default function MessagePage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Header actions */}
|
{/* Header actions */}
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2 ml-auto">
|
||||||
<button className="p-2 hover:bg-gray-100 rounded-lg transition-colors cursor-pointer">
|
<button className="p-2 hover:bg-gray-100 rounded-lg transition-colors cursor-pointer">
|
||||||
<Image
|
<Image
|
||||||
src="/assets/icons/three-dots-icon.svg"
|
src="/assets/icons/three-dots-horizontal-icon.svg"
|
||||||
alt="More options"
|
alt="More options"
|
||||||
width={24}
|
width={24}
|
||||||
height={24}
|
height={24}
|
||||||
@@ -278,19 +278,24 @@ export default function MessagePage() {
|
|||||||
<div
|
<div
|
||||||
key={conversation.id}
|
key={conversation.id}
|
||||||
onClick={() => setSelectedConversation(conversation.id)}
|
onClick={() => setSelectedConversation(conversation.id)}
|
||||||
className={`flex items-start gap-3 p-4 border border-[#00293d]/10 rounded-[15px] cursor-pointer transition-colors ${
|
className={`relative flex items-start gap-3 p-4 rounded-[15px] cursor-pointer transition-colors ${
|
||||||
selectedConversation === conversation.id ? 'bg-[#00293d]/5' : 'hover:bg-[#00293d]/5'
|
selectedConversation === conversation.id ? 'bg-[#00293d]/5' : 'hover:bg-[#00293d]/5'
|
||||||
}`}
|
}`}
|
||||||
|
style={{ border: '1px solid rgba(0, 41, 61, 0.1)' }}
|
||||||
>
|
>
|
||||||
|
{/* Active indicator line */}
|
||||||
|
{selectedConversation === conversation.id && (
|
||||||
|
<div className="absolute left-0 top-1/2 -translate-y-1/2 w-[4px] h-[70px] bg-[#E58625] rounded-r-[4px]" />
|
||||||
|
)}
|
||||||
{/* Avatar with online indicator */}
|
{/* Avatar with online indicator */}
|
||||||
<div className="relative flex-shrink-0">
|
<div className="relative flex-shrink-0">
|
||||||
<div className="w-[70px] h-[70px] rounded-full overflow-hidden">
|
<div className="w-[70px] h-[70px] rounded-full overflow-hidden border border-[#00293D]/20">
|
||||||
<Image
|
<Image
|
||||||
src={conversation.avatar}
|
src={conversation.avatar}
|
||||||
alt={conversation.name}
|
alt={conversation.name}
|
||||||
width={70}
|
width={70}
|
||||||
height={70}
|
height={70}
|
||||||
className="w-full h-full object-cover"
|
className="w-full h-full object-cover rounded-full"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{conversation.isOnline && (
|
{conversation.isOnline && (
|
||||||
|
|||||||
Reference in New Issue
Block a user