// import { io } from 'socket.io-client'; // import type { Socket } from 'socket.io-client'; // import { useAppStore } from '../store'; // type ListenEvents = { // update: (id: string, data: { name: string; age: number }) => void; // }; // type EmitEvents = { // update: (id: string, data: { name: string; age: number }) => void; // }; // export function useWebsocket() { // const app = useAppStore(); // const socket: Socket = (app.socket || io('ws://localhost:8080')) as Socket< // ListenEvents, // EmitEvents // >; // if (!app.socket) { // app.setSocket(socket); // } // function init() { // window.console.log('[socket.io] connecting...'); // socket.on('connect', () => { // window.console.log('[socket.io] connected.'); // }); // socket.on('disconnect', () => { // window.console.log('[socket.io] disconnected.'); // }); // socket.on('update', (id, data) => { // window.console.log('[socket.io] update', id, data); // }); // } // function handleUpdate(id: string, data: { name: string; age: number }) { // socket.emit('update', id, data); // } // init(); // return { // handleUpdate // }; // }