Lipis and David Luzar
3901ad7dbe
Adjust context menu and use open colors ( #553 )
...
* Adjust context menu and use open colors
* word wrap
* revert colors & padding
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-26 11:19:21 +01:00
Guillermo Peralta Scura and GitHub
e4ff408f23
Accessible modals ( #560 )
...
Improve the accessibility of our modals (the color picker and the export dialog)
Implement a focus trap so that tapping through the controls inside them don't escape to outer elements, it also allows to close the modals with the "Escape" key.
2020-01-25 19:37:58 -03:00
Christopher Chedeau and GitHub
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
2020-01-25 14:11:26 -08:00
Christopher Chedeau and GitHub
c697938350
Do not store cursor position in state ( #557 )
...
* Do not store cursor position in state
Storing it in state causes a full re-render. The only time we use the cursor position is for pasting. This halves the number of renders on drag.
* remove passive change
2020-01-25 11:38:08 -08:00
Christopher Chedeau and GitHub
5b19aeafe9
Make color selection accessible ( #556 )
...
By changing from a `<div>` to a `<button>`, it's now possible to use the space key in order to select it
2020-01-25 10:11:57 -08:00
lissitz and Christopher Chedeau
1bae203a78
changing new shape property sets it as default ( #520 )
...
* changing new shape property sets it as default
* set correct opacity while editing new test
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com >
2020-01-25 09:58:57 -08:00
Guillermo Peralta Scura and Christopher Chedeau
69061e20ac
Some a11y fixes ( #534 )
...
* Rename ToolIcon to ToolButton
It makes more semantic sense
* Label and keyboard shortcuts announcement
* Refactor common props for ToolButton
* Better doc outline and form controls
* Adjust color picker
* Styling fixes
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com >
2020-01-25 09:52:03 -08:00
5fd6c4d853
Add german translation ( #550 )
...
* Add german translation
* Add german language option
* Fix missing german translation
* Alphabetical order for languages
* Sort
Co-authored-by: Lipis <lipiridis@gmail.com >
2020-01-25 09:47:02 -08:00
Loris and Christopher Chedeau
413c387c7c
Add onCancel callback to textWysiwyg for cleanup ( #555 )
2020-01-25 09:45:23 -08:00
Lipis and David Luzar
829e827dcf
Scroll content to the center when loading from backend or file ( #554 )
...
* Scroll content to the center when loading from backend
* spread
* Load from file
* Return type
2020-01-25 17:41:23 +01:00
Bakhtiiar Muzakparov and David Luzar
689c94151d
fix: typos ( #540 )
2020-01-24 21:02:55 +01:00
David Luzar and GitHub
afb1d6725f
Normalize dimensions ( #527 )
...
* normalize dimensions of non-linear elements
* fix element type check regression
2020-01-24 20:45:52 +01:00
Jilles Soeters and Lipis
d65e90209c
Allow multiline text ( #535 )
...
* Allow multiline text
* Figure out offset correctly
* Run prettier
2020-01-24 20:35:51 +02:00
54f9c296b5
Enhance language selection ( #538 )
...
* Enhance language selection
* remove top/left margin to limit unusable canvas area
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-24 19:10:44 +01:00
Lipis and GitHub
ee68af0fd3
Set Trailing Cmma to ( #525 )
2020-01-24 12:04:54 +02:00
25202aec11
Adding Portuguese Translation ( #528 )
...
* Add Portuguese Translation
Adding PT translations
* Update src/i18n.ts
Co-Authored-By: Lipis <lipiridis@gmail.com >
Co-authored-by: Lipis <lipiridis@gmail.com >
2020-01-23 19:40:07 +01:00
Thibaut SABOT and David Luzar
990e064c13
Add french translation ( #522 )
...
* Add french translation
* improve fill translation
* forget accent on select translation
2020-01-23 19:00:30 +01:00
Thibaut SABOT and Lipis
e8c909e35c
Don't use translated value for shortcut ( #526 )
2020-01-23 18:28:05 +02:00
Thomas Steiner and Lipis
d24b9c4d78
Update to browser-nativefs v0.1.0 ( #523 )
2020-01-23 18:15:44 +02:00
Günay Mert Karadoğan and David Luzar
926b4f24e6
Draw horizontal/vertical lines/arrows when shift pressed ( #430 )
...
* Draw horizontal/vertical lines/arrows when shift pressed
* Refactor resizing with delta
* Resize arrows/lines perfectly when shift pressed
2020-01-23 10:21:04 +01:00
Enzo Ferey and David Luzar
dfb7c2b744
Add app state to history ( #309 )
...
* Add app state to history.
* Pick missing state keys.
* Fix bug.
* Remove force update.
2020-01-22 21:32:43 +01:00
lissitz and David Luzar
3f1075cbcd
fix: slider value resets to the default value when opacity is 0 ( #516 )
2020-01-22 20:51:56 +01:00
Lipis and GitHub
48024c9116
Remove selected object when storing to backend ( #506 )
2020-01-22 18:27:44 +02:00
a436e70764
Internationalization followup ( #500 )
...
* add translations in data.ts
* add language list
add spanish version
* fixes pr review
* add more translations
* remove unused label
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-22 16:25:04 +02:00
Timur Khazamov and David Luzar
362cd74a9b
Render only visible elements ( #415 )
...
* Render only visible elements
* Fixed exporting as PNG
* Moved isVisibleElement to module scope
* rerun-ci
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-22 15:14:19 +01:00
4942a452e0
Lint tweaks ( #502 )
...
* lint json files & add lint ignore list
* lint against plain console logs
* Update .lintstagedrc.js
Co-Authored-By: Lipis <lipiridis@gmail.com >
* format .tsconfig
* don't lint against console.info
* change log to console.info
Co-authored-by: Lipis <lipiridis@gmail.com >
2020-01-22 15:13:00 +01:00
Bakhtiiar Muzakparov and David Luzar
bef279417e
fix: cursor on keyboard tool toggle ( #482 )
...
* update events for GH actions to include PRs
* fix: cursor on keyboard tool toggle
* fix: change cursor type to constant
* fix: swap condition
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-22 14:36:08 +01:00
Thomas Steiner and GitHub
d1fb824369
Move file system operations to separate module ( #510 )
2020-01-22 13:55:13 +01:00
lissitz and Lipis
dc0a4f4cb8
fix: Preview image is being stretched when the proportions are w… ( #503 )
...
Fixes #490 . Preserves the ratio of the preview image when width / height reaches max-width/max-height
2020-01-22 12:09:49 +02:00
Dvir Azulay and Christopher Chedeau
a856ce06e9
Allow dragging transparent elements when selected ( #508 )
...
* Allow dragging transparent elements when selected
Addresses #339
* Update package.json
2020-01-21 21:10:49 -08:00
Lipis and David Luzar
d30498a289
Pointer for Tool icons ( #501 )
2020-01-21 22:07:09 +01:00
lissitz and Christopher Chedeau
3de48d2893
fix: Transparent backgrounds result in bleed ( #499 )
2020-01-21 09:07:08 -08:00
Max Stoiber and Lipis
e657372ae4
Fix typo in "Opacity" ( #489 )
2020-01-21 18:39:39 +02:00
20cf1078fc
add top error boundary & reset localStorage on error ( #493 )
...
* add top error boundary & reset localStorage on error
* add issue tracker details and link
* add pointer cursor to buttons
* Update src/bug-issue-template.js
Co-Authored-By: Lipis <lipiridis@gmail.com >
* Update src/styles.scss
Co-Authored-By: Lipis <lipiridis@gmail.com >
* Update src/bug-issue-template.js
Co-Authored-By: Lipis <lipiridis@gmail.com >
* use open-color colors
* use Cascadia font
Co-authored-by: Lipis <lipiridis@gmail.com >
2020-01-21 15:50:25 +01:00
Jilles Soeters and Christopher Chedeau
a72a143c84
Introduce Shapelock ( #480 )
...
* Introduce shape lock
* Format code with prettier
* Do not reset elementLocked on selection change
* Don't set isSelected to true if element is locked
* Don't reset the cursor
* Move reset cursor call to better spot
* Run prettier + lint
2020-01-20 15:52:19 -08:00
David Luzar and Christopher Chedeau
2340dddaad
Sync panel props to editing element ( #470 )
...
* ensure panel props are sync to editing elem
* ensure we don't create empty-text elements (fixes #468 )
* remove dead code
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com >
2020-01-20 15:16:22 -08:00
Fernando Alava Zambrano and Christopher Chedeau
ff7a340d2f
Internationalization support ( #477 )
...
* add i18next lib
add some translations
* add translations
* fix font-family
* fix pin versions
2020-01-20 15:14:10 -08:00
Guillermo Peralta Scura and Christopher Chedeau
1a03a29025
Use relative CSS units ( #484 )
2020-01-20 14:59:00 -08:00
Panayiotis Lipiridis
183a62627c
id
2020-01-20 21:38:51 +02:00
Panayiotis Lipiridis
703d1e42e3
id instead of json
2020-01-20 21:30:07 +02:00
Lipis and David Luzar
a210f442f4
Store background color in backend ( #475 )
...
* Store background color in backend
* Background
2020-01-20 19:47:27 +01:00
Lipis and GitHub
4487e9af8a
Switch hashes to smaller IDs for the backend ( #474 )
...
* Update backend
* log
2020-01-20 20:11:03 +02:00
David Luzar and Christopher Chedeau
d44c4ca2d8
flush autosave on unload ( #473 )
2020-01-20 09:37:42 -08:00
wei and Christopher Chedeau
37e082fcdc
feat: Add Cascadia font ( #465 )
...
* adding cascadia font
* adding font file
2020-01-20 07:12:12 -08:00
6ad596e9f1
Share excalidrawings as links! ( #356 )
...
* shareable links
* fix
* review comments
* json-excaliber (#464 )
* draw
* Boom
* backend
* Remove local
Co-authored-by: Lipis <lipiridis@gmail.com >
2020-01-19 21:56:19 -08:00
Lipis and Christopher Chedeau
13e14b4d64
Change the font family names ( #462 )
2020-01-19 15:49:10 -08:00
David Luzar and Lipis
0097652b79
disallow shape selection during creation ( #449 )
2020-01-20 01:27:00 +02:00
61be0f7b61
Render text actions panel on double click ( #450 )
...
* Render text actions panel on double click
* cleanup wysiwyg on click
* use `state.editingElement` instead of global to determine whether t ext panel is shown
* clarify comment
Co-authored-by: David Luzar <luzar.david@gmail.com >
2020-01-19 23:32:24 +01:00
Guillermo Peralta Scura and GitHub
3715da9966
Remove not needed nesting for resize ( #460 )
2020-01-19 18:43:51 -03:00
Guillermo Peralta Scura and GitHub
7ae52f1164
Add ColorInput component ( #455 )
...
* Add ColorInput component
* Use valid color on input blur
* Darken input text and add labels
2020-01-19 18:27:36 -03:00