45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { getUser } from "@app/auth";
|
|
import { Socket } from 'socket.io-client';
|
|
import { getProfil } from './getProfil';
|
|
|
|
/**
|
|
* function adds a user to the ping Buddies window\
|
|
* it also acts as click or double click\
|
|
* activates two possible actions:\
|
|
* click => private Mag\
|
|
* dbl click => get Profil of the name\
|
|
* collected in the clipBoard
|
|
* @param socket
|
|
* @param buddies
|
|
* @param listBuddies
|
|
* @returns
|
|
*/
|
|
|
|
export async function listBuddies(socket: Socket, buddies: HTMLDivElement, listBuddies: string) {
|
|
|
|
if (!buddies) return;
|
|
const sendtextbox = document.getElementById('t-chat-window') as HTMLButtonElement;
|
|
const buddiesElement = document.createElement("div-buddies-list");
|
|
buddiesElement.textContent = listBuddies + '\n';
|
|
const user = getUser()?.name ?? "";
|
|
buddies.appendChild(buddiesElement);
|
|
buddies.scrollTop = buddies.scrollHeight;
|
|
console.log(`Added buddies: ${listBuddies}`);
|
|
|
|
buddiesElement.style.cursor = "pointer";
|
|
buddiesElement.addEventListener("click", () => {
|
|
navigator.clipboard.writeText(listBuddies);
|
|
if (listBuddies !== user && user !== "") {
|
|
sendtextbox.value = `@${listBuddies}: `;
|
|
console.log("Copied to clipboard:", listBuddies);
|
|
sendtextbox.focus();
|
|
}
|
|
});
|
|
|
|
buddiesElement.addEventListener("dblclick", () => {
|
|
console.log("Open profile:", listBuddies);
|
|
getProfil(socket, listBuddies);
|
|
sendtextbox.value = "";
|
|
});
|
|
|
|
}
|