39 Commits

Author SHA1 Message Date
Lipis
1c545c1d47
New Crowdin translations () 2020-03-17 21:46:35 +02:00
Lipis
a985d1b9b8
New Crowdin translations ()
* New translations en.json (Chinese Simplified)

* New translations en.json (French)

* New translations en.json (German)

* New translations en.json (Indonesian)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.json (Turkish)

* New translations en.json (Korean)

* New translations en.json (French)

* New translations en.json (Portuguese)
2020-03-16 23:23:38 +01:00
Faustino Kialungila
ae9b64a623
CMD + D to Duplicate Selection ()
* cmd+d to duplicate selection

* use duplicateElement instead

* use duplicateElement instead

* Update actionDuplicateSelection.ts

* select the new duplicated element

* add locale

* use event.key instead of event.code

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-03-16 22:53:02 +01:00
Lipis
83e49232ee
New Crowdin translations ()
* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)
2020-03-16 19:23:56 +01:00
Lipis
d834ff4d89
New Crowdin translations () 2020-03-15 19:12:35 +02:00
Christian Alfoni
dbfc8bee57
Add copy to PNG option on context menu ()
* Add copy to PNG option on context menu

* lint & refactor & fixes

* add keybinding

* swap keybinding

* fix docs

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-03-14 22:53:18 +01:00
David Luzar
b82b0754ac
Room dialog ()
* support ToolIcon className and fix label padding

* factor some ExportDialog classes out to Modal

* initial RoomDialog prototype

* change label for another-session button

* remove unused css

* add color comments

* Move the collaboration button to the main menu, add support for mobile

* remove button for creating another session

* add locks

* Fix alignment issue

* Reorder button

* reuse current scene for collab session

* keep collaboration state on restore

Co-authored-by: Jed Fox <git@twopointzero.us>
2020-03-11 19:42:18 +01:00
Lipis
aa9a6b0909
New Crowdin translations () 2020-03-11 11:55:07 +02:00
David Luzar
3bf3d96d9f
make error message more user-friendly ()
* make error message more user-friendly

* tweak aria

* override user-select for error splash screen

* localize messages

* fix naming

* log error

* include spaces in i18n
2020-03-09 17:09:45 +01:00
Lipis
c261f089fc
New Crowdin translations () 2020-03-09 18:03:12 +02:00
Edwin Lin
0e5c29b3f3
basic Socket.io implementation of collaborative editing ()
* Enable collaborative syncing for elements

* Don't fall back to local storage if using a room, as that is confusing

* Use remote socket server

* Send updates to new users when they join

* ~

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* Enable collaborative syncing for elements

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* prettier

* Fix bug with remote pointers not changing on scroll

* Enable collaborative syncing for elements

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* fix syncing bugs and add a button to start syncing mid session

* Fix bug with remote pointers not changing on scroll

* remove UI for collaboration

* remove link

* clean up lingering unused UI

* set random IV passed per encrypted message, reduce room id length, refactored socket broadcasting API, rename room_id to room, removed throttling of pointer movement

* fix package.json conflict
2020-03-09 08:48:25 -07:00
Lipis
1a6431a04a
New Crowdin Translations ()
* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* Update i18n.ts

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (German)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.json (Turkish)

* New translations en.json (Chinese Simplified)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Indonesian)

* Update i18n.ts

* Update i18n.ts

* New translations en.json (French)
2020-03-07 01:01:01 +02:00
Jed Fox
8e0206cc1e
Undo/Redo buttons, refactor menu toggles ()
* Make Undo & Redo and the menu buttons into actions; add undo/redo buttons

* Create variables for the ToolIcon colors

* Darken the menu buttons when they’re active

* Put the more intensive test in `perform`

* Fix & restyle hint viewer

* Add pinch zoom for macOS Safari

* Chrome/Firefox trackpad pinch zoom

* openedMenu → openMenu

* needsShapeEditor.ts → showSelectedShapeActions.ts

* Call showSelectedShapeActions
2020-03-01 20:39:03 +01:00
Lipis
a8a5733e50
New translations en.json (French) () 2020-02-25 12:41:44 +01:00
Lipis
718713672a
New translations en.json (Portuguese) () 2020-02-25 10:09:38 +01:00
Lipis
26ce7fc563
New Crowdin translations () 2020-02-24 22:46:49 +01:00
Lipis
19e746792e
New Crowdin translations () 2020-02-24 17:34:54 +01:00
Lipis
4e3a2f9e3b
New Crowdin translations ()
* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)
2020-02-23 16:50:45 +01:00
Lipis
165ce17590
New Crowdin translations ()
* New translations en.json (French)

* New translations en.json (German)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.json (Turkish)

* New translations en.json (Polish)
2020-02-23 11:31:49 +01:00
Oren Me
07336bb168
feat: add reset zoom button ()
* feat: add reset zoom button

Add zoom reset button.
Button is shown only when zoom scale is different from 1

* change reset zoom icon

* always show zoom reset

* fix typo
2020-02-22 20:24:34 +01:00
Lipis
d342cae2ae
New Crowdin translations ()
* New translations en.json (Polish)

* New translations en.json (Polish)
2020-02-22 13:40:46 +01:00
Lipis
09fa56335e
New Crowdin translations () 2020-02-21 23:56:06 +01:00
Jed Fox
0fd3fb4b5b
More mobile tweaks ()
* Disable text selection

