Christopher Chedeau
ba13f88924
Do not trigger modal actions when not visible (#562)
Right now we're running useEffect block which runs getExportCanvasPreview on every state update, even if the modal is not visible (eg: when moving the mouse around!). This puts the modal code in its own component so that it doesn't trigger useEffect when not visible. The code isn't very elegant as we're forwarding all the props, there's likely a better way to handle it (if anyone is interested, PR would be appreciated), but at least now it no longer double renders the scene. Fixes #559
Excalidraw is a whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.
Try it now
Go to https://excalidraw.com to start sketching
Testimonials
Run the code
Code Sandbox
- Go to https://codesandbox.io/s/github/excalidraw/excalidraw
- You can start coding instantly, and even send PRs from there!
Local Installation
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Clone the repo
git clone https://github.com/excalidraw/excalidraw.git
Commands
Command | Description |
---|---|
npm install |
Install the dependencies |
npm run start |
Run the project |
npm run fix |
Reformat all files with Prettier |
npm run test:code |
Test for formatting with Prettier |
npm run test:app |
Test the app |
npm run test |
Run all tests |
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
You can also discuss the app on our Gitter channel.
Excalidraw is built using these awesome tools
And the main source of inspiration for starting the project is the awesome Zwibbler app.
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
Description
Languages
TypeScript
89.6%
SCSS
4.2%
MDX
3.5%
JavaScript
2.4%
HTML
0.2%