thelounge/client/js/socket-events/join.ts
2024-04-21 15:11:52 +02:00

30 lines
780 B
TypeScript

import socket from "../socket";
import {store} from "../store";
import {switchToChannel} from "../router";
import {ClientChan} from "../types";
import {toClientChan} from "../chan";
socket.on("join", function (data) {
const network = store.getters.findNetwork(data.network);
if (!network) {
return;
}
const clientChan: ClientChan = toClientChan(data.chan);
network.channels.splice(data.index || -1, 0, clientChan);
// Queries do not automatically focus, unless the user did a whois
if (data.chan.type === "query" && !data.shouldOpen) {
return;
}
const chan = store.getters.findChannel(data.chan.id);
if (chan) {
switchToChannel(chan.channel);
} else {
// eslint-disable-next-line no-console
console.error("Could not find channel", data.chan.id);
}
});