* Set content-editable=plaintext-only to disable Touch Bar formatting buttons

* Enlarge resize handle tap targets for pen/touch

* Make the lock button a button in mobile mode

* Use icons instead of Unicode characters; add an alternate toolbar for creating multipoint lines

* Allow buttons to hide themselves

* Fix heuristic for showing shape actions

* Refactor icons

* Fix label for edit button

* Switch edit button icon

* Remove lock button on mobile

* Add language selector on mobile

* Fix showing edit button on mobile

* Fix showing edit button on mobile, part 2

* Fix handle touch regions

* Fix scroll-back button position

* Allow using the text tool on a text object to start editing it

* Fix deletion of last point in line
2020-02-21 11:34:18 -08:00
İsmail Namdar
626c99939e
add tr localization () 2020-02-21 16:14:06 +01:00
Jed Fox
ab176937e6
Add touch support ()
* Add touch support

* Mock media query

* Mock media query pt 2

* Fix tests

* Allow installing as an app on iOS

* Fix type error

* Math.hypot

* delete and finalize buttons, hint viewer

* skip failing tests

* skip the rest of the failing tests

* Hide the selected shape actions when nothing is selected

* Don’t go into mobile view on short-but-wide viewports

* lol
2020-02-21 08:17:20 -05:00
Jed Fox
7a7a73b78d
Initial support for mobile devices ()
* Initial support for mobile devices

No editing yet, but UI looks nice and you can open the canvas menu

* Add support for editing shape color, etc

* Allow the mobile menus to cover the shape selector

* Hopefully fix test error

* Fix touch on canvas

* Fix safe area handling & remove unused Island
2020-02-20 15:44:38 -08:00
Szymon Pajka
360864ef3d
Add missing Polish translations () 2020-02-15 15:32:20 -08:00
Enzo Ferey
c7ff4c2ed6
Canvas zooming ()
* Zoom icons.

* Actions.

* Min zoom of 0 does not make sense.

* Zoom logic.

* Modify how zoom affects selection rendering.

* More precise scrollbar dimensions.

* Adjust elements visibility and scrollbars.

* Normalized canvas width and height.

* Apply zoom to resize test.

* [WIP] Zoom using canvas center as an origin.

* Undo zoom on `getScrollBars`.

* WIP: center zoom origin via scroll

* This was wrong for sure.

* Finish scaling using center as origin.

* Almost there.

* Scroll offset should be not part of zoom transforms.

* Better naming.

* Wheel movement should be the same no matter the zoom level.

* Panning movement should be the same no matter the zoom level.

* Fix elements pasting.

* Fix text WYSIWGT.

* Fix scrollbars and visibility.
2020-02-15 21:03:32 +01:00
rubjo
40b54a8780
Update translation: Norwegian Bokmål () 2020-02-12 10:19:19 +01:00
wboucher
471ea4a747
Add zindex to panel ()
* Add z-index options back to panel

* Add formatting for z-index panel buttons

* make z-index buttons all the same width

* make z-index button spacing even

* use svg icons & translations

* add ui legend

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-02-09 15:07:34 +01:00
Christopher Chedeau
935a7f58a7
Remove previously loaded scenes ()
As mentioned in , the current implementation is suboptimal. Let's remove it until we come back with a better design.

Fixes 
2020-02-08 15:05:38 -08:00
Christopher Chedeau
e6d03aeeea
End to end encryption description ()
* End to end encryption description

This PR updates the url upload description to mention that it is end to end encrypted. I used a very similar message as whatsapp so that it is familar to people.

I also removed the automatic copying and turned the alert into prompt. This should be less awkward than the current implementation.

* capitalize excalidraw

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-02-08 10:43:59 +01:00
Szymon Pajka
f359a1ea1b
Fix grammar problems in Polish translation 🇵🇱🐛 ()
* corrected typos
* fixed grammar
2020-02-07 23:48:39 +01:00
Szymon Pajka
1cd0dfe922
Add Polish language support () 2020-02-07 12:37:33 +01:00
Gasim Gasimzada
f70bd0081c
Feature: Hint viewer ()
* Add Hint viewer

- Add hints for arrows and lines
- Add hints for resizing elements

* Swap priority of multi mode and resize mode in Hint Viewer

* Remove dangling locales from public

* Add shortcut to hide hints

* Change hint texts and show resize hint ONLY during resizing

* Remove hints toggling
2020-02-03 09:52:21 -08:00
rubjo
23d40ae4a5
Added Norwegian Bokmål ()
* Added Norwegian Bokmål

* Lint long line
2020-02-03 13:38:07 +01:00
Faustino Kialungila
814299321e
Add missing locales for scrollBackToContent ()
* Add missing locales for scrollToContent

* remove duplicated locales
2020-02-02 14:29:09 +00:00
Christopher Chedeau
be97bd980e
Add button when scrolled outside of visible area ()
With the infinite scroll behavior, it's easy to scroll super far away from where the content is and have a hard time getting back. This PR adds a button to refocus on the center of the scene when no elements are visible anymore.
2020-02-01 17:52:10 +01:00
Christopher Chedeau
e4919e2e6c
Replace i18n by a custom implementation ()
There are two problems with the current localization strategy:
- We download the translations on-demand, which means that it does a serial roundtrip for nothing.
- withTranslation helper actually renders the app 3 times on startup, instead of once (I haven't tried to debug it)
2020-01-31 21:06:06 +00:00