gitextract_mzh6xm00/ ├── .eslintignore ├── .eslintrc ├── .github/ │ └── workflows/ │ └── codesee-arch-diagram.yml ├── .gitignore ├── README.md ├── common/ │ ├── components/ │ │ └── portal/ │ │ └── components/ │ │ └── Portal.ts │ ├── constants/ │ │ ├── canvasSize.ts │ │ ├── colors.ts │ │ ├── defaultMove.ts │ │ └── easings.ts │ ├── hooks/ │ │ └── useViewportSize.ts │ ├── lib/ │ │ ├── getNextColor.ts │ │ ├── getPos.ts │ │ ├── optimizeImage.ts │ │ ├── rgba.ts │ │ └── socket.ts │ ├── recoil/ │ │ ├── background/ │ │ │ ├── background.atom.ts │ │ │ ├── background.hooks.ts │ │ │ └── index.ts │ │ ├── options/ │ │ │ ├── index.ts │ │ │ ├── options.atom.ts │ │ │ └── options.hooks.ts │ │ ├── room/ │ │ │ ├── index.ts │ │ │ ├── room.atom.ts │ │ │ └── room.hooks.ts │ │ └── savedMoves/ │ │ ├── index.ts │ │ ├── savedMoves.atom.ts │ │ └── savedMoves.hooks.ts │ ├── styles/ │ │ └── global.css │ └── types/ │ └── global.ts ├── modules/ │ ├── home/ │ │ ├── components/ │ │ │ └── Home.tsx │ │ ├── index.ts │ │ └── modals/ │ │ └── NotFound.tsx │ ├── modal/ │ │ ├── animations/ │ │ │ └── ModalManager.animations.ts │ │ ├── components/ │ │ │ └── ModalManager.tsx │ │ ├── index.ts │ │ └── recoil/ │ │ ├── modal.atom.tsx │ │ └── modal.hooks.tsx │ └── room/ │ ├── components/ │ │ ├── NameInput.tsx │ │ ├── Room.tsx │ │ └── UserList.tsx │ ├── context/ │ │ └── Room.context.tsx │ ├── hooks/ │ │ ├── useMoveImage.ts │ │ ├── useMovesHandlers.ts │ │ └── useRefs.ts │ ├── index.ts │ └── modules/ │ ├── board/ │ │ ├── components/ │ │ │ ├── Background.tsx │ │ │ ├── Canvas.tsx │ │ │ ├── Minimap.tsx │ │ │ ├── MousePosition.tsx │ │ │ ├── MousesRenderer.tsx │ │ │ ├── MoveImage.tsx │ │ │ ├── SelectionBtns.tsx │ │ │ └── UserMouse.tsx │ │ ├── helpers/ │ │ │ └── Canvas.helpers.ts │ │ ├── hooks/ │ │ │ ├── useBoardPosition.ts │ │ │ ├── useCtx.ts │ │ │ ├── useDraw.ts │ │ │ ├── useSelection.ts │ │ │ └── useSocketDraw.ts │ │ └── index.tsx │ ├── chat/ │ │ ├── components/ │ │ │ ├── Chat.tsx │ │ │ ├── ChatInput.tsx │ │ │ └── Message.tsx │ │ └── index.ts │ └── toolbar/ │ ├── animations/ │ │ └── Entry.animations.ts │ ├── components/ │ │ ├── BackgoundPicker.tsx │ │ ├── ColorPicker.tsx │ │ ├── HistoryBtns.tsx │ │ ├── ImagePicker.tsx │ │ ├── LineWidthPicker.tsx │ │ ├── ModePicker.tsx │ │ ├── ShapeSelector.tsx │ │ └── ToolBar.tsx │ ├── index.ts │ └── modals/ │ ├── BackgroundModal.tsx │ └── ShareModal.tsx ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages/ │ ├── [roomId].tsx │ ├── _app.tsx │ ├── _document.tsx │ └── index.tsx ├── postcss.config.js ├── server/ │ └── index.ts ├── tailwind.config.js ├── tsconfig.json └── tsconfig.server.json