thelounge/client/js/socket-events/part.ts
Max Leiter dd05ee3a65
TypeScript and Vue 3 (#4559)
Co-authored-by: Eric Nemchik <eric@nemchik.com>
Co-authored-by: Pavel Djundik <xPaw@users.noreply.github.com>
2022-06-18 17:25:21 -07:00

23 lines
630 B
TypeScript

import socket from "../socket";
import {store} from "../store";
import {switchToChannel} from "../router";
socket.on("part", async function (data) {
// When parting from the active channel/query, jump to the network's lobby
if (store.state.activeChannel && store.state.activeChannel.channel.id === data.chan) {
switchToChannel(store.state.activeChannel.network.channels[0]);
}
const channel = store.getters.findChannel(data.chan);
if (!channel) {
return;
}
channel.network.channels.splice(
channel.network.channels.findIndex((c) => c.id === data.chan),
1
);
await store.dispatch("partChannel", channel);
});