going home end of day
This commit is contained in:
parent
eb613c10f4
commit
4de1aae73c
2 changed files with 42 additions and 36 deletions
|
|
@ -58,7 +58,7 @@ function addMessage(text: string) {
|
||||||
return ;
|
return ;
|
||||||
};
|
};
|
||||||
|
|
||||||
async function isLoggedIn() {
|
function isLoggedIn() {
|
||||||
return getUser() || null;
|
return getUser() || null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -74,11 +74,13 @@ async function windowStateHidden() {
|
||||||
socketId.emit('client_left', {
|
socketId.emit('client_left', {
|
||||||
user: userName?.name,
|
user: userName?.name,
|
||||||
why: 'tab window hidden - socket not dead',
|
why: 'tab window hidden - socket not dead',
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
async function windowStateVisable() {
|
async function windowStateVisable() {
|
||||||
|
|
||||||
|
const buddies = document.getElementById('div-buddies') as HTMLDivElement;
|
||||||
const socketId = __socket || undefined;
|
const socketId = __socket || undefined;
|
||||||
let oldName = localStorage.getItem("oldName") || undefined;
|
let oldName = localStorage.getItem("oldName") || undefined;
|
||||||
console.log("%c WINDOW VISIBLE - oldName :'" + oldName + "'", color.green);
|
console.log("%c WINDOW VISIBLE - oldName :'" + oldName + "'", color.green);
|
||||||
|
|
@ -91,6 +93,9 @@ async function windowStateVisable() {
|
||||||
userName: oldName,
|
userName: oldName,
|
||||||
user: user?.name,
|
user: user?.name,
|
||||||
});
|
});
|
||||||
|
buddies.innerHTML = '';
|
||||||
|
buddies.textContent = '';
|
||||||
|
//connected(socketId);
|
||||||
setTitle('Chat Page');
|
setTitle('Chat Page');
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
@ -128,21 +133,21 @@ async function listBuddies(buddies: HTMLDivElement, listBuddies: string) {
|
||||||
|
|
||||||
if (!buddies) return;
|
if (!buddies) return;
|
||||||
const sendtextbox = document.getElementById('t-chat-window') as HTMLButtonElement;
|
const sendtextbox = document.getElementById('t-chat-window') as HTMLButtonElement;
|
||||||
|
const buddiesElement = document.createElement("div-buddies-list");
|
||||||
|
buddiesElement.textContent = listBuddies + '\n';
|
||||||
|
const user = getUser()?.name ?? "";
|
||||||
|
|
||||||
const messageElement = document.createElement("div-buddies-list");
|
buddiesElement.style.cursor = "pointer";
|
||||||
messageElement.textContent = listBuddies + '\n';
|
buddiesElement.addEventListener("click", () => {
|
||||||
|
|
||||||
|
|
||||||
// ✔ Add click-to-copy
|
|
||||||
messageElement.style.cursor = "pointer"; // optional visual hint
|
|
||||||
messageElement.addEventListener("click", () => {
|
|
||||||
navigator.clipboard.writeText(listBuddies);
|
navigator.clipboard.writeText(listBuddies);
|
||||||
sendtextbox.value = `@${listBuddies}: `;
|
if (listBuddies !== user && user !== "") {
|
||||||
console.log("Copied to clipboard:", listBuddies);
|
sendtextbox.value = `@${listBuddies}: `;
|
||||||
sendtextbox.focus(); // move cursor into the box
|
console.log("Copied to clipboard:", listBuddies);
|
||||||
|
sendtextbox.focus();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
buddies.appendChild(messageElement);
|
buddies.appendChild(buddiesElement);
|
||||||
buddies.scrollTop = buddies.scrollHeight;
|
buddies.scrollTop = buddies.scrollHeight;
|
||||||
console.log(`Added buddies: ${listBuddies}`);
|
console.log(`Added buddies: ${listBuddies}`);
|
||||||
}
|
}
|
||||||
|
|
@ -150,7 +155,7 @@ async function listBuddies(buddies: HTMLDivElement, listBuddies: string) {
|
||||||
|
|
||||||
function waitSocketConnected(socket: Socket): Promise<void> {
|
function waitSocketConnected(socket: Socket): Promise<void> {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
if (socket.connected) return resolve(); // already connected
|
if (socket.connected) return resolve();
|
||||||
socket.on("connect", () => resolve());
|
socket.on("connect", () => resolve());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -176,10 +181,10 @@ function quitChat (socket: Socket) {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const bconnected = document.getElementById('b-help') as HTMLButtonElement;
|
// const bconnected = document.getElementById('b-help') as HTMLButtonElement;
|
||||||
if (bconnected) {
|
// if (bconnected) {
|
||||||
bconnected.click();
|
// bconnected.click();
|
||||||
}
|
// }
|
||||||
|
|
||||||
function logout(socket: Socket) {
|
function logout(socket: Socket) {
|
||||||
socket.emit("logout"); // notify server
|
socket.emit("logout"); // notify server
|
||||||
|
|
@ -221,7 +226,7 @@ async function connected(socket: Socket): Promise<void> {
|
||||||
console.log('%coldUser:',color.yellow, oldUser);
|
console.log('%coldUser:',color.yellow, oldUser);
|
||||||
if (loggedIn?.name === undefined) {console.log('');return ;}
|
if (loggedIn?.name === undefined) {console.log('');return ;}
|
||||||
oldUser = loggedIn.name ?? "";
|
oldUser = loggedIn.name ?? "";
|
||||||
const res = await client.guestLogin();
|
// const res = await client.guestLogin();
|
||||||
let user = await updateUser();
|
let user = await updateUser();
|
||||||
console.log('%cUser?name:',color.yellow, user?.name);
|
console.log('%cUser?name:',color.yellow, user?.name);
|
||||||
localStorage.setItem("oldName", oldUser);
|
localStorage.setItem("oldName", oldUser);
|
||||||
|
|
@ -365,10 +370,10 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn
|
||||||
window.addEventListener("focus", () => {
|
window.addEventListener("focus", () => {
|
||||||
//nst bwhoami = document.getElementById('b-whoami') as HTMLButtonElement;
|
//nst bwhoami = document.getElementById('b-whoami') as HTMLButtonElement;
|
||||||
if (window.location.pathname === '/app/chat') {
|
if (window.location.pathname === '/app/chat') {
|
||||||
|
connected(socket);
|
||||||
console.log("%cWindow is focused on /chat:" + socket.id, color.green);
|
console.log("%cWindow is focused on /chat:" + socket.id, color.green);
|
||||||
if (socket.id) {
|
if (socket.id) {
|
||||||
windowStateVisable();
|
windowStateVisable();
|
||||||
connected(socket);
|
|
||||||
}
|
}
|
||||||
toggle = true;
|
toggle = true;
|
||||||
}
|
}
|
||||||
|
|
@ -385,8 +390,7 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn
|
||||||
// setInterval(async () => {
|
// setInterval(async () => {
|
||||||
// //connected(socket);
|
// //connected(socket);
|
||||||
// },10000); // every 10 seco
|
// },10000); // every 10 seco
|
||||||
|
socket.on('listBud', async (myBuddies: string) => {
|
||||||
socket.on('listBud', (myBuddies: string) => {
|
|
||||||
const buddies = document.getElementById('div-buddies') as HTMLDivElement;
|
const buddies = document.getElementById('div-buddies') as HTMLDivElement;
|
||||||
console.log('List buddies connected ', myBuddies);
|
console.log('List buddies connected ', myBuddies);
|
||||||
listBuddies(buddies,myBuddies);
|
listBuddies(buddies,myBuddies);
|
||||||
|
|
@ -455,7 +459,6 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn
|
||||||
quitChat(socket);
|
quitChat(socket);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
||||||
const user = getUser()?.name;
|
const user = getUser()?.name;
|
||||||
// Ensure we have a user AND socket is connected
|
// Ensure we have a user AND socket is connected
|
||||||
if (!user || !socket.connected) return;
|
if (!user || !socket.connected) return;
|
||||||
|
|
|
||||||
|
|
@ -132,16 +132,16 @@ async function onReady(fastify: FastifyInstance) {
|
||||||
seen.add(username.user);
|
seen.add(username.user);
|
||||||
count++;
|
count++;
|
||||||
// console.log(color.green,"count: ", count);
|
// console.log(color.green,"count: ", count);
|
||||||
console.log(color.yellow, 'Client:', color.reset, username.user);
|
// console.log(color.yellow, 'Client:', color.reset, username.user);
|
||||||
|
|
||||||
const targetSocketId = target;
|
const targetSocketId = target;
|
||||||
io.to(targetSocketId!).emit('listBud', username.user);
|
io.to(targetSocketId!).emit('listBud', username.user);
|
||||||
console.log(
|
// console.log(
|
||||||
color.yellow,
|
// color.yellow,
|
||||||
'Chat Socket ID:',
|
// 'Chat Socket ID:',
|
||||||
color.reset,
|
// color.reset,
|
||||||
socketId,
|
// socketId,
|
||||||
);
|
// );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -203,11 +203,13 @@ async function onReady(fastify: FastifyInstance) {
|
||||||
console.log(color.yellow, `User: '${atUser}' (No user the same is found): '${data.command}' `);
|
console.log(color.yellow, `User: '${atUser}' (No user the same is found): '${data.command}' `);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
s.emit('MsgObjectServer', { message: data });
|
if (data.text !== "") {
|
||||||
if (senderSocket)
|
s.emit('MsgObjectServer', { message: data });
|
||||||
senderSocket.emit('privMessageCopy',`${data.command}: ${data.text}🔒`);
|
if (senderSocket)
|
||||||
// Debug logs
|
senderSocket.emit('privMessageCopy',`${data.command}: ${data.text}🔒`);
|
||||||
console.log(color.green, 'Priv to:', clientInfo.user);
|
// Debug logs
|
||||||
|
}
|
||||||
|
console.log(color.green, 'Priv to:', data.text);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -361,6 +363,7 @@ async function onReady(fastify: FastifyInstance) {
|
||||||
SenderWindowID: socket.id,
|
SenderWindowID: socket.id,
|
||||||
};
|
};
|
||||||
console.log(color.blue, 'BROADCASTS OUT :', obj.SenderWindowID);
|
console.log(color.blue, 'BROADCASTS OUT :', obj.SenderWindowID);
|
||||||
|
|
||||||
broadcast(obj, obj.SenderWindowID);
|
broadcast(obj, obj.SenderWindowID);
|
||||||
// clientChat.delete(obj.user);
|
// clientChat.delete(obj.user);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue