Commit Graph

303 Commits (91fc22182cbdcc764c1355ba8481785f9f74dd1d)

Author SHA1 Message Date
Lipis 9cc1037e7b
New Crowdin translations ()
Lipis e38045ccad
New Crowdin translations ()
* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* 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 (Chinese Traditional)

* New translations en.json (Hungarian)

* New translations en.json (Norwegian)

* New translations en.json (French)
David Luzar cf4fa30a57
tweak png copy button label ()
* tweak png copy button label

* fix lint
Lipis c7f10c5de2
New Crowdin translations ()
* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)
Lipis 125d1294a0
New Crowdin translations ()
Jed Fox daa121e909
Add a warning to encourage people to update translations direct… ()
Lipis 5b6723b514
New Crowdin translations ()
Lipis 46e619d800
New Crowdin translations ()
Lipis 6b3dee6777
New Crowdin translations ()
Lipis 59fa371367
New translations en.json (Chinese Simplified) ()
Lipis cb68153a81
New Crowdin translations ()
David Luzar b7da524538
confirm arrow on doubleclick ()
* confirm arrow on double click

* change hint

* fix cursor not updating on click
Jed Fox d8bbe536a7
Restyle the mobile UI a bit ()
* Restyle the bottom bar on mobile as an Island

* Shorter label for collaboration button, truncate too-long button labels

* Refactor safe area things to global vars

* Fix scroll bar positioning, don’t block scrollbars with menu island

* Update text
Lipis 793e0e4aa0
Remove redundant text ()
Lipis 1c545c1d47
New Crowdin translations ()
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)
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>
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)
Lipis d834ff4d89
New Crowdin translations ()
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>
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>
Lipis aa9a6b0909
New Crowdin translations ()
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
Lipis c261f089fc
New Crowdin translations ()
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
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)
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
Lipis a8a5733e50
New translations en.json (French) ()
Lipis 718713672a
New translations en.json (Portuguese) ()
Lipis 26ce7fc563
New Crowdin translations ()
Lipis 19e746792e
New Crowdin translations ()
Lipis 4e3a2f9e3b
New Crowdin translations ()
* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)
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)
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
Lipis d342cae2ae
New Crowdin translations ()
* New translations en.json (Polish)

* New translations en.json (Polish)
Lipis 09fa56335e
New Crowdin translations ()
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
İsmail Namdar 626c99939e
add tr localization ()
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
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
Szymon Pajka 360864ef3d
Add missing Polish translations ()
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.
rubjo 40b54a8780
Update translation: Norwegian Bokmål ()
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>
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 
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>
Szymon Pajka f359a1ea1b
Fix grammar problems in Polish translation 🇵🇱🐛 ()
* corrected typos
* fixed grammar
Szymon Pajka 1cd0dfe922
Add Polish language support ()
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
rubjo 23d40ae4a5
Added Norwegian Bokmål ()
* Added Norwegian Bokmål

* Lint long line
Faustino Kialungila 814299321e
Add missing locales for scrollBackToContent ()
* Add missing locales for scrollToContent

* remove duplicated locales
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.
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)