Spaces:
Sleeping
Sleeping
Commit ·
f09eda6
1
Parent(s): fdd5c82
Fix message notification popup on remount
Browse files
src/components/Admin/AdminSummary.jsx
CHANGED
|
@@ -75,6 +75,23 @@ export default function AdminSummary({ onNavigate, setActiveTab, selectedChatUse
|
|
| 75 |
|
| 76 |
let lastMessageId = null;
|
| 77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
pollInterval = setInterval(async () => {
|
| 79 |
try {
|
| 80 |
const { data: newMessages } = await supabase
|
|
@@ -86,10 +103,10 @@ export default function AdminSummary({ onNavigate, setActiveTab, selectedChatUse
|
|
| 86 |
|
| 87 |
if (newMessages && newMessages.length > 0) {
|
| 88 |
const msg = newMessages[0];
|
| 89 |
-
console.log('📬 Checking messages:', msg.id, 'last:', lastMessageId);
|
| 90 |
|
| 91 |
-
// Only process if it's a new message
|
| 92 |
-
if (
|
|
|
|
| 93 |
lastMessageId = msg.id;
|
| 94 |
|
| 95 |
// Get sender profile
|
|
|
|
| 75 |
|
| 76 |
let lastMessageId = null;
|
| 77 |
|
| 78 |
+
// ✅ INITIAL FETCH: Get the latest message ID silently so we don't pop up old messages on every remount
|
| 79 |
+
try {
|
| 80 |
+
const { data: initialMessages } = await supabase
|
| 81 |
+
.from('messages')
|
| 82 |
+
.select('id')
|
| 83 |
+
.eq('receiver_id', user.id)
|
| 84 |
+
.order('id', { ascending: false })
|
| 85 |
+
.limit(1);
|
| 86 |
+
|
| 87 |
+
if (initialMessages && initialMessages.length > 0) {
|
| 88 |
+
lastMessageId = initialMessages[0].id;
|
| 89 |
+
console.log('🤫 Initial silent fetch complete. Last message ID:', lastMessageId);
|
| 90 |
+
}
|
| 91 |
+
} catch (err) {
|
| 92 |
+
console.error("Initial fetch error:", err);
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
pollInterval = setInterval(async () => {
|
| 96 |
try {
|
| 97 |
const { data: newMessages } = await supabase
|
|
|
|
| 103 |
|
| 104 |
if (newMessages && newMessages.length > 0) {
|
| 105 |
const msg = newMessages[0];
|
|
|
|
| 106 |
|
| 107 |
+
// ✅ Only process if it's TRULY a new message (greater than the initial fetch)
|
| 108 |
+
if (lastMessageId === null || msg.id > lastMessageId) {
|
| 109 |
+
console.log('📬 New message detected:', msg.id, 'last:', lastMessageId);
|
| 110 |
lastMessageId = msg.id;
|
| 111 |
|
| 112 |
// Get sender profile
|