message counts

This commit is contained in:
Sam Hoffman
2026-01-11 17:06:01 -05:00
parent 0da4cd2b83
commit 31eff22d95
3 changed files with 42 additions and 20 deletions

View File

@@ -29,6 +29,13 @@ export const useIRCStore = defineStore("irc", () => {
function setActiveBuffer(bufferName) {
activeBufferName.value = bufferName;
resetBufferLastSeen(bufferName);
}
function resetBufferLastSeen(bufferName) {
const buffer = getBuffer(bufferName);
if (!buffer) return;
buffer.lastSeenIdx = buffer.messages.length;
}
const client = new Client({
@@ -51,13 +58,6 @@ export const useIRCStore = defineStore("irc", () => {
function sendActiveBuffer(message) {
client.say(activeBufferName.value, message);
// const buffer = getBuffer(activeBufferName.value);
//
// buffer.messages.push({
// nick: clientInfo.value.nick,
// message,
// time: Date.now(),
// });
}
function isMe(target) {
@@ -69,6 +69,7 @@ export const useIRCStore = defineStore("irc", () => {
messages: [],
topic: "",
users: [],
lastSeenIdx: 0,
};
return buffers.value[bufferName];
}
@@ -121,6 +122,10 @@ export const useIRCStore = defineStore("irc", () => {
buffer = getBuffer(message.target);
}
buffer.messages.push(message);
if (activeBufferName.value) {
resetBufferLastSeen(activeBufferName.value);
}
});
client.on("join", (ev) => {
@@ -152,6 +157,12 @@ export const useIRCStore = defineStore("irc", () => {
}
});
client.on("topic", ({ topic, channel }) => {
const buffer = getBuffer(channel);
if (!buffer) return;
buffer.topic = topic;
});
client.on("part", ({ nick, channel }) => {
if (isMe(nick)) {
delBuffer(channel);