Add isLoading variable
This commit is contained in:
parent
d950ce0a2b
commit
ed578be468
@ -51,6 +51,8 @@ class ChatElement extends HTMLElement {
|
||||
private userProcessSet: Set<string> = new Set();
|
||||
private dmMembersSet: Set<string> = new Set();
|
||||
private addressMap: Record<string, string> = {};
|
||||
private isLoading = false;
|
||||
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@ -585,7 +587,13 @@ class ChatElement extends HTMLElement {
|
||||
}
|
||||
|
||||
private async loadMemberChat(pairingProcess: string) {
|
||||
if (this.isLoading) {
|
||||
console.log('Already loading messages, skipping...');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
this.isLoading = true;
|
||||
const service = await Services.getInstance();
|
||||
const myAddresses = await service.getMemberFromDevice();
|
||||
const database = await Database.getInstance();
|
||||
@ -763,6 +771,8 @@ class ChatElement extends HTMLElement {
|
||||
this.scrollToBottom(messagesContainer);
|
||||
} catch (error) {
|
||||
console.error('❌ Error in loadMemberChat:', error);
|
||||
} finally {
|
||||
this.isLoading = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1804,17 +1814,23 @@ class ChatElement extends HTMLElement {
|
||||
await this.loadAllProcesses(processSet);
|
||||
}
|
||||
|
||||
if (this.selectedMember && this.selectedMember.length > 0) {
|
||||
if (this.selectedMember && this.selectedMember.length > 0 && !this.isLoading) {
|
||||
console.log('🔍 Loading chat for selected member:', this.selectedMember);
|
||||
await this.loadMemberChat(this.selectedMember);
|
||||
} else {
|
||||
console.warn('⚠️ No member selected yet. Waiting for selection...');
|
||||
}
|
||||
|
||||
let timeout: NodeJS.Timeout;
|
||||
window.addEventListener('process-updated', async (e: CustomEvent) => {
|
||||
const processId = e.detail.processId;
|
||||
if (processId === this.processId) {
|
||||
setTimeout(async () => await this.reloadMemberChat(this.selectedMember), 3000);
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(async () => {
|
||||
if (!this.isLoading) {
|
||||
await this.reloadMemberChat(this.selectedMember);
|
||||
}
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user