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