@@ -22,6 +22,14 @@ export default function MessagesPage() {
2222 // Track user's online presence
2323 useMyPresence ( )
2424
25+ // Prevent body scroll
26+ useEffect ( ( ) => {
27+ document . body . style . overflow = 'hidden'
28+ return ( ) => {
29+ document . body . style . overflow = 'unset'
30+ }
31+ } , [ ] )
32+
2533 // Get conversation from URL params
2634 useEffect ( ( ) => {
2735 const conversationId = searchParams . get ( 'conversation' )
@@ -53,15 +61,20 @@ export default function MessagesPage() {
5361 : 'Unknown'
5462
5563 return (
56- < div className = "flex flex-col h-[calc(100vh-4rem)] " >
64+ < div className = "flex flex-col h-[100dvh] bg-black overflow-hidden absolute inset-0 " >
5765 { /* Header */ }
58- < div className = "border-b bg-background p-4" >
66+ < div className = "border-b border-zinc-800 bg-black p-4 flex-shrink-0 " >
5967 < div className = "max-w-7xl mx-auto flex items-center justify-between" >
6068 < div className = "flex items-center gap-3" >
61- < MessageSquare className = "h-6 w-6 text-primary" />
62- < h1 className = "text-xl md:text-2xl font-bold" > Messages</ h1 >
69+ < div className = "p-2 rounded-lg bg-gradient-to-br from-blue-500 to-purple-600" >
70+ < MessageSquare className = "h-5 w-5 text-white" />
71+ </ div >
72+ < h1 className = "text-xl md:text-2xl font-bold text-white" > Messages</ h1 >
6373 </ div >
64- < Button onClick = { ( ) => setShowNewMessage ( true ) } className = "gap-2" >
74+ < Button
75+ onClick = { ( ) => setShowNewMessage ( true ) }
76+ className = "gap-2 bg-gradient-to-r from-blue-500 to-purple-600 hover:from-blue-600 hover:to-purple-700 text-white border-0"
77+ >
6578 < Plus className = "h-4 w-4" />
6679 < span className = "hidden sm:inline" > New Message</ span >
6780 < span className = "sm:hidden" > New</ span >
@@ -74,18 +87,18 @@ export default function MessagesPage() {
7487 < div className = "max-w-7xl mx-auto h-full flex" >
7588 { /* Sidebar - Conversation List (Hidden on mobile when conversation is selected) */ }
7689 < div className = { `
77- w-full md:w-80 md:border-r flex flex-col bg-background
90+ w-full md:w-80 md:border-r md:border-zinc-800 flex flex-col bg-black
7891 ${ selectedConversationId ? 'hidden md:flex' : 'flex' }
7992 ` } >
8093 { /* Search */ }
81- < div className = "p-3 border-b" >
94+ < div className = "p-3 border-b border-zinc-800 " >
8295 < div className = "relative" >
83- < Search className = "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground " />
96+ < Search className = "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-zinc-500 " />
8497 < Input
8598 placeholder = "Search conversations..."
8699 value = { searchQuery }
87100 onChange = { ( e ) => setSearchQuery ( e . target . value ) }
88- className = "pl-9"
101+ className = "pl-9 bg-zinc-900 border-zinc-800 text-white placeholder:text-zinc-500 focus:border-blue-500 focus:ring-blue-500 "
89102 />
90103 </ div >
91104 </ div >
@@ -103,17 +116,17 @@ export default function MessagesPage() {
103116
104117 { /* Main Area - Conversation View (Hidden on mobile when no conversation selected) */ }
105118 < div className = { `
106- flex-1 bg-background flex flex-col
119+ flex-1 bg-black flex flex-col
107120 ${ selectedConversationId ? 'flex' : 'hidden md:flex' }
108121 ` } >
109122 { selectedConversationId && selectedConversation && (
110- < div className = "border-b p-3 md:p-4 bg-muted /50 flex-shrink-0" >
123+ < div className = "border-b border-zinc-800 p-3 md:p-4 bg-zinc-900 /50 flex-shrink-0" >
111124 < div className = "flex items-center gap-2 md:gap-3" >
112125 { /* Back button for mobile */ }
113126 < Button
114127 variant = "ghost"
115128 size = "icon"
116- className = "md:hidden"
129+ className = "md:hidden text-white hover:bg-zinc-800 "
117130 onClick = { ( ) => setSelectedConversationId ( null ) }
118131 >
119132 < svg
@@ -130,7 +143,7 @@ export default function MessagesPage() {
130143 < path d = "m15 18-6-6 6-6" />
131144 </ svg >
132145 </ Button >
133- < h2 className = "font-semibold text-sm md:text-base truncate" > { conversationName } </ h2 >
146+ < h2 className = "font-semibold text-sm md:text-base truncate text-white " > { conversationName } </ h2 >
134147 { ! selectedConversation . is_group && selectedConversation . other_user && selectedConversation . other_user . id ? (
135148 < UserStatusIndicator
136149 userId = { selectedConversation . other_user . id }
0 commit comments