init_member_role_message
This commit is contained in:
parent
77dbde3129
commit
ea88e55cf5
@ -68,6 +68,9 @@ class ChatElement extends HTMLElement {
|
||||
this.dom = getCorrectDOM('signature-element');
|
||||
this.processId = this.getAttribute('process-id');
|
||||
|
||||
// Initialiser sdkClient
|
||||
this.initSDKClient();
|
||||
|
||||
// Récupérer le processId depuis l'attribut du composant
|
||||
console.log('🔍 Constructor - Process ID from element:', this.processId);
|
||||
|
||||
@ -239,6 +242,7 @@ class ChatElement extends HTMLElement {
|
||||
const everyOneElse = otherMembers;
|
||||
const messagingTemplate = {
|
||||
process_id: crypto.randomUUID(),
|
||||
parent_id: null,
|
||||
description: 'messaging',
|
||||
messages: {
|
||||
state: 'initial',
|
||||
@ -430,7 +434,6 @@ class ChatElement extends HTMLElement {
|
||||
memberList = document.createElement('ul');
|
||||
memberList.className = 'member-list';
|
||||
|
||||
// Récupérer les membres avec leurs sp_addresses
|
||||
if (roleData.members) {
|
||||
for (const member of roleData.members) {
|
||||
const memberItem = document.createElement('li');
|
||||
@ -439,7 +442,6 @@ class ChatElement extends HTMLElement {
|
||||
const memberContainer = document.createElement('div');
|
||||
memberContainer.className = 'member-container';
|
||||
|
||||
|
||||
const emojiSpan = document.createElement('span');
|
||||
emojiSpan.className = 'member-emoji';
|
||||
if (member.sp_addresses?.[0]) {
|
||||
@ -450,9 +452,43 @@ class ChatElement extends HTMLElement {
|
||||
memberContainer.appendChild(emojiSpan);
|
||||
memberItem.appendChild(memberContainer);
|
||||
|
||||
memberItem.onclick = (event) => {
|
||||
memberItem.onclick = async (event) => {
|
||||
event.stopPropagation();
|
||||
this.loadMemberChat(member.sp_addresses[0]);
|
||||
try {
|
||||
// S'assurer que le SDK est initialisé
|
||||
if (!this.sdkClient) {
|
||||
await this.initSDKClient();
|
||||
}
|
||||
|
||||
const groupItem = roleElement.closest('[data-process-id]');
|
||||
const processId = groupItem?.getAttribute('data-process-id');
|
||||
|
||||
if (!processId) {
|
||||
throw new Error('Process ID not found');
|
||||
}
|
||||
|
||||
console.log('Creating messaging process with:', {
|
||||
processId,
|
||||
member,
|
||||
sdkClientInitialized: !!this.sdkClient
|
||||
});
|
||||
|
||||
const result = await this.createMessagingProcess(
|
||||
[member],
|
||||
'relay_address',
|
||||
1
|
||||
);
|
||||
|
||||
console.log('Messaging process created:', {
|
||||
processId,
|
||||
template: result,
|
||||
member: member
|
||||
});
|
||||
|
||||
this.loadMemberChat(member.sp_addresses[0]);
|
||||
} catch (error) {
|
||||
console.error('Error creating messaging process:', error);
|
||||
}
|
||||
};
|
||||
|
||||
memberList.appendChild(memberItem);
|
||||
@ -762,6 +798,33 @@ class ChatElement extends HTMLElement {
|
||||
|
||||
console.log('🎯 New messaging process added successfully');
|
||||
}
|
||||
|
||||
private async initSDKClient() {
|
||||
try {
|
||||
// Récupérer l'instance du SDK depuis window ou l'initialiser
|
||||
this.sdkClient = (window as any).sdk || await this.createSDKClient();
|
||||
if (!this.sdkClient) {
|
||||
throw new Error('Failed to initialize SDK client');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error initializing SDK client:', error);
|
||||
}
|
||||
}
|
||||
|
||||
private async createSDKClient() {
|
||||
// Implémentez ici la logique de création du SDK client
|
||||
// Ceci est un exemple, ajustez selon votre implémentation réelle
|
||||
return new Promise((resolve) => {
|
||||
// Logique d'initialisation du SDK
|
||||
resolve({
|
||||
is_paired: () => true, // Valeur par défaut pour le test
|
||||
create_new_process: async (template: string, parentId: string | null, relayAddress: string, feeRate: number) => {
|
||||
// Implémentation de create_new_process
|
||||
return { success: true };
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define('chat-element', ChatElement);
|
||||
|
Loading…
x
Reference in New Issue
Block a user