16 lines
555 B
JavaScript
16 lines
555 B
JavaScript
export function setupSocket(io) {
|
|
io.on("connection", (socket) => {
|
|
socket.on("join-campaign", (campaignId) => {
|
|
socket.join(`campaign:${campaignId}`);
|
|
});
|
|
socket.on("leave-campaign", (campaignId) => {
|
|
socket.leave(`campaign:${campaignId}`);
|
|
});
|
|
socket.on("disconnect", () => {
|
|
// Rooms are cleaned up automatically by Socket.IO
|
|
});
|
|
});
|
|
}
|
|
export function broadcastToCampaign(io, campaignId, event, data) {
|
|
io.to(`campaign:${campaignId}`).emit(event, data);
|
|
}
|