├── .editorconfig ├── .gitignore ├── .vscode ├── extensions.json └── settings.json ├── README.md ├── components ├── Refreshable.ts ├── contexts │ ├── profile │ │ ├── UserProfileContext.ts │ │ └── UserProfileProvider.tsx │ └── socket │ │ ├── RoomMembersIface.ts │ │ ├── SocketContext.ts │ │ ├── SocketIface.ts │ │ ├── SocketProvider.tsx │ │ ├── SocketUserIface.ts │ │ └── useRoomState.ts ├── index │ └── Rooms.tsx └── rooms │ ├── Body.tsx │ ├── DateString.tsx │ ├── JoinRoomForm.tsx │ ├── RoomMembersList.tsx │ ├── SendTextForm.tsx │ ├── TextLogs.tsx │ └── User.tsx ├── index.ts ├── next-env.d.ts ├── nodemon.json ├── package.json ├── pages ├── 404.tsx ├── api │ └── ua.ts ├── index.tsx ├── new.tsx └── rooms │ └── [rid] │ └── index.tsx ├── server ├── createRequestHandler.ts ├── createSocketHandler.ts ├── emitJSON.ts ├── generateUserName.ts ├── getRoomId.ts ├── getRoomName.ts ├── getUserId.ts ├── isRoomName.ts └── isUserName.ts ├── shared ├── TextIface.ts └── UserProfileIface.ts ├── tsconfig-server.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/README.md -------------------------------------------------------------------------------- /components/Refreshable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/Refreshable.ts -------------------------------------------------------------------------------- /components/contexts/profile/UserProfileContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/profile/UserProfileContext.ts -------------------------------------------------------------------------------- /components/contexts/profile/UserProfileProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/profile/UserProfileProvider.tsx -------------------------------------------------------------------------------- /components/contexts/socket/RoomMembersIface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/RoomMembersIface.ts -------------------------------------------------------------------------------- /components/contexts/socket/SocketContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/SocketContext.ts -------------------------------------------------------------------------------- /components/contexts/socket/SocketIface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/SocketIface.ts -------------------------------------------------------------------------------- /components/contexts/socket/SocketProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/SocketProvider.tsx -------------------------------------------------------------------------------- /components/contexts/socket/SocketUserIface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/SocketUserIface.ts -------------------------------------------------------------------------------- /components/contexts/socket/useRoomState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/contexts/socket/useRoomState.ts -------------------------------------------------------------------------------- /components/index/Rooms.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/index/Rooms.tsx -------------------------------------------------------------------------------- /components/rooms/Body.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/Body.tsx -------------------------------------------------------------------------------- /components/rooms/DateString.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/DateString.tsx -------------------------------------------------------------------------------- /components/rooms/JoinRoomForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/JoinRoomForm.tsx -------------------------------------------------------------------------------- /components/rooms/RoomMembersList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/RoomMembersList.tsx -------------------------------------------------------------------------------- /components/rooms/SendTextForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/SendTextForm.tsx -------------------------------------------------------------------------------- /components/rooms/TextLogs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/TextLogs.tsx -------------------------------------------------------------------------------- /components/rooms/User.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/components/rooms/User.tsx -------------------------------------------------------------------------------- /index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/index.ts -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/nodemon.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/package.json -------------------------------------------------------------------------------- /pages/404.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/pages/404.tsx -------------------------------------------------------------------------------- /pages/api/ua.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/pages/api/ua.ts -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/new.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/pages/new.tsx -------------------------------------------------------------------------------- /pages/rooms/[rid]/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/pages/rooms/[rid]/index.tsx -------------------------------------------------------------------------------- /server/createRequestHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/createRequestHandler.ts -------------------------------------------------------------------------------- /server/createSocketHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/createSocketHandler.ts -------------------------------------------------------------------------------- /server/emitJSON.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/emitJSON.ts -------------------------------------------------------------------------------- /server/generateUserName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/generateUserName.ts -------------------------------------------------------------------------------- /server/getRoomId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/getRoomId.ts -------------------------------------------------------------------------------- /server/getRoomName.ts: -------------------------------------------------------------------------------- 1 | export function getRoomName(id: string) { 2 | return `room:${id}`; 3 | } 4 | -------------------------------------------------------------------------------- /server/getUserId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/getUserId.ts -------------------------------------------------------------------------------- /server/isRoomName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/isRoomName.ts -------------------------------------------------------------------------------- /server/isUserName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/server/isUserName.ts -------------------------------------------------------------------------------- /shared/TextIface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/shared/TextIface.ts -------------------------------------------------------------------------------- /shared/UserProfileIface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/shared/UserProfileIface.ts -------------------------------------------------------------------------------- /tsconfig-server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/tsconfig-server.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arch-inc/nextjs-socketio-chat-example/HEAD/tsconfig.json --------------------------------------------------------------------------------