notif_ok
This commit is contained in:
parent
116e7d9b54
commit
1b980fd53c
@ -229,27 +229,26 @@ class ChatElement extends HTMLElement {
|
|||||||
const memberEmoji = await addressToEmoji(memberId);
|
const memberEmoji = await addressToEmoji(memberId);
|
||||||
|
|
||||||
// Obtenir le processus et le rôle
|
// Obtenir le processus et le rôle
|
||||||
const groupItem = this.shadowRoot?.querySelector('[data-process-id]');
|
const processId = this.getAttribute('process-id');
|
||||||
const processId = groupItem?.getAttribute('data-process-id');
|
|
||||||
const processEmoji = processId ? await addressToEmoji(processId) : '📝';
|
const processEmoji = processId ? await addressToEmoji(processId) : '📝';
|
||||||
|
|
||||||
// Trouver le rôle du membre
|
// Trouver le rôle du membre
|
||||||
const member = this.allMembers.find(m => String(m.id) === memberId);
|
const member = this.allMembers.find(m => String(m.id) === memberId);
|
||||||
const role = member?.roleName || 'Member';
|
const role = message.metadata?.roleName || 'Member';
|
||||||
|
|
||||||
// Déterminer le texte de la notification
|
// Déterminer le texte de la notification
|
||||||
let notificationText = '';
|
let notificationText = '';
|
||||||
if (message.type === 'file') {
|
if (message.type === 'file') {
|
||||||
notificationText = `${memberEmoji} (${role}) in ${processEmoji}: New file - ${message.fileName}`;
|
notificationText = `${memberEmoji} (${role}) in ${processEmoji}: New file - ${message.fileName}`;
|
||||||
} else {
|
} else {
|
||||||
notificationText = `${memberEmoji} (${role}) in ${processEmoji}: ${message.text}`;
|
notificationText = `${memberEmoji} (${role}) in ${processEmoji}: ${message.metadata.text}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Créer la notification
|
// Créer la notification
|
||||||
const notification = {
|
const notification = {
|
||||||
memberId,
|
memberId,
|
||||||
text: notificationText,
|
text: notificationText,
|
||||||
time: message.time
|
time: new Date(message.metadata.timestamp).toLocaleString('fr-FR')
|
||||||
};
|
};
|
||||||
|
|
||||||
// Ajouter la notification et mettre à jour l'interface
|
// Ajouter la notification et mettre à jour l'interface
|
||||||
@ -420,27 +419,26 @@ class ChatElement extends HTMLElement {
|
|||||||
|
|
||||||
dbRequest.onsuccess = async (event) => {
|
dbRequest.onsuccess = async (event) => {
|
||||||
const db = dbRequest.result;
|
const db = dbRequest.result;
|
||||||
// Utiliser une seule transaction pour les deux opérations
|
|
||||||
const transaction = db.transaction(['diffs'], 'readwrite');
|
const transaction = db.transaction(['diffs'], 'readwrite');
|
||||||
const store = transaction.objectStore('diffs');
|
const store = transaction.objectStore('diffs');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Premier message
|
// Premier message
|
||||||
await new Promise<void>((resolve, reject) => {
|
const messageTemplate = {
|
||||||
const messageTemplate = {
|
value_commitment: uniqueKey,
|
||||||
value_commitment: uniqueKey,
|
messaging_id: processId,
|
||||||
messaging_id: processId,
|
description: 'message_content',
|
||||||
description: 'message_content',
|
metadata: {
|
||||||
metadata: {
|
text: messageText,
|
||||||
text: messageText,
|
timestamp: timestamp,
|
||||||
timestamp: timestamp,
|
sender: myAddresses[0],
|
||||||
sender: myAddresses[0],
|
recipient: this.selectedMemberId,
|
||||||
recipient: this.selectedMemberId,
|
messageState: this.messageState,
|
||||||
messageState: this.messageState,
|
roleName: this.selectedRole
|
||||||
roleName: this.selectedRole
|
}
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
const request = store.add(messageTemplate);
|
const request = store.add(messageTemplate);
|
||||||
request.onsuccess = () => {
|
request.onsuccess = () => {
|
||||||
console.log('✅ Message saved');
|
console.log('✅ Message saved');
|
||||||
@ -451,24 +449,28 @@ class ChatElement extends HTMLElement {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Réponse automatique
|
// Réponse automatique
|
||||||
await new Promise<void>((resolve, reject) => {
|
const autoReplyTemplate = {
|
||||||
const autoReplyTemplate = {
|
value_commitment: `${processId}${timestamp + 1000}`,
|
||||||
value_commitment: `${processId}${timestamp + 1000}`,
|
messaging_id: processId,
|
||||||
messaging_id: processId,
|
description: 'message_content',
|
||||||
description: 'message_content',
|
metadata: {
|
||||||
metadata: {
|
text: "Je suis un message automatique de réponse<73><65>",
|
||||||
text: "Je suis un message automatique de réponse",
|
timestamp: timestamp + 1000,
|
||||||
timestamp: timestamp + 1000,
|
sender: this.selectedMemberId,
|
||||||
sender: this.selectedMemberId,
|
recipient: myAddresses[0],
|
||||||
recipient: myAddresses[0],
|
messageState: this.messageState,
|
||||||
messageState: this.messageState,
|
roleName: this.selectedRole
|
||||||
roleName: this.selectedRole
|
}
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
const request = store.add(autoReplyTemplate);
|
const request = store.add(autoReplyTemplate);
|
||||||
request.onsuccess = () => {
|
request.onsuccess = () => {
|
||||||
console.log('✅ Auto reply saved');
|
console.log('✅ Auto reply saved');
|
||||||
|
// Ajouter la notification pour la réponse automatique
|
||||||
|
if (myAddresses[0]) {
|
||||||
|
this.addNotification(myAddresses[0], autoReplyTemplate);
|
||||||
|
}
|
||||||
resolve();
|
resolve();
|
||||||
};
|
};
|
||||||
request.onerror = () => reject(request.error);
|
request.onerror = () => reject(request.error);
|
||||||
@ -563,7 +565,6 @@ class ChatElement extends HTMLElement {
|
|||||||
const messageElement = document.createElement('div');
|
const messageElement = document.createElement('div');
|
||||||
messageElement.className = 'message-container';
|
messageElement.className = 'message-container';
|
||||||
|
|
||||||
// Vérifier si le message vient de l'utilisateur courant
|
|
||||||
const isCurrentUser = message.metadata.sender === myAddresses[0];
|
const isCurrentUser = message.metadata.sender === myAddresses[0];
|
||||||
messageElement.style.justifyContent = isCurrentUser ? 'flex-end' : 'flex-start';
|
messageElement.style.justifyContent = isCurrentUser ? 'flex-end' : 'flex-start';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user