Saandraahh commited on
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 (!lastMessageId || msg.id > lastMessageId) {
 
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