deleted_mock
This commit is contained in:
parent
397d32623d
commit
de3c5b260c
@ -8,17 +8,10 @@ declare global {
|
||||
|
||||
import { membersMock } from '../../mocks/mock-signature/membersMocks';
|
||||
import { ApiReturn, Device, Member } from '../../../pkg/sdk_client';
|
||||
import {
|
||||
Message,
|
||||
DocumentSignature,
|
||||
} from '../../models/signature.models';
|
||||
import { messageStore } from '../../utils/messageMock';
|
||||
import { Group } from '../../interface/groupInterface';
|
||||
import { getCorrectDOM } from '../../utils/document.utils';
|
||||
import chatStyle from '../../../public/style/chat.css?inline';
|
||||
import { addressToEmoji } from '../../utils/sp-address.utils';
|
||||
import Database from '../../services/database.service';
|
||||
import Services from '../../services/service';
|
||||
|
||||
const storageUrl = `/storage`;
|
||||
|
||||
@ -49,13 +42,10 @@ class ChatElement extends HTMLElement {
|
||||
private sdkClient: any;
|
||||
private processId: string | null = null;
|
||||
private selectedMemberId: string | null = null;
|
||||
private messagesMock: any[] = [];
|
||||
private dom: Node;
|
||||
private notifications: LocalNotification[] = [];
|
||||
private notificationBadge = document.querySelector('.notification-badge');
|
||||
private notificationBoard = document.getElementById('notification-board');
|
||||
private notificationBell = document.getElementById('notification-bell');
|
||||
private selectedSignatories: DocumentSignature[] = [];
|
||||
private allMembers = membersMock.map(member => ({
|
||||
id: member.id,
|
||||
name: member.name,
|
||||
@ -68,14 +58,10 @@ class ChatElement extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
this.attachShadow({ mode: 'open' });
|
||||
this.messagesMock = messageStore.getMessages();
|
||||
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);
|
||||
|
||||
this.shadowRoot!.innerHTML = `
|
||||
@ -570,18 +556,15 @@ class ChatElement extends HTMLElement {
|
||||
|
||||
const senderEmoji = await addressToEmoji(message.metadata.sender);
|
||||
|
||||
// Vérifier si c'est un fichier
|
||||
if (message.metadata.type === 'file') {
|
||||
let fileContent = '';
|
||||
if (message.metadata.fileType.startsWith('image/')) {
|
||||
// Afficher l'image
|
||||
fileContent = `
|
||||
<div class="file-preview">
|
||||
<img src="${message.metadata.fileData}" alt="${message.metadata.fileName}" style="max-width: 200px; max-height: 200px;"/>
|
||||
</div>
|
||||
`;
|
||||
} else {
|
||||
// Afficher un lien pour télécharger le fichier
|
||||
const blob = this.base64ToBlob(message.metadata.fileData, message.metadata.fileType);
|
||||
const url = URL.createObjectURL(blob);
|
||||
fileContent = `
|
||||
@ -704,71 +687,6 @@ class ChatElement extends HTMLElement {
|
||||
}
|
||||
|
||||
|
||||
// Toggle the list of Roles
|
||||
private toggleRoles(group: Group, groupElement: HTMLElement) {
|
||||
console.log('=== toggleRoles START ===');
|
||||
console.log('Group:', group.name);
|
||||
console.log('Group roles:', group.roles); // Afficher tous les rôles disponibles
|
||||
|
||||
let roleList = groupElement.querySelector('.role-list');
|
||||
console.log('Existing roleList:', roleList);
|
||||
|
||||
if (roleList) {
|
||||
const roleItems = roleList.querySelectorAll('.role-item');
|
||||
roleItems.forEach(roleItem => {
|
||||
console.log('Processing roleItem:', roleItem.innerHTML); // Voir le contenu HTML complet
|
||||
|
||||
let container = roleItem.querySelector('.role-item-container');
|
||||
if (!container) {
|
||||
container = document.createElement('div');
|
||||
container.className = 'role-item-container';
|
||||
|
||||
// Créer un span pour le nom du rôle
|
||||
const nameSpan = document.createElement('span');
|
||||
nameSpan.className = 'role-name';
|
||||
nameSpan.textContent = roleItem.textContent?.trim() || '';
|
||||
|
||||
container.appendChild(nameSpan);
|
||||
roleItem.textContent = '';
|
||||
roleItem.appendChild(container);
|
||||
}
|
||||
|
||||
// Récupérer le nom du rôle
|
||||
const roleName = roleItem.textContent?.trim();
|
||||
console.log('Role name from textContent:', roleName);
|
||||
|
||||
// Alternative pour obtenir le nom du rôle
|
||||
const roleNameAlt = container.querySelector('.role-name')?.textContent;
|
||||
console.log('Role name from span:', roleNameAlt);
|
||||
|
||||
if (!container.querySelector('.folder-icon')) {
|
||||
const folderButton = document.createElement('span');
|
||||
folderButton.className = 'folder-icon';
|
||||
|
||||
folderButton.addEventListener('click', (event) => {
|
||||
event.stopPropagation();
|
||||
console.log('Clicked role name:', roleName);
|
||||
console.log('Available roles:', group.roles.map(r => r.name));
|
||||
|
||||
const role = group.roles.find(r => r.name === roleName);
|
||||
if (role) {
|
||||
console.log('Found role:', role);
|
||||
} else {
|
||||
console.error('Role not found. Name:', roleName);
|
||||
console.error('Available roles:', group.roles);
|
||||
}
|
||||
});
|
||||
|
||||
container.appendChild(folderButton);
|
||||
}
|
||||
});
|
||||
|
||||
(roleList as HTMLElement).style.display =
|
||||
(roleList as HTMLElement).style.display === 'none' ? 'block' : 'none';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private async loadGroupList(processId: string): Promise<void> {
|
||||
console.log('Loading group list with processId:', processId);
|
||||
const groupList = this.shadowRoot?.querySelector('#group-list');
|
||||
@ -888,26 +806,6 @@ class ChatElement extends HTMLElement {
|
||||
(userList as HTMLElement).classList.toggle('show');
|
||||
}
|
||||
|
||||
// Generate an automatic response
|
||||
private generateAutoReply(senderName: string): Message {
|
||||
const now = new Date();
|
||||
const formattedTime = now.toLocaleString('fr-FR', {
|
||||
day: '2-digit',
|
||||
month: '2-digit',
|
||||
year: 'numeric',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit'
|
||||
});
|
||||
|
||||
return {
|
||||
id: Date.now(),
|
||||
sender: senderName,
|
||||
text: "OK...",
|
||||
time: formattedTime,
|
||||
type: 'text' as const
|
||||
};
|
||||
}
|
||||
|
||||
// Send a file
|
||||
private async sendFile(file: File) {
|
||||
const MAX_FILE_SIZE = 1 * 1024 * 1024;
|
||||
@ -1042,7 +940,6 @@ class ChatElement extends HTMLElement {
|
||||
const ctx = canvas.getContext('2d');
|
||||
|
||||
img.onload = () => {
|
||||
// Calculer les nouvelles dimensions
|
||||
let width = img.width;
|
||||
let height = img.height;
|
||||
const MAX_WIDTH = 800;
|
||||
@ -1064,7 +961,6 @@ class ChatElement extends HTMLElement {
|
||||
canvas.height = height;
|
||||
ctx?.drawImage(img, 0, 0, width, height);
|
||||
|
||||
// Compression avec qualité réduite
|
||||
resolve(canvas.toDataURL('image/jpeg', 0.7));
|
||||
};
|
||||
|
||||
@ -1149,7 +1045,6 @@ class ChatElement extends HTMLElement {
|
||||
|
||||
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');
|
||||
@ -1160,10 +1055,7 @@ class ChatElement extends HTMLElement {
|
||||
}
|
||||
|
||||
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,
|
||||
create_new_process: async (template: string, parentId: string | null, relayAddress: string, feeRate: number) => {
|
||||
@ -1173,46 +1065,9 @@ class ChatElement extends HTMLElement {
|
||||
});
|
||||
}
|
||||
|
||||
private async getExistingConversationProcess(memberId: string) {
|
||||
const db = await Database.getInstance();
|
||||
try {
|
||||
const processStore = 'processes';
|
||||
const conversations = [];
|
||||
let i = 0;
|
||||
let process;
|
||||
|
||||
|
||||
|
||||
do {
|
||||
process = await db.getObject(processStore, i.toString());
|
||||
if (process) {
|
||||
conversations.push(process);
|
||||
}
|
||||
i++;
|
||||
} while (process);
|
||||
|
||||
return conversations.find(process =>
|
||||
process.description === 'messaging' &&
|
||||
process.roles.owner.members.some((m: any) =>
|
||||
m.sp_addresses.includes(memberId)
|
||||
)
|
||||
);
|
||||
} catch (error) {
|
||||
console.error('Error getting conversation process:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async getProcessFromDB(processId: string) {
|
||||
const db = await Database.getInstance();
|
||||
const processStore = 'processes';
|
||||
const process = await db.getObject(processStore, processId);
|
||||
console.log('📦 Process trouvé dans IndexedDB:', {
|
||||
store: processStore,
|
||||
processId: processId,
|
||||
data: process
|
||||
});
|
||||
return process;
|
||||
}
|
||||
|
||||
|
||||
private async getExistingMessageProcess(parentId: string, spAddresses: string[]): Promise<any> {
|
||||
try {
|
||||
|
Loading…
x
Reference in New Issue
Block a user