Compare commits

...
Author SHA1 Message Date
Thomas Weber dd83af71fd Changes to match TW/desktop 2021-01-09 15:13:15 -06:00
Thomas Weber e795bdc0cb Update to handle async prompt 2021-01-07 15:44:29 -06:00
Thomas Weber dc68458634 Merge branch 'develop' into desktop 2021-01-07 15:44:11 -06:00
Thomas Weber 5c25b07e1e Remove llinks to privacy policy, embedding, and URL parameters
These do not make sense in desktop.
2021-01-07 15:43:35 -06:00
Thomas Weber 9565903d14 Translate new framerate prompt 2021-01-07 15:42:41 -06:00
Thomas Weber e4bbe3e5d3 SixtyFPSToggler -> FramerateChanger 2021-01-07 15:40:58 -06:00
Thomas Weber 43cf2d7a0a Control+click 60 FPS toggler to use any framerate 2021-01-07 15:39:07 -06:00
Thomas Weber dcd5ac11b1 Add cloud unavailable message specific to offline editor 2021-01-07 13:55:00 -06:00
Thomas Weber 17630e0812 Fetch library items from library-files/ 2021-01-07 13:54:36 -06:00
Thomas Weber 7db75dbf6d Remove progress bar logic
Closes https://github.com/TurboWarp/desktop/issues/8
2021-01-06 20:19:03 -06:00
Thomas Weber edadc3ac7f "autosave" -> "restore point" 2021-01-06 13:39:43 -06:00
Thomas Weber d2e7c4fdaf Revert webpack config changes 2021-01-06 13:39:05 -06:00
Thomas Weber d573691288 Merge branch 'develop' into desktop 2021-01-06 13:38:32 -06:00
Thomas Weber 437640b744 Do not encode / and : 2021-01-06 12:51:27 -06:00
Thomas Weber 6f0b2b9db6 Remove embedding warning 2021-01-06 10:36:36 -06:00
Thomas Weber 5df9370307 Don't reference a file that doesn't exist 2021-01-05 20:02:32 -06:00
Thomas Weber 172df1b808 Don't ignore src 2021-01-05 17:54:28 -06:00
Thomas Weber cfc01bc136 Add link to license 2021-01-05 17:33:45 -06:00
Thomas Weber 3084d2489e Await prompt() because it's going to be replaced with an async method in electron 2021-01-05 16:43:13 -06:00
Thomas Weber aa1e099570 Merge branch 'develop' into desktop 2021-01-05 15:39:44 -06:00
Thomas Weber 63f4707fc6 Set env vars 2021-01-05 15:22:50 -06:00
Thomas Weber 5a238b3459 Remove legacy download option 2021-01-05 15:22:42 -06:00
Thomas Weber 1388d9b4e5 "Autosave" -> "Restore point" 2021-01-05 12:10:15 -06:00
Thomas Weber 7c1023b1d5 Update translations 2021-01-05 11:38:26 -06:00
Thomas Weber 6900b2b64e Update translations 2021-01-05 11:38:08 -06:00
Thomas Weber 544b2bae83 Don't even load en-steps 2021-01-05 11:15:42 -06:00
Thomas Weber 531b54810e Do not use dark mode HOC in embed 2021-01-05 11:14:31 -06:00
Thomas Weber d192466784 Disable addon loading 2021-01-04 18:37:34 -06:00
Thomas Weber fa3f030d1c Disable onbeforeunload 2021-01-04 18:37:29 -06:00
Thomas Weber 629d832304 Fix package and webpack config 2021-01-04 18:37:18 -06:00
Thomas Weber 0f3ab023b0 Disable the editor warning 2021-01-04 17:57:02 -06:00
Thomas Weber 6965f128ce Port https://github.com/ScratchAddons/ScratchAddons/pull/1196 2021-01-04 10:59:40 -06:00
Thomas Weber 15fb3d01a5 Remove tutorial images and videos, we don't use them 2021-01-03 17:51:33 -06:00
Thomas Weber 93fcfef064 Merge branch 'autosave' into develop 2021-01-03 17:25:02 -06:00
Thomas Weber 6019e4ded9 Increase AUTOSAVE_TIMEOUT to 5 minutes 2021-01-03 17:23:39 -06:00
Thomas Weber 0eee10d2d3 Further cleanup editor warning 2021-01-03 16:59:55 -06:00
Thomas Weber 3bff38c0fd Remove analytics events for load shared/unshared
This is now tracked server-side
2021-01-03 16:45:04 -06:00
Thomas Weber 8f7fcecc6e Tune the crash detection and recovery message 2021-01-03 11:50:38 -06:00
Thomas Weber 7b8e926c36 Enable warp timer by default in editor again 2021-01-03 10:54:38 -06:00
Thomas Weber 71d2e20dcf Revert "Automatically enable ?stuck when warp timer is enabled in editor"
This reverts commit 64ef640a35.
2021-01-03 10:27:33 -06:00
Thomas Weber 64ef640a35 Automatically enable ?stuck when warp timer is enabled in editor 2021-01-03 01:33:54 -06:00
Thomas Weber ce5bc84c75 Update editor warning 2021-01-03 01:32:47 -06:00
Thomas Weber dbaff13fd5 Mark project recovery as beta 2021-01-03 01:19:15 -06:00
Thomas Weber 33c8997a6a Hide crash recovery alert after hitting recover 2021-01-03 01:05:43 -06:00
Thomas Weber 8c91a9feab Detect when the VM crashed and show a recovery alert 2021-01-03 00:55:22 -06:00
Thomas Weber 408cfcf9e5 Bring AUTOSAVE_TIMEOUT back up to 1 min 2021-01-03 00:55:19 -06:00
Thomas Weber c77d0c53d8 Hardcode sucess alert color 2021-01-03 00:24:22 -06:00
Thomas Weber ee71376da9 Fix a case where autosaves could continue to happen after bailing 2021-01-03 00:16:40 -06:00
Thomas Weber 13127b4223 Further work to improve autosave 2021-01-03 00:14:57 -06:00
Thomas Weber 3a623b7f5b Clarify "No valid project" 2021-01-02 23:55:24 -06:00
Thomas Weber 6ff8e0b2a8 Handle autosave load failures better 2021-01-02 23:50:57 -06:00
Thomas Weber 289fcdcb53 Refactoring 2021-01-02 23:49:34 -06:00
Thomas Weber 73862f3fa6 Make eslint happy 2021-01-02 23:46:39 -06:00
Thomas Weber 4127782b8e Better error message when no valid project 2021-01-02 23:45:59 -06:00
Thomas Weber cca1c697cf Some more IDB cleanup
Properly handle errors when IDB cannot be opened
2021-01-02 23:43:47 -06:00
Thomas Weber 1c2870144e Enable excludeAcceptAllOption
It appears that Chrome OS will default to "All Files" and then users will save files w/o an extension.
Outright removing that choice seems to fix it.
2021-01-02 23:32:20 -06:00
Thomas Weber 50ba801c71 Increase AUTOSAVE_TIMEOUT to a more reasonable amount
Will be increased even more later
2021-01-02 22:46:09 -06:00
Thomas Weber 1d506892ab More autosaving cleanup 2021-01-02 22:44:09 -06:00
Thomas Weber eb848ec223 Some autosaving cleanup 2021-01-02 22:24:04 -06:00
Thomas Weber 1fd62f928a Autosave loading 2021-01-02 21:48:15 -06:00
Thomas Weber 49ace680e0 Only autosave when showing project 2021-01-02 21:46:11 -06:00
Thomas Weber 631c797aba e -> err 2021-01-02 21:45:33 -06:00
Thomas Weber a9555e1eb0 Refactor autosaving 2021-01-02 21:09:05 -06:00
Thomas Weber 6a881a5a62 Autosave part 1 - The saving 2021-01-02 20:30:03 -06:00
Thomas Weber d5f40b6222 Disable ctrl+s for now 2021-01-02 18:54:22 -06:00
Thomas Weber 2cd6a25594 Meta fetcher should not leak properties 2021-01-02 18:46:11 -06:00
Thomas Weber cc824fea23 Update translations 2021-01-01 11:18:38 -06:00
Thomas Weber 6f9d51fe8c Only disable context menu when "is right click pressed?" is actually used 2020-12-31 18:10:02 -06:00
Thomas Weber 22dfe439d9 Port https://github.com/ScratchAddons/ScratchAddons/pull/1139 2020-12-31 14:31:24 -06:00
Thomas Weber 6880ead7e1 Fix menu bar link color 2020-12-31 14:20:45 -06:00
Thomas Weber 4de6e39d56 Fix editor height 2020-12-30 21:54:19 -06:00
Thomas Weber c02ed21459 Fix splash messages 2020-12-30 20:31:25 -06:00
Thomas Weber 095734f9c7 Fix zh_CN splash 2020-12-30 20:27:50 -06:00
Thomas Weber e752c88cdf Update translations 2020-12-30 20:27:33 -06:00
Thomas Weber 00ada90479 Fix CSS error 2020-12-30 19:29:46 -06:00
Thomas Weber 13996df8e5 Allow overriding dark mode with a URL parameter 2020-12-30 19:29:40 -06:00
Thomas Weber 397a2a4722 Convert most CSS to use [theme="dark"] 2020-12-30 19:26:32 -06:00
Thomas Weber 0ab312a5be Add HOC to handle dark mode preference 2020-12-30 19:22:26 -06:00
Thomas Weber 56b38e0312 Update default project comment
It can be translated now.
2020-12-29 13:42:38 -06:00
Thomas Weber cc95d12ec0 Update translations 2020-12-29 13:32:57 -06:00
Thomas Weber c686942f99 Put quotes around the invalid URL parameter 2020-12-29 11:12:51 -06:00
Thomas Weber d6ab0a6839 Licensing disclaimer should link to the license 2020-12-29 11:12:20 -06:00
Thomas Weber 9e776c1c57 Expose real ScratchBlocks on window.ScratchBlocks 2020-12-29 10:22:43 -06:00
Thomas Weber 051dee4d70 Give TW category proper color 2020-12-29 10:11:54 -06:00
Thomas Weber 0d82330d4d Port editor-devtools optimizations and bug fixes
https://github.com/ScratchAddons/ScratchAddons/pull/1120
2020-12-29 09:46:40 -06:00
Thomas Weber 4f4f912c07 Update translations 2020-12-28 22:16:41 -06:00
Thomas Weber 0849d2add7 Remove unused translations 2020-12-28 09:40:53 -06:00
Thomas Weber 087b245dbc Update translations 2020-12-27 10:47:48 -06:00
Thomas Weber a6fe590bb8 Cleanup and fix "extended extensions" warning 2020-12-25 15:08:26 -06:00
Thomas Weber 7397df2529 Update translations 2020-12-25 10:08:57 -06:00
Thomas Weber 4f95d3f874 Expose vm on window.vm 2020-12-25 10:02:13 -06:00
Thomas Weber 9f560aa49b Add a link to the TW blocks documentation 2020-12-24 21:23:44 -06:00
Thomas Weber 0f351d6c41 Send to top/bottom is broken, so disable it 2020-12-24 20:54:11 -06:00
Thomas Weber 9a10f20fe3 Add a link to learn more 2020-12-24 20:14:25 -06:00
Thomas Weber e4dee26f9d Prevent right click on stage 2020-12-24 19:17:54 -06:00
Thomas Weber 218968e259 Tell VM which mouse button was pressed/released 2020-12-24 19:03:40 -06:00
Thomas Weber 8f619b7398 Show warning when saving a project that uses TW-exclusive blocks 2020-12-24 18:28:10 -06:00
Thomas Weber c9560ac217 Update toolbox generation for changes in TW/scratch-vm 2020-12-24 17:59:09 -06:00
Thomas Weber 09a4ab1772 Update addon IDs
Make them match their SA ID
2020-12-24 17:19:52 -06:00
Thomas Weber bb669a3393 Update addon API
Add urlChange event
Actually implement editorMode
2020-12-24 17:11:29 -06:00
Thomas Weber 49dec305ef Make webpack not remove these comments 2020-12-24 16:20:50 -06:00
Thomas Weber 5e9ef5d3b0 Cleanup some more addon stuff 2020-12-24 16:04:28 -06:00
Thomas Weber 51ec80e691 More addon improvements
Lots of cleanup.
Import block-switching
Work on API support
2020-12-24 15:58:23 -06:00
Thomas Weber 950ef3293c We do not use jsDelivr anymore. 2020-12-24 15:43:53 -06:00
Thomas Weber bc6e2f95f5 Improve addons
Load in a setTimeout
Include a local copy of s3 dev tools
Share a single API instance
2020-12-24 15:43:14 -06:00
Thomas Weber 808f211f0f A new approach to addons 2020-12-24 15:25:48 -06:00
Thomas Weber efc8722336 There should be a border after "Advanced Settings Help" 2020-12-23 16:30:55 -06:00
Thomas Weber 0f301f224b Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-12-22 23:52:56 -06:00
Thomas Weber d012b2de22 Update translations 2020-12-22 23:34:03 -06:00
dependabot-preview[bot] ddd2fa06f2 Merge pull request #6509 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201223034356 2020-12-23 04:00:10 +00:00
dependabot-preview[bot] 326f5f7fef build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201222034511 to 0.1.0-prerelease.20201223034356.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-23 03:51:33 +00:00
dependabot-preview[bot] c6c61225c2 Merge pull request #6508 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201223031554 2020-12-23 03:34:10 +00:00
dependabot-preview[bot] f5ee459f56 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201222031511 to 3.10.20201223031554.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201222031511...3.10.20201223031554)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-23 03:25:44 +00:00
Thomas Weber cf160bc275 Don't show the warning message when compiler is disabled (by URL parameter) 2020-12-22 15:23:54 -06:00
dependabot-preview[bot] 0bac201dc1 Merge pull request #6507 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201222034511 2020-12-22 04:02:08 +00:00
dependabot-preview[bot] df610f2f4c build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201221034416 to 0.1.0-prerelease.20201222034511.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-22 03:52:58 +00:00
dependabot-preview[bot] dba5f90457 Merge pull request #6506 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201222031511 2020-12-22 03:49:28 +00:00
dependabot-preview[bot] 033d1ac705 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201221031502 to 3.10.20201222031511.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201221031502...3.10.20201222031511)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-22 03:40:31 +00:00
dependabot-preview[bot] 8020e5a486 Merge pull request #6505 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201221034416 2020-12-21 04:02:08 +00:00
dependabot-preview[bot] 54832f0285 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201219032509 to 0.1.0-prerelease.20201221034416.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-21 03:52:59 +00:00
dependabot-preview[bot] 487a640a42 Merge pull request #6504 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201221031502 2020-12-21 03:44:51 +00:00
dependabot-preview[bot] 2cfd6386e4 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201220031455 to 3.10.20201221031502.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201220031455...3.10.20201221031502)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-21 03:35:43 +00:00
dependabot-preview[bot] f9ebe77f45 Merge pull request #6501 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201220031455 2020-12-20 03:29:15 +00:00
dependabot-preview[bot] d7a115c839 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201219031451 to 3.10.20201220031455.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201219031451...3.10.20201220031455)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-20 03:19:31 +00:00
Thomas Weber 2576eedf37 Update translations 2020-12-19 17:14:02 -06:00
Thomas Weber 2b0c35f350 Automatically store options in URL parameters
compiler enabled, warp timer, max clones, hqpen, framerate, turbo
2020-12-19 16:44:18 -06:00
dependabot-preview[bot] dfe0ab96a8 Merge pull request #6499 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201219031451 2020-12-19 03:52:38 +00:00
dependabot-preview[bot] 04fb2bb596 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201218031454 to 3.10.20201219031451.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201218031454...3.10.20201219031451)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 03:43:47 +00:00
dependabot-preview[bot] c65e15f006 Merge pull request #6500 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201219032509 2020-12-19 03:40:47 +00:00
dependabot-preview[bot] 474c3f5925 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201218040309 to 0.1.0-prerelease.20201219032509.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 03:32:52 +00:00
dependabot-preview[bot] 80d5383336 Merge pull request #6496 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201218040309 2020-12-18 04:18:28 +00:00
dependabot-preview[bot] e6d5cc8c10 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201217041149 to 0.1.0-prerelease.20201218040309.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-18 04:10:57 +00:00
dependabot-preview[bot] 03a4b116a1 Merge pull request #6495 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201218031454 2020-12-18 03:42:11 +00:00
dependabot-preview[bot] f38386f54b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201217031549 to 3.10.20201218031454.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201217031549...3.10.20201218031454)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-18 03:34:24 +00:00
Thomas Weber 2535422898 Make implied https:// actually work 2020-12-17 17:25:22 -06:00
Thomas Weber 88962f018f Add https: to project_url if missing 2020-12-17 16:19:41 -06:00
Thomas Weber 417f5e9820 More warning updates 2020-12-17 15:03:51 -06:00
Thomas Weber 6a5c30fa40 Update the editor warning so that more people might actually read it 2020-12-17 14:52:36 -06:00
Thomas Weber 4f3cfcce80 Allow cloud variables unavailable alert to be translated 2020-12-17 14:43:34 -06:00
Benjamin Wheeler dc974a984e Merge pull request #4982 from adroitwhiz/reduce-pick-queries
Only call Renderer.pick() on draggable targets in Stage.onStartDrag
2020-12-17 09:56:00 -05:00
dependabot-preview[bot] 802b284d65 Merge pull request #6493 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201217041149 2020-12-17 04:49:18 +00:00
dependabot-preview[bot] 24c3c5ea02 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201216042451 to 0.1.0-prerelease.20201217041149.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 04:40:19 +00:00
dependabot-preview[bot] e92f894ec0 Merge pull request #6492 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201217031549 2020-12-17 03:34:23 +00:00
dependabot-preview[bot] d8650a5789 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201216031625 to 3.10.20201217031549.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201216031625...3.10.20201217031549)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 03:25:47 +00:00
Thomas Weber 941e62a567 If selected file is not sb3, do not save its handle 2020-12-16 17:37:05 -06:00
dependabot-preview[bot] f710c8d197 Merge pull request #6490 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201216042451 2020-12-16 05:40:36 +00:00
dependabot-preview[bot] b1614757c1 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201215042523 to 0.1.0-prerelease.20201216042451.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-16 05:32:12 +00:00
dependabot-preview[bot] 8884a0c8d0 Merge pull request #6489 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201216031625 2020-12-16 03:46:29 +00:00
dependabot-preview[bot] a3f730ccd4 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201215031549 to 3.10.20201216031625.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201215031549...3.10.20201216031625)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-16 03:38:37 +00:00
dependabot-preview[bot] d9a70d2f23 Merge pull request #6488 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.12.11 2020-12-16 00:19:10 +00:00
dependabot-preview[bot] 5aa3d6135c build(deps-dev): bump @babel/preset-env from 7.12.10 to 7.12.11
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.10 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-16 00:10:35 +00:00
Thomas Weber 711e9355ac Update translations 2020-12-15 14:45:46 -06:00
dependabot-preview[bot] 856a5388a6 Merge pull request #6487 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201215042523 2020-12-15 05:29:35 +00:00
dependabot-preview[bot] 25eb4c3c3e build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201214172956 to 0.1.0-prerelease.20201215042523.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 05:18:55 +00:00
dependabot-preview[bot] fd6ba68047 Merge pull request #6485 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201214172956 2020-12-15 03:56:01 +00:00
dependabot-preview[bot] 99ae61be3a build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201214034449 to 0.1.0-prerelease.20201214172956.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 03:48:34 +00:00
dependabot-preview[bot] 99ec5d4193 Merge pull request #6486 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201215031549 2020-12-15 03:45:29 +00:00
dependabot-preview[bot] 9162c872ba build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201214031518 to 3.10.20201215031549.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201214031518...3.10.20201215031549)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 03:37:08 +00:00
Thomas Weber f61d222a64 Extract errors better 2020-12-14 13:00:01 -06:00
dependabot-preview[bot] 68af79419f Merge pull request #6483 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201214034449 2020-12-14 04:03:53 +00:00
dependabot-preview[bot] c3509d7212 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201213034048 to 0.1.0-prerelease.20201214034449.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-14 03:55:58 +00:00
dependabot-preview[bot] 7998369c9c Merge pull request #6482 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201214031518 2020-12-14 03:52:50 +00:00
dependabot-preview[bot] 55ef1fbe32 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201212031431 to 3.10.20201214031518.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201212031431...3.10.20201214031518)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-14 03:44:34 +00:00
Thomas Weber 1f4c03eb1a Cleanup progress handler debouncing 2020-12-13 19:47:55 -06:00
Thomas Weber 87c0502b2e Update privacy policy again
Putting it in writing that randomly generated usernames are anonymized.
2020-12-13 19:35:26 -06:00
Thomas Weber cdc1cc5db0 Slightly debounce progress bar updates
This reduces the amount of progress events fired, which can improve performance by not doing unnecessary DOM updates (= styling, compositing, painting...)
2020-12-13 19:06:40 -06:00
dependabot-preview[bot] e5a2223f3e Merge pull request #6481 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201213034048 2020-12-13 03:56:08 +00:00
dependabot-preview[bot] 434b55f324 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201212061701 to 0.1.0-prerelease.20201213034048.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-13 03:48:24 +00:00
Thomas Weber 5409057083 Always close file handle writable 2020-12-12 17:12:16 -06:00
Thomas Weber 0999378e89 Update link for translations 2020-12-12 16:12:24 -06:00
Thomas Weber fc7af08748 Change how the "(legacy)" text is added
Should allow this to actually be translated properly
2020-12-12 12:06:16 -06:00
Thomas Weber b9946f1cea Change "Unsaved Changes" text 2020-12-12 11:51:24 -06:00
Thomas Weber 27bf293b26 Cleanup smartSave implementation 2020-12-12 11:50:28 -06:00
Thomas Weber 6faa4001b6 Update translations 2020-12-12 10:56:50 -06:00
Thomas Weber ae840bc16f Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-12-12 10:56:43 -06:00
dependabot-preview[bot] b95e92ce62 Merge pull request #6477 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201212061701 2020-12-12 06:33:17 +00:00
dependabot-preview[bot] 31d90b1f21 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201211104736 to 0.1.0-prerelease.20201212061701.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-12 06:24:49 +00:00
dependabot-preview[bot] 63fab5faa8 Merge pull request #6476 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201212031431 2020-12-12 03:31:13 +00:00
dependabot-preview[bot] e6deb37e3e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201211031507 to 3.10.20201212031431.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201211031507...3.10.20201212031431)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-12 03:22:21 +00:00
Thomas Weber dfe59a690c Update translations 2020-12-11 17:55:20 -06:00
Thomas Weber eb76689dc7 Remove mentions of "Stuck Checking" -- Warp Timer is the preferred name 2020-12-11 17:46:34 -06:00
Thomas Weber d8d3bd7c5c Fix behavior of clicking the unsaved changes text
Use the FS API
2020-12-11 17:31:09 -06:00
Thomas Weber d6667f53c9 Splash screen should read localStorage language 2020-12-11 17:17:30 -06:00
Thomas Weber 22b85edcea Add ?nocompile to disable compiler 2020-12-11 17:13:05 -06:00
Thomas Weber 1f307e239b Do not log error when user aborts file select 2020-12-11 17:12:18 -06:00
Thomas Weber 61e3edcb37 Change wording to match the menu item
Scratch uses "your computer" not "disk"
2020-12-11 17:06:33 -06:00
Thomas Weber d1363ed522 Cleanup file saving and fix error alert 2020-12-11 17:02:58 -06:00
Thomas Weber 24eab223b1 Further improve file saving
Change message to "Project saved to disk" so users don't think we saved it to Scratch.
Show the proper error alert
Obtain writable earlier to fix some bugs
2020-12-11 16:53:06 -06:00
Thomas Weber eb735fe309 Show "Saving project..." when project is saving 2020-12-11 16:21:41 -06:00
Thomas Weber e0d5cd13af Refactor file saving 2020-12-11 16:01:51 -06:00
dependabot-preview[bot] 96ac42c0f5 Merge pull request #6474 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201211104736 2020-12-11 11:25:04 +00:00
dependabot-preview[bot] f76e83432d build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201211075742 to 0.1.0-prerelease.20201211104736.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-11 11:16:41 +00:00
dependabot-preview[bot] 699b7ed3ff Merge pull request #6473 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201211075742 2020-12-11 10:45:47 +00:00
dependabot-preview[bot] 180fc28c81 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201209044752 to 0.1.0-prerelease.20201211075742.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-11 10:37:20 +00:00
dependabot-preview[bot] 52d872f5af Merge pull request #6465 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201209044752 2020-12-11 04:02:17 +00:00
dependabot-preview[bot] 199854d1e1 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201208044427 to 0.1.0-prerelease.20201209044752.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-11 03:52:54 +00:00
dependabot-preview[bot] 2b1f0e0196 Merge pull request #6472 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201211031507 2020-12-11 03:49:51 +00:00
dependabot-preview[bot] 5450150c1d build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201209031543 to 3.10.20201211031507.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201209031543...3.10.20201211031507)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-11 03:42:14 +00:00
dependabot-preview[bot] 502dadd529 Merge pull request #6471 from LLK/dependabot/npm_and_yarn/ini-1.3.7 2020-12-10 19:00:46 +00:00
dependabot-preview[bot] 94b6c0340b build(deps): [security] bump ini from 1.3.5 to 1.3.7
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7. **This update includes a security fix.**
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-10 18:52:35 +00:00
dependabot-preview[bot] 5c9527a564 Merge pull request #6469 from LLK/dependabot/npm_and_yarn/babel/cli-7.12.10 2020-12-10 10:50:08 +00:00
dependabot-preview[bot] 7e91c04590 build(deps-dev): bump @babel/cli from 7.12.8 to 7.12.10
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.8 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-10 10:39:51 +00:00
Thomas Weber f765229ea2 Update translations again 2020-12-09 22:25:45 -06:00
Thomas Weber f7d5525781 Update translations 2020-12-09 22:04:07 -06:00
Thomas Weber a5520ea916 There doesn't need to be a feedback button in Help because there's a big button right beside it 2020-12-09 19:26:45 -06:00
Thomas Weber d98630355f Merge duplicate messages 2020-12-09 19:22:19 -06:00
Thomas Weber d54f9951bf Update translations 2020-12-09 19:18:53 -06:00
dependabot-preview[bot] dcb3cac767 Merge pull request #6468 from LLK/dependabot/npm_and_yarn/babel/core-7.12.10 2020-12-09 23:17:00 +00:00
dependabot-preview[bot] a11e33ca58 Merge pull request #6466 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.12.10 2020-12-09 23:10:27 +00:00
dependabot-preview[bot] 4b0d474d17 build(deps-dev): bump @babel/core from 7.12.9 to 7.12.10
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.9 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-09 23:08:09 +00:00
dependabot-preview[bot] b24c70dda2 build(deps-dev): bump @babel/preset-env from 7.12.7 to 7.12.10
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.7 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-09 23:01:13 +00:00
Thomas Weber 3f6025a0c5 Update link to help translate 2020-12-09 16:51:34 -06:00
Thomas Weber f5f334693b Make the (legacy) text its own string 2020-12-09 16:43:59 -06:00
Thomas Weber 9a02070736 Change message for legacy save option 2020-12-09 13:22:28 -06:00
dependabot-preview[bot] 3e1bcddca4 Merge pull request #6464 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201209031543 2020-12-09 03:41:09 +00:00
dependabot-preview[bot] 198a23052b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201208031649 to 3.10.20201209031543.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201208031649...3.10.20201209031543)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-09 03:33:57 +00:00
Thomas Weber 76df7e9cbc update copyright 2020-12-08 15:47:44 -06:00
dependabot-preview[bot] 98f46c271a Merge pull request #6461 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201208031649 2020-12-08 06:10:19 +00:00
dependabot-preview[bot] 3abca1e22e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201207031619 to 3.10.20201208031649.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201207031619...3.10.20201208031649)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 06:02:30 +00:00
dependabot-preview[bot] 0ba4c7ab48 Merge pull request #6462 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201208044427 2020-12-08 05:59:19 +00:00
dependabot-preview[bot] 071a1492da build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201205050032 to 0.1.0-prerelease.20201208044427.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 05:50:53 +00:00
dependabot-preview[bot] eb3ea1c90d Merge pull request #6457 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201207031619 2020-12-07 03:53:26 +00:00
dependabot-preview[bot] eeffba064b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201206031447 to 3.10.20201207031619.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201206031447...3.10.20201207031619)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-07 03:43:58 +00:00
Thomas Weber 20ac5407f4 Mark as unchanged after saving the file 2020-12-06 19:08:32 -06:00
Thomas Weber 698b325591 Don't display an error alert when aborted 2020-12-06 19:08:24 -06:00
Thomas Weber 98f0fe63d5 Include legacy download project menu item 2020-12-06 19:06:54 -06:00
Thomas Weber 7c9d305315 Include error message in crash screen 2020-12-06 01:01:18 -06:00
Thomas Weber f431b2e169 Merge branch 'filesystem' into develop 2020-12-05 23:21:49 -06:00
Thomas Weber cc4cac20ba Fix file type issues 2020-12-05 23:17:03 -06:00
Thomas Weber d715734a43 Improve FS API support 2020-12-05 23:04:24 -06:00
dependabot-preview[bot] 9d5e7d5ce3 Merge pull request #6455 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201206031447 2020-12-06 03:27:29 +00:00
dependabot-preview[bot] ef63fdd7f8 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201205031454 to 3.10.20201206031447.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201205031454...3.10.20201206031447)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-06 03:20:08 +00:00
dependabot-preview[bot] 2294dd20b6 Merge pull request #6451 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201205050032 2020-12-05 05:18:16 +00:00
dependabot-preview[bot] 485aa8e3d6 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201204065617 to 0.1.0-prerelease.20201205050032.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-05 05:08:20 +00:00
dependabot-preview[bot] 46aae98719 Merge pull request #6450 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201205031454 2020-12-05 03:29:39 +00:00
dependabot-preview[bot] 7ddd5d9829 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201204031520 to 3.10.20201205031454.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201204031520...3.10.20201205031454)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-05 03:19:35 +00:00
dependabot-preview[bot] 358fc68e17 Merge pull request #6448 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201204065617 2020-12-04 08:53:39 +00:00
dependabot-preview[bot] 51171ff024 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201203061003 to 0.1.0-prerelease.20201204065617.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-04 08:44:51 +00:00
dependabot-preview[bot] b05d80e41e Merge pull request #6447 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201204031520 2020-12-04 03:48:29 +00:00
dependabot-preview[bot] 4fd3dde074 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201203031604 to 3.10.20201204031520.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201203031604...3.10.20201204031520)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-04 03:39:40 +00:00
dependabot-preview[bot] fa67943b78 Merge pull request #6446 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201203061003 2020-12-03 08:38:02 +00:00
dependabot-preview[bot] f1c015d7e0 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201202055226 to 0.1.0-prerelease.20201203061003.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-03 08:29:17 +00:00
dependabot-preview[bot] 59ea41bba7 Merge pull request #6445 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201203031604 2020-12-03 03:35:41 +00:00
dependabot-preview[bot] bf7c65ca1a build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201202031459 to 3.10.20201203031604.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201202031459...3.10.20201203031604)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-03 03:27:25 +00:00
Thomas Weber 529d586b05 Don't ask if the project ID hasn't actually changed 2020-12-02 18:46:24 -06:00
dependabot-preview[bot] 4eff3c70e8 Merge pull request #6442 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201202031459 2020-12-02 09:14:29 +00:00
dependabot-preview[bot] 27d7e92ab1 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201201031116 to 3.10.20201202031459.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201201031116...3.10.20201202031459)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 09:05:07 +00:00
dependabot-preview[bot] 6697d0c393 Merge pull request #6444 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201202055226 2020-12-02 09:02:01 +00:00
dependabot-preview[bot] 15455f3e3e build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201201051059 to 0.1.0-prerelease.20201202055226.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 08:54:20 +00:00
Thomas Weber 8689cbb10d Let's not accidentally delete projects when people hit the back button...
I know it's dirty. I know it's not perfect. It's a temporary stopgap.
Really we need a turbowarp-www package at some point...
2020-12-01 22:26:13 -06:00
dependabot-preview[bot] 272ff3298d Merge pull request #6440 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201201051059 2020-12-01 06:39:33 +00:00
dependabot-preview[bot] 16a0d0ff13 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201130033719 to 0.1.0-prerelease.20201201051059.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 06:31:34 +00:00
dependabot-preview[bot] cc99170e71 Merge pull request #6439 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201201031116 2020-12-01 03:25:15 +00:00
dependabot-preview[bot] a2f7a64ed4 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201130031158 to 3.10.20201201031116.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201130031158...3.10.20201201031116)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 03:15:57 +00:00
dependabot-preview[bot] 58798e7c54 Merge pull request #6438 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201130033719 2020-11-30 03:58:55 +00:00
dependabot-preview[bot] a2d2cf9de3 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201129033047 to 0.1.0-prerelease.20201130033719.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-30 03:51:02 +00:00
dependabot-preview[bot] a0c4a805d0 Merge pull request #6437 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201130031158 2020-11-30 03:47:56 +00:00
dependabot-preview[bot] ace2ae281e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201129031117 to 3.10.20201130031158.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201129031117...3.10.20201130031158)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-30 03:39:39 +00:00
Thomas Weber b5c108fd86 Close data loss warning when the user does what it says 2020-11-29 21:32:01 -06:00
Thomas Weber f315ca97d3 set file handle after selecting file
incase selecting file doesn't work
2020-11-29 19:55:52 -06:00
Thomas Weber 8247344133 Experimental support for the chrome-exclusive filesystem API 2020-11-29 19:39:55 -06:00
Thomas Weber ada9bda497 Update dependencies 2020-11-29 16:37:20 -06:00
Thomas Weber 6f21a650e7 Don't define scratch-vm twice 2020-11-29 16:36:52 -06:00
Thomas Weber f11fb0b65e Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-11-29 16:33:49 -06:00
dependabot-preview[bot] 44c24ef12d Merge pull request #6436 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201129033047 2020-11-29 03:45:14 +00:00
dependabot-preview[bot] 1ad73c948f build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201127043425 to 0.1.0-prerelease.20201129033047.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-29 03:38:16 +00:00
dependabot-preview[bot] ff2001f658 Merge pull request #6433 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201127043425 2020-11-29 03:33:55 +00:00
dependabot-preview[bot] f603943526 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201126051503 to 0.1.0-prerelease.20201127043425.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-29 03:26:56 +00:00
dependabot-preview[bot] aa1e75c82e Merge pull request #6435 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201129031117 2020-11-29 03:23:50 +00:00
dependabot-preview[bot] 7c1fec2e77 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201127031123 to 3.10.20201129031117.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201127031123...3.10.20201129031117)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-29 03:15:59 +00:00
dependabot-preview[bot] 370f406739 Merge pull request #6432 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201127031123 2020-11-27 03:33:16 +00:00
dependabot-preview[bot] e59475cafe build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201126030901 to 3.10.20201127031123.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201126030901...3.10.20201127031123)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-27 03:25:13 +00:00
dependabot-preview[bot] ae69585d0b Merge pull request #6431 from LLK/dependabot/npm_and_yarn/babel-loader-8.2.2 2020-11-26 21:50:08 +00:00
dependabot-preview[bot] 15b0369246 build(deps-dev): bump babel-loader from 8.2.1 to 8.2.2
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.1 to 8.2.2.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.1...v8.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-26 21:42:34 +00:00
Thomas Weber 41efe03067 "mode" in "60 FPS mode" should be capitalized 2020-11-26 13:36:31 -06:00
Thomas Weber a7d7e226ef Update privacy policy 2020-11-26 12:22:28 -06:00
Thomas Weber 7fca7c4b09 Fix onClearCompileErrors being passed to children 2020-11-26 10:26:58 -06:00
dependabot-preview[bot] 98e441c75a Merge pull request #6430 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201126051503 2020-11-26 06:35:29 +00:00
dependabot-preview[bot] 4740e9e31a build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201125083313 to 0.1.0-prerelease.20201126051503.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-26 06:27:13 +00:00
dependabot-preview[bot] ead3dbb46a Merge pull request #6429 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201126030901 2020-11-26 03:22:21 +00:00
dependabot-preview[bot] 96c154c42e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201125030848 to 3.10.20201126030901.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201125030848...3.10.20201126030901)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-26 03:13:43 +00:00
Thomas Weber 943859cf8d Reduce length of random usernames
This is done with the hope to make it harder to uniquely identify users based on username.
2020-11-25 19:54:08 -06:00
Thomas Weber 333d620f6f navigator.doNotTrack is weird 2020-11-25 14:11:26 -06:00
Thomas Weber 2283693a7b Respect Do Not Track 2020-11-25 14:04:02 -06:00
dependabot-preview[bot] a98805b6d5 Merge pull request #6426 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201125083313 2020-11-25 09:40:59 +00:00
dependabot-preview[bot] 11615489dc build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201124110853 to 0.1.0-prerelease.20201125083313.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-25 09:33:01 +00:00
dependabot-preview[bot] e4da9c3a98 Merge pull request #6425 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201125065300 2020-11-25 09:14:36 +00:00
dependabot-preview[bot] 5ce3344c16 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201112030151 to 0.2.0-prerelease.20201125065300.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/compare/0.2.0-prerelease.20201112030151...0.2.0-prerelease.20201125065300)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-25 09:05:02 +00:00
dependabot-preview[bot] c22914ff95 Merge pull request #6424 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201125030848 2020-11-25 03:23:20 +00:00
dependabot-preview[bot] 5fe963f885 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201124030911 to 3.10.20201125030848.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201124030911...3.10.20201125030848)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-25 03:13:38 +00:00
dependabot-preview[bot] 2212239aac Merge pull request #6423 from LLK/dependabot/npm_and_yarn/babel/core-7.12.9 2020-11-24 21:17:40 +00:00
dependabot-preview[bot] 6a1843ad0e build(deps-dev): bump @babel/core from 7.12.8 to 7.12.9
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.8 to 7.12.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.9/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 21:09:14 +00:00
Thomas Weber 8227422bc8 Update URL parameters
Add clones=
Validate fps= and clones=, show an alert if invalid
2020-11-24 13:59:09 -06:00
dependabot-preview[bot] 41f02fdeaa Merge pull request #6422 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201124110853 2020-11-24 11:37:22 +00:00
dependabot-preview[bot] 0964710045 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201123032223 to 0.1.0-prerelease.20201124110853.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 11:28:25 +00:00
dependabot-preview[bot] bd88ff2861 Merge pull request #6418 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201123032223 2020-11-24 03:32:58 +00:00
dependabot-preview[bot] 762fe949bd build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201122032301 to 0.1.0-prerelease.20201123032223.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 03:24:51 +00:00
dependabot-preview[bot] 84d8bf7cf7 Merge pull request #6421 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201124030911 2020-11-24 03:21:37 +00:00
dependabot-preview[bot] d6eac7485b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201122030806 to 3.10.20201124030911.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201122030806...3.10.20201124030911)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 03:13:49 +00:00
dependabot-preview[bot] 4f3d47d727 Merge pull request #6420 from LLK/dependabot/npm_and_yarn/babel/core-7.12.8 2020-11-23 22:48:46 +00:00
dependabot-preview[bot] 22e9e96aa9 Merge pull request #6419 from LLK/dependabot/npm_and_yarn/babel/cli-7.12.8 2020-11-23 22:45:11 +00:00
dependabot-preview[bot] 91d592edcc build(deps-dev): bump @babel/core from 7.12.7 to 7.12.8
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.7 to 7.12.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.8/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-23 22:39:22 +00:00
dependabot-preview[bot] 5d1286f2c7 build(deps-dev): bump @babel/cli from 7.12.7 to 7.12.8
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.7 to 7.12.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.8/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-23 22:35:47 +00:00
Thomas Weber 2e7d4c7562 Add option for infinite clones 2020-11-23 11:04:08 -06:00
Thomas Weber 7c63f72b9f fix setRuntimeOptionsState 2020-11-23 11:03:53 -06:00
Thomas Weber 235d22dc44 compiler options -> vm options 2020-11-23 10:47:49 -06:00
Thomas Weber 5a06089687 Move Disable Compiler below warp timer 2020-11-23 10:47:12 -06:00
Thomas Weber 0480bca3a2 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-11-22 12:11:24 -06:00
Thomas Weber 1e5d90caf6 Ignore errors about event_whengreaterthan 2020-11-21 22:36:39 -06:00
dependabot-preview[bot] f66ac21545 Merge pull request #6415 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201122032301 2020-11-22 03:37:52 +00:00
dependabot-preview[bot] 37acbb2883 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201120053828 to 0.1.0-prerelease.20201122032301.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-22 03:30:34 +00:00
dependabot-preview[bot] ee4f85782b Merge pull request #6414 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201122030806 2020-11-22 03:22:18 +00:00
dependabot-preview[bot] 81efd9af85 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201121030841 to 3.10.20201122030806.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201121030841...3.10.20201122030806)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-22 03:12:42 +00:00
Thomas Weber a95b369acd Disable editing target changing in embed 2020-11-21 19:56:50 -06:00
dependabot-preview[bot] 744f9bf82b Merge pull request #6411 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201121030841 2020-11-21 03:22:51 +00:00
Thomas Weber cf0e6a9b35 Reset compile errors when RUNTIME_STARTED 2020-11-20 21:18:42 -06:00
dependabot-preview[bot] 82026cc82f build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201120030852 to 3.10.20201121030841.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201120030852...3.10.20201121030841)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-21 03:13:18 +00:00
Thomas Weber ac9ad8ac9e Ignore errors from trying to compile an input as a stacked block 2020-11-20 21:04:27 -06:00
Thomas Weber 657967e61b Make titles consistent 2020-11-20 17:05:50 -06:00
dependabot-preview[bot] f4f3894fb9 Merge pull request #6409 from LLK/dependabot/npm_and_yarn/babel/core-7.12.7 2020-11-20 21:59:08 +00:00
dependabot-preview[bot] 7f882ca224 build(deps-dev): bump @babel/core from 7.12.3 to 7.12.7
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.3 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-20 21:51:35 +00:00
dependabot-preview[bot] 5b795ddd78 Merge pull request #6408 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.12.7 2020-11-20 21:48:23 +00:00
dependabot-preview[bot] 686957b55a Merge pull request #6406 from LLK/dependabot/npm_and_yarn/babel/cli-7.12.7 2020-11-20 21:39:40 +00:00
dependabot-preview[bot] 55e798e9fa build(deps-dev): bump @babel/preset-env from 7.12.1 to 7.12.7
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.1 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-20 21:38:51 +00:00
dependabot-preview[bot] 6a590b0ec7 build(deps-dev): bump @babel/cli from 7.12.1 to 7.12.7
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.1 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-20 21:31:38 +00:00
dependabot-preview[bot] d41617ee33 Merge pull request #6405 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201120053828 2020-11-20 11:33:36 +00:00
dependabot-preview[bot] 7e08aeaa90 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201119044258 to 0.1.0-prerelease.20201120053828.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-20 11:24:17 +00:00
dependabot-preview[bot] 0fa4dd40f2 Merge pull request #6404 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201120030852 2020-11-20 03:22:42 +00:00
dependabot-preview[bot] f04cba8960 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201119030912 to 3.10.20201120030852.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201119030912...3.10.20201120030852)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-20 03:13:30 +00:00
Thomas Weber 96f3889570 Fix some message descriptions 2020-11-19 11:44:40 -06:00
Thomas Weber 9658a6e5db Move the error menu even earlier and make it more consistent with the language selector 2020-11-19 10:44:59 -06:00
dependabot-preview[bot] e55cc54f87 Merge pull request #6401 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201119044258 2020-11-19 05:31:46 +00:00
dependabot-preview[bot] 93ce779628 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201118034504 to 0.1.0-prerelease.20201119044258.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-19 05:21:58 +00:00
dependabot-preview[bot] f1001b8a2a Merge pull request #6400 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201119030912 2020-11-19 03:23:03 +00:00
dependabot-preview[bot] c0a8ddc7c2 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201118031039 to 3.10.20201119030912.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201118031039...3.10.20201119030912)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-19 03:13:57 +00:00
Thomas Weber 9ad60c7b89 Move error menu earlier 2020-11-18 17:59:22 -06:00
Thomas Weber 93e0f98a24 Improve the error menu more 2020-11-18 17:48:40 -06:00
Thomas Weber 59c61587fa Fix ignoring toolbox errors 2020-11-18 17:25:27 -06:00
Thomas Weber 836c02ebbd Improve error menu 2020-11-18 17:17:58 -06:00
Thomas Weber 1dc64ef5d5 Compile error menu section 2020-11-18 17:13:53 -06:00
Thomas Weber 674acb7f74 Update event name for crash 2020-11-18 17:10:38 -06:00
Thomas Weber 0267aab495 Update analytics 2020-11-18 16:16:26 -06:00
chrisgarrity 3b9caeba3d Merge pull request #6399 from LLK/revert-6230-patch-12
Revert "Remove autofocus from question input"
2020-11-18 16:27:16 -05:00
chrisgarrity a7235827b6 Revert "Remove autofocus from question input" 2020-11-18 16:24:50 -05:00
dependabot-preview[bot] 8635ee9ace Merge pull request #6398 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201118034504 2020-11-18 04:06:28 +00:00
dependabot-preview[bot] d5be616a23 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201117040226 to 0.1.0-prerelease.20201118034504.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-18 03:53:00 +00:00
dependabot-preview[bot] 19b5e76c42 Merge pull request #6397 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201118031039 2020-11-18 03:25:56 +00:00
dependabot-preview[bot] ebccdaf28e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201117030745 to 3.10.20201118031039.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201117030745...3.10.20201118031039)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-18 03:17:10 +00:00
Thomas Weber 2f5c9870d9 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-11-17 14:56:02 -06:00
Thomas Weber b23350e0b3 Put a single "is compiled?" in the toolbox
The main issue with is compiled? returning 0 on its own is now fixed.
2020-11-17 13:32:04 -06:00
Thomas Weber 10ebfe5988 Rename the feedback button
People seem to interpret that button as a way to give feedback to the project creator. This change intends to make it more clear that this is for TurboWarp itself.
Temporary stopgap until something better can be implemented.
2020-11-16 23:23:32 -06:00
dependabot-preview[bot] ac134f2943 Merge pull request #6394 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201117040226 2020-11-17 04:18:48 +00:00
dependabot-preview[bot] 22b086038f build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201116164424 to 0.1.0-prerelease.20201117040226.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-17 04:09:51 +00:00
dependabot-preview[bot] 9d2a69fb74 Merge pull request #6393 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201117030745 2020-11-17 03:21:34 +00:00
dependabot-preview[bot] 0d83cc9b5b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201116030849 to 3.10.20201117030745.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201116030849...3.10.20201117030745)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-17 03:12:27 +00:00
dependabot-preview[bot] f78e5325bf Merge pull request #6392 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201116164424 2020-11-16 17:02:24 +00:00
dependabot-preview[bot] 2cda0b359d build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201116032130 to 0.1.0-prerelease.20201116164424.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-16 16:52:01 +00:00
dependabot-preview[bot] ae76ba4891 Merge pull request #6391 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201116032130 2020-11-16 03:49:18 +00:00
dependabot-preview[bot] cd2ece3004 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201115031700 to 0.1.0-prerelease.20201116032130.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-16 03:41:07 +00:00
dependabot-preview[bot] c89c787ab9 Merge pull request #6390 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201116030849 2020-11-16 03:22:57 +00:00
dependabot-preview[bot] 8d4a2a69a7 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201115030902 to 3.10.20201116030849.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201115030902...3.10.20201116030849)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-16 03:14:43 +00:00
Thomas Weber 35d90830ee Fix some issues with embeds in fullscreen
Fix isWindowFullScreen always being false in Safari
Fix fullscreenchange handler not firing in Safari
Fix white background when embed is fullscreen in Safari
There appears to be a common theme here...
2020-11-14 23:16:01 -06:00
dependabot-preview[bot] 4ef5402501 Merge pull request #6389 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201115031700 2020-11-15 03:31:53 +00:00
dependabot-preview[bot] 8e12437764 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201114034524 to 0.1.0-prerelease.20201115031700.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-15 03:24:37 +00:00
dependabot-preview[bot] 8b2a96173f Merge pull request #6388 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201115030902 2020-11-15 03:21:03 +00:00
dependabot-preview[bot] ac05effe61 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201114030926 to 3.10.20201115030902.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201114030926...3.10.20201115030902)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-15 03:13:55 +00:00
Thomas Weber 875de0caea Allow embed to use wildcard-like routing
So that links can look like this:
https://turbowarp.org/1/embed
Instead of this:
https://turbowarp.org/embed.html#1
2020-11-14 17:57:19 -06:00
Thomas Weber 001c46daff Embed should not use any routing style 2020-11-14 17:48:34 -06:00
Thomas Weber 45a6a071d2 Fix state manager clobbering project ID property 2020-11-14 17:48:08 -06:00
Thomas Weber fc2dc8cb5f Remove .html from path in analytics 2020-11-14 17:40:17 -06:00
Thomas Weber 673c2621d6 Don't push state if router returned empty url 2020-11-14 17:35:22 -06:00
DD Liu 81cd5974e8 Merge pull request #6177 from fsih/fixDefaultProject
Update default project assets
2020-11-14 18:08:30 -05:00
Thomas Weber 611d03a310 Add URL parameter for warp timer/stuck checking 2020-11-14 17:08:10 -06:00
Thomas Weber 2f402740fd Don't include definitions for languages that have no messages 2020-11-14 17:00:10 -06:00
Thomas Weber e40dbea5c8 Make hashtags into links 2020-11-14 16:53:24 -06:00
Thomas Weber e6d846f221 Allow splash screen to be translated 2020-11-14 13:52:42 -06:00
Thomas Weber b451676a60 We don't have a favicon so don't tell browsers to fetch one 2020-11-14 10:31:41 -06:00
dependabot-preview[bot] c6a04c836c Merge pull request #6387 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201114034524 2020-11-14 04:01:09 +00:00
dependabot-preview[bot] 7078bea016 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201113041639 to 0.1.0-prerelease.20201114034524.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-14 03:52:49 +00:00
Thomas Weber 81e458e89f "inside" of "See inside" should be lowercased for consistency 2020-11-13 21:47:53 -06:00
dependabot-preview[bot] 372d6f87c2 Merge pull request #6386 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201114030926 2020-11-14 03:22:20 +00:00
dependabot-preview[bot] 569f8b07c4 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201113030857 to 3.10.20201114030926.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201113030857...3.10.20201114030926)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-14 03:14:09 +00:00
Thomas Weber f6b67b7524 Reset embedtest.html 2020-11-13 17:52:40 -06:00
Thomas Weber 84b22a33af Don't show a fullscreen button in embed when fullscreen is not available 2020-11-13 17:52:06 -06:00
dependabot-preview[bot] ec077d0509 Merge pull request #6385 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201113223804 2020-11-13 22:52:14 +00:00
dependabot-preview[bot] 691edd4314 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20201111202433 to 0.1.0-prerelease.20201113223804.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-13 22:44:00 +00:00
chrisgarrity 23605ead86 Merge pull request #5482 from apple502j/fullscreen-space
Ignore sound editor keyboard shortcut on fullscreen stage
2020-11-13 15:53:07 -05:00
chrisgarrity 469dda2b16 Merge pull request #6230 from apple502j/patch-12
Remove autofocus from question input
2020-11-13 15:32:37 -05:00
dependabot-preview[bot] d860d04a0d Merge pull request #6383 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201113041639 2020-11-13 05:32:07 +00:00
dependabot-preview[bot] 0d9aec93fe build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201112095731 to 0.1.0-prerelease.20201113041639.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-13 05:23:47 +00:00
dependabot-preview[bot] b7c918dbf1 Merge pull request #6382 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201113030857 2020-11-13 03:22:35 +00:00
dependabot-preview[bot] ee9df58584 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201112030847 to 3.10.20201113030857.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201112030847...3.10.20201113030857)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-13 03:13:48 +00:00
zoebentley ca7db9816c Merge pull request #6354 from zoebentley/getting-started-translation-phase-2
Added Getting Started video in 19 languages for Phase 2
2020-11-12 16:34:50 -05:00
dependabot-preview[bot] 6e7aeea39a Merge pull request #6379 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201112095731 2020-11-12 10:13:17 +00:00
dependabot-preview[bot] d9a59e136c build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201109173100 to 0.1.0-prerelease.20201112095731.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-12 10:04:59 +00:00
dependabot-preview[bot] 7c0146991a Merge pull request #6377 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201112030847 2020-11-12 03:28:52 +00:00
dependabot-preview[bot] b8d57ad445 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201111030934 to 3.10.20201112030847.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201111030934...3.10.20201112030847)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-12 03:20:07 +00:00
dependabot-preview[bot] 5d50f735cb Merge pull request #6376 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201112030151 2020-11-12 03:17:06 +00:00
dependabot-preview[bot] 3fb273caf3 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201111061708 to 0.2.0-prerelease.20201112030151.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits/0.2.0-prerelease.20201112030151)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-12 03:08:46 +00:00
dependabot-preview[bot] 5417a7775e Merge pull request #6375 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201111202433 2020-11-11 20:39:35 +00:00
dependabot-preview[bot] cf0d597b34 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20201110045755 to 0.1.0-prerelease.20201111202433.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 20:30:49 +00:00
Thomas Weber d1758f199e Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-11-11 09:22:41 -06:00
Thomas Weber 31fe5cf554 Remove menu max width 2020-11-11 08:02:43 -06:00
dependabot-preview[bot] 02de7c031c Merge pull request #6373 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201111061708 2020-11-11 08:47:31 +00:00
dependabot-preview[bot] 44d4cfec8d build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201110112904 to 0.2.0-prerelease.20201111061708.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 08:38:36 +00:00
Thomas Weber aa049956cf Fix initial message of Loader 2020-11-10 21:59:10 -06:00
Thomas Weber 28e4214029 Don't leak alerts 2020-11-10 21:53:49 -06:00
Thomas Weber 0bffc53da1 Fix editor warning being added multiple times 2020-11-10 21:53:23 -06:00
Thomas Weber 809e0afcf0 Merge branch 'translations' into develop 2020-11-10 21:36:51 -06:00
dependabot-preview[bot] 4255cbfd21 Merge pull request #6372 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201111030934 2020-11-11 03:22:13 +00:00
Thomas Weber e4fa92aecf Import translations 2020-11-10 21:14:39 -06:00
dependabot-preview[bot] 8da95bf970 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201110030756 to 3.10.20201111030934.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201110030756...3.10.20201111030934)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 03:14:13 +00:00
Thomas Weber 299ebd5dc3 Move translations to lib 2020-11-10 21:12:40 -06:00
Thomas Weber bef2ef3e98 Update to handle chanes in TurboWarp/translations 2020-11-10 21:10:36 -06:00
Thomas Weber c6b9e8a52b Update to match changes in TurboWarp/translations 2020-11-10 20:42:22 -06:00
dependabot-preview[bot] 8f60633346 Merge pull request #6370 from LLK/dependabot/npm_and_yarn/babel-loader-8.2.1 2020-11-10 22:23:24 +00:00
dependabot-preview[bot] 5870cd8d20 build(deps-dev): bump babel-loader from 8.2.0 to 8.2.1
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.0 to 8.2.1.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.0...v8.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 22:13:07 +00:00
picklesrus 9eed55dcf2 Merge pull request #6369 from LLK/revert-6342-dependabot/npm_and_yarn/query-string-6.13.7
Revert "build(deps): bump query-string from 5.1.1 to 6.13.7"
2020-11-10 10:50:25 -05:00
picklesrus e9b87d0baa Revert "build(deps): bump query-string from 5.1.1 to 6.13.7" 2020-11-10 10:36:13 -05:00
dependabot-preview[bot] 5472664546 Merge pull request #6368 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201110112904 2020-11-10 11:53:20 +00:00
dependabot-preview[bot] 1337e037da Merge pull request #6367 from LLK/dependabot/npm_and_yarn/babel-loader-8.2.0 2020-11-10 11:48:17 +00:00
picklesrus b168daf642 Merge pull request #6365 from LLK/dependabot/npm_and_yarn/papaparse-5.3.0
build(deps): bump papaparse from 5.2.0 to 5.3.0
2020-11-10 06:44:13 -05:00
dependabot-preview[bot] 14f6b361e4 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201110104642 to 0.2.0-prerelease.20201110112904.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits/0.2.0-prerelease.20201110112904)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 11:39:00 +00:00
dependabot-preview[bot] 10f60fc1d8 build(deps-dev): bump babel-loader from 8.0.6 to 8.2.0
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.0.6 to 8.2.0.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.0.6...v8.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 11:38:39 +00:00
dependabot-preview[bot] 14766bdcd2 Merge pull request #6366 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201110104642 2020-11-10 11:03:41 +00:00
dependabot-preview[bot] fe6415249a build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201110095325 to 0.2.0-prerelease.20201110104642.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 10:54:19 +00:00
dependabot-preview[bot] 8f0d669f93 build(deps): bump papaparse from 5.2.0 to 5.3.0
Bumps [papaparse](https://github.com/mholt/PapaParse) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/mholt/PapaParse/releases)
- [Commits](https://github.com/mholt/PapaParse/compare/5.2.0...5.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 10:37:37 +00:00
dependabot-preview[bot] ff0243d1ad Merge pull request #6363 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201110095325 2020-11-10 10:10:05 +00:00
dependabot-preview[bot] 6c270970e7 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201110075446 to 0.2.0-prerelease.20201110095325.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 10:00:30 +00:00
dependabot-preview[bot] 75f71890d6 Merge pull request #6362 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201110075446 2020-11-10 09:16:41 +00:00
dependabot-preview[bot] 644d28066b build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201109234323 to 0.2.0-prerelease.20201110075446.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/compare/0.2.0-prerelease.20201109234323...0.2.0-prerelease.20201110075446)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 09:08:35 +00:00
dependabot-preview[bot] d7469b2f29 Merge pull request #6360 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201110045755 2020-11-10 05:30:05 +00:00
dependabot-preview[bot] 2f9254d2d7 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20201029234547 to 0.1.0-prerelease.20201110045755.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 05:21:00 +00:00
dependabot-preview[bot] 9b3c8b2c11 Merge pull request #6359 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201110030756 2020-11-10 03:22:03 +00:00
dependabot-preview[bot] e73d4141f7 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201109030811 to 3.10.20201110030756.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201109030811...3.10.20201110030756)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 03:12:40 +00:00
dependabot-preview[bot] 19b70e9627 Merge pull request #6357 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201109234323 2020-11-09 23:59:35 +00:00
dependabot-preview[bot] 0d3c6f8569 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20201016122132 to 0.2.0-prerelease.20201109234323.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/compare/0.2.0-prerelease.20201016122132...0.2.0-prerelease.20201109234323)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 23:50:23 +00:00
picklesrus e251dd2aab Merge pull request #6342 from LLK/dependabot/npm_and_yarn/query-string-6.13.7
build(deps): bump query-string from 5.1.1 to 6.13.7
2020-11-09 15:58:52 -05:00
picklesrus dfc4abe250 Merge pull request #5586 from LLK/dependabot/npm_and_yarn/react-dom-16.2.1
[Security] Bump react-dom from 16.2.0 to 16.2.1
2020-11-09 15:44:27 -05:00
picklesrus ec6ce36d2b Merge pull request #6128 from LLK/dependabot/npm_and_yarn/papaparse-5.3.0
[security] build(deps-dev): bump papaparse from 5.1.1 to 5.3.0
2020-11-09 15:31:13 -05:00
Paul Kaplan 93a9d135b2 Merge pull request #5583 from LLK/dependabot/npm_and_yarn/lodash.defaultsdeep-4.6.1
[Security] Bump lodash.defaultsdeep from 4.6.0 to 4.6.1
2020-11-09 14:10:31 -05:00
dependabot-preview[bot] 132370fa9a build(deps-dev): bump papaparse from 5.1.1 to 5.3.0
Bumps [papaparse](https://github.com/mholt/PapaParse) from 5.1.1 to 5.3.0.
- [Release notes](https://github.com/mholt/PapaParse/releases)
- [Commits](https://github.com/mholt/PapaParse/compare/5.1.1...5.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 19:00:19 +00:00
dependabot-preview[bot] a622315316 Merge pull request #6355 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201109173100 2020-11-09 17:47:50 +00:00
dependabot-preview[bot] 5ecad1d11b build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201109045128 to 0.1.0-prerelease.20201109173100.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 17:38:44 +00:00
Zoë Bentley 49a1f6ec12 Added Getting Started video in 21 languages for Phase 2 2020-11-09 10:21:31 -05:00
dependabot-preview[bot] 140d818a17 Merge pull request #6353 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201109045128 2020-11-09 05:43:38 +00:00
dependabot-preview[bot] f2f63f1ee1 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201107031616 to 0.1.0-prerelease.20201109045128.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 05:35:54 +00:00
dependabot-preview[bot] f13202e774 Merge pull request #6352 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201109030811 2020-11-09 03:20:59 +00:00
dependabot-preview[bot] 772ab716b2 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201108030901 to 3.10.20201109030811.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201108030901...3.10.20201109030811)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 03:13:00 +00:00
Thomas Weber 6e1ab13e7b Put full project title in hover text of project title 2020-11-08 12:08:14 -06:00
dependabot-preview[bot] 53019fefc1 Merge pull request #6348 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201107031616 2020-11-08 03:42:50 +00:00
dependabot-preview[bot] 5fc476bda5 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201106033855 to 0.1.0-prerelease.20201107031616.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-08 03:31:00 +00:00
dependabot-preview[bot] 89ffb9f332 Merge pull request #6350 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201108030901 2020-11-08 03:27:57 +00:00
dependabot-preview[bot] 363d92a925 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201107030830 to 3.10.20201108030901.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201107030830...3.10.20201108030901)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-08 03:15:36 +00:00
Thomas Weber 313d8821a3 Update menu bar
Add advanced settings help back
Fix capitalization of Help Translate TurboWarp
2020-11-07 18:50:57 -06:00
Thomas Weber 9a702633bf Update help dropdown
Update intl description
Add item for translating turbowarp
2020-11-07 18:23:15 -06:00
Thomas Weber a0360b42be Allow StudioView to be translated 2020-11-07 17:55:50 -06:00
Thomas Weber 8347706a19 changes to loader intl 2020-11-07 17:49:22 -06:00
Thomas Weber a1cd830d18 Allow loader message to be translated 2020-11-07 17:34:46 -06:00
Thomas Weber b2b9fccd17 Allow cloud variable username error message to be translated 2020-11-07 17:22:46 -06:00
Thomas Weber a3414022b1 remove todo 2020-11-07 17:10:09 -06:00
Thomas Weber d9c3b1a30d Allow the new username prompt to be translated 2020-11-07 17:08:53 -06:00
dependabot-preview[bot] 8be7148c3e Merge pull request #6347 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201107030830 2020-11-07 03:21:43 +00:00
dependabot-preview[bot] 535cbb74e7 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201106030905 to 3.10.20201107030830.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201106030905...3.10.20201107030830)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-07 03:13:13 +00:00
Thomas Weber d3f24186ab Groundwork for translating TW 2020-11-06 17:16:22 -06:00
dependabot-preview[bot] 0cfc932a65 Merge pull request #6344 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201106033855 2020-11-06 03:54:47 +00:00
dependabot-preview[bot] 4dba09b0e9 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201105034051 to 0.1.0-prerelease.20201106033855.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 03:46:16 +00:00
dependabot-preview[bot] faf1fada05 Merge pull request #6343 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201106030905 2020-11-06 03:23:41 +00:00
dependabot-preview[bot] e06793b533 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201105030841 to 3.10.20201106030905.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201105030841...3.10.20201106030905)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 03:13:49 +00:00
Thomas Weber e9879d1de0 Remove trailing whitespace 2020-11-05 19:10:40 -06:00
Thomas Weber 3eb208cfe8 Remove fullscreen border 2020-11-05 19:00:54 -06:00
Thomas Weber a0715319ee Merge branch 'featured-projects' into develop 2020-11-05 18:44:26 -06:00
Thomas Weber 1be721e2a8 Merge branch 'fullscreen-dark-mode' into develop 2020-11-05 18:44:22 -06:00
Thomas Weber b222599ab1 Support dark mode in fullscreen 2020-11-05 18:43:08 -06:00
Thomas Weber 4afc5433d0 Rename "example projects" to "featured projects" 2020-11-05 18:20:02 -06:00
Thomas Weber e8ac8a17c3 Use relative path for embedtest 2020-11-05 17:43:17 -06:00
Thomas Weber d3bef8b0a7 Fix embed fullscreen in Safari
Also abtracts the details of the fullscreen API to another file
2020-11-05 17:38:08 -06:00
Thomas Weber 7f8bce0e23 Make embedtest have a colored background 2020-11-05 15:14:05 -06:00
Thomas Weber b987e94031 Make embeds transparent (#30) 2020-11-05 15:13:39 -06:00
dependabot-preview[bot] d5505095b6 build(deps): bump query-string from 5.1.1 to 6.13.7
Bumps [query-string](https://github.com/sindresorhus/query-string) from 5.1.1 to 6.13.7.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v5.1.1...v6.13.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 20:54:04 +00:00
dependabot-preview[bot] c09ee87d6d Merge pull request #6341 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201105034051 2020-11-05 03:57:29 +00:00
dependabot-preview[bot] d759dd5394 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201105024830 to 0.1.0-prerelease.20201105034051.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 03:48:11 +00:00
dependabot-preview[bot] febb1d4186 Merge pull request #6340 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201105030841 2020-11-05 03:22:55 +00:00
dependabot-preview[bot] 0e1710acad build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201104190511 to 3.10.20201105030841.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201104190511...3.10.20201105030841)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 03:14:16 +00:00
dependabot-preview[bot] 4c7be95767 Merge pull request #6339 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201105024830 2020-11-05 03:05:22 +00:00
dependabot-preview[bot] 77aa792597 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201104035801 to 0.1.0-prerelease.20201105024830.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 02:55:55 +00:00
dependabot-preview[bot] 2f1ec15187 Merge pull request #6337 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201104190511 2020-11-04 19:19:44 +00:00
dependabot-preview[bot] 2a0c67b494 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201104030908 to 3.10.20201104190511.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201104030908...3.10.20201104190511)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 19:10:10 +00:00
dependabot-preview[bot] d5b18dd5f2 Merge pull request #6332 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201104035801 2020-11-04 04:14:14 +00:00
dependabot-preview[bot] e709993415 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201103040609 to 0.1.0-prerelease.20201104035801.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 04:05:32 +00:00
dependabot-preview[bot] d301415f93 Merge pull request #6331 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201104030908 2020-11-04 03:22:30 +00:00
dependabot-preview[bot] 524c6185d1 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201103030816 to 3.10.20201104030908.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201103030816...3.10.20201104030908)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 03:13:59 +00:00
dependabot-preview[bot] c683dfc7c1 Merge pull request #6327 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201103040609 2020-11-03 04:21:47 +00:00
dependabot-preview[bot] fd2cf3124b build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201102164811 to 0.1.0-prerelease.20201103040609.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 04:13:34 +00:00
dependabot-preview[bot] 2a8c6c7764 Merge pull request #6326 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201103030816 2020-11-03 03:22:55 +00:00
dependabot-preview[bot] 3038bf82a8 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201102030810 to 3.10.20201103030816.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201102030810...3.10.20201103030816)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 03:12:55 +00:00
Thomas Weber 5ea9740100 Make our MenuItem links use actual <a> elements
Improve accessibility and they should *actually* not open in a new window in Safari
2020-11-02 18:54:50 -06:00
Thomas Weber d1a4309db3 fix specificity of <a> dark mode selector 2020-11-02 18:48:37 -06:00
dependabot-preview[bot] 4a683f3d11 Merge pull request #6325 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201102164811 2020-11-02 17:04:22 +00:00
dependabot-preview[bot] 657132418f build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201102031643 to 0.1.0-prerelease.20201102164811.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-02 16:56:11 +00:00
dependabot-preview[bot] bc969e6240 Merge pull request #6323 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201102031643 2020-11-02 03:54:45 +00:00
dependabot-preview[bot] b1bb92237a build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201031040018 to 0.1.0-prerelease.20201102031643.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-02 03:46:01 +00:00
Thomas Weber 6b2bc089a8 Don't pass _blank to window.open
probably makes those links not open in a new window in safari
2020-11-01 21:45:34 -06:00
dependabot-preview[bot] 55d25c0d60 Merge pull request #6322 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201102030810 2020-11-02 03:21:26 +00:00
dependabot-preview[bot] 614ea086d6 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201101030800 to 3.10.20201102030810.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201101030800...3.10.20201102030810)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-02 03:12:51 +00:00
dependabot-preview[bot] 4a017bc45c Merge pull request #6320 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201101030800 2020-11-01 03:21:03 +00:00
dependabot-preview[bot] 2ecf9bf835 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201031030825 to 3.10.20201101030800.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201031030825...3.10.20201101030800)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 03:12:46 +00:00
Thomas Weber 9bebcb0007 More updates to analytics
More strict protocol check
Make sure that origin somewhat matches
2020-10-31 19:44:20 -05:00
Thomas Weber 2aed5c91ae Fix some issues when stopping the vm 2020-10-31 17:14:07 -05:00
Thomas Weber b48b6ce8e0 scratch-vm and scratch-render should point to the TurboWarp forks 2020-10-31 14:41:14 -05:00
Thomas Weber f837cb873a Allow wildcard routing to work with webpack's dev server 2020-10-31 14:25:09 -05:00
Thomas Weber 856e03e4c6 Remove now-unused plausible options from html webpack plugin 2020-10-31 14:24:53 -05:00
Thomas Weber e3c94d0d09 Stop the VM when loading a new project
This makes it so that you will see the green flag overlay when loading new projects.

Depends on recent changes in TurboWarp/scratch-vm
2020-10-31 14:16:06 -05:00
dependabot-preview[bot] afc653e4e9 Merge pull request #6319 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201031040018 2020-10-31 04:17:40 +00:00
dependabot-preview[bot] 7c21e04d0e build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201030041150 to 0.1.0-prerelease.20201031040018.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-31 04:07:46 +00:00
dependabot-preview[bot] 2453522ae4 Merge pull request #6318 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201031030825 2020-10-31 03:22:37 +00:00
dependabot-preview[bot] 3039e8388e build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201030030814 to 3.10.20201031030825.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201030030814...3.10.20201031030825)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-31 03:13:01 +00:00
Thomas Weber 5348464a98 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-30 20:15:02 -05:00
dependabot-preview[bot] e1ba9f6f91 Merge pull request #6317 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201030041150 2020-10-30 20:00:19 +00:00
dependabot-preview[bot] 22fe542d1c build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201028045515 to 0.1.0-prerelease.20201030041150.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-30 19:52:01 +00:00
dependabot-preview[bot] 5a538017bd Merge pull request #6315 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201029234547 2020-10-30 03:55:26 +00:00
dependabot-preview[bot] 111419aba0 Merge pull request #6314 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201030030814 2020-10-30 03:53:39 +00:00
dependabot-preview[bot] df51840661 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20201020104037 to 0.1.0-prerelease.20201029234547.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-30 03:47:43 +00:00
dependabot-preview[bot] 2e50f2c3b3 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201028030815 to 3.10.20201030030814.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201028030815...3.10.20201030030814)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-30 03:44:51 +00:00
dependabot-preview[bot] b278f61969 Merge pull request #6313 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201028045515 2020-10-29 17:01:36 +00:00
dependabot-preview[bot] f04c90f8f6 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201026031642 to 0.1.0-prerelease.20201028045515.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 16:52:07 +00:00
Thomas Weber 5eae21e640 Replace "Save Now" with "Unsaved Changes"
Save Now has an implication that this will save it to Scratch, which this does not.
2020-10-28 21:17:25 -05:00
dependabot-preview[bot] 520579f521 Merge pull request #6312 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201028030815 2020-10-28 21:35:59 +00:00
dependabot-preview[bot] 892925b839 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201027030733 to 3.10.20201028030815.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201027030733...3.10.20201028030815)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 21:27:11 +00:00
Thomas Weber cba4a4440e Update link regex 2020-10-27 22:59:21 -05:00
Thomas Weber d5884282c7 Don't render the announcement in the editor 2020-10-27 22:23:22 -05:00
Thomas Weber 41e221398b Fix ANNOUNCEMENT 2020-10-27 22:07:19 -05:00
Thomas Weber 1611d21f33 Limit referrer precision to origin
I don't want to see pathnames, esp. as these are made public
2020-10-27 21:39:49 -05:00
Thomas Weber 0bcc20ac46 Remove sentry 2020-10-27 21:22:03 -05:00
Thomas Weber c141806278 Fix favicon.ico root
not that we actually have a favicon or anything
2020-10-27 21:21:29 -05:00
Thomas Weber af8711b971 Fix old #-based URLs in wildcard routing mode 2020-10-27 21:19:13 -05:00
Thomas Weber 9a2f27c847 ROOT should have a trailing slash if it is defined 2020-10-27 21:14:26 -05:00
Thomas Weber 4fd4e726dd Remove (broken) logic to disable analytics on localhost
Don't put the PLAUSIBLE_* env vars in your dev environment unless you want analytics
2020-10-27 20:50:41 -05:00
Thomas Weber bc37ec400c Make analytics part of the bundle
Instead of loading an external script, put the logic in the bundle itself
This gives us more control over it, so now we:
 - do not include project IDs
 - delay events until idle
2020-10-27 20:48:42 -05:00
Thomas Weber f9742f9524 Fix fullscreen resizing in embed 2020-10-27 19:38:19 -05:00
Thomas Weber ad6f1cb1a8 Clean up state manager HOC 2020-10-27 18:41:02 -05:00
Thomas Weber 6bdfd53dba Fix routing bugs
Make ROUTING_STYLE actually work
Fix editor in wildcard
Fix embed
2020-10-27 18:08:54 -05:00
Thomas Weber fc416bf038 Implement wildcard routing 2020-10-27 17:52:15 -05:00
Thomas Weber 385763edac Add router that only uses hash, other cleanup 2020-10-27 17:23:53 -05:00
Thomas Weber bc74f82f1e Refactor routing 2020-10-27 17:08:09 -05:00
dependabot-preview[bot] a2c523960c Merge pull request #6306 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201027030733 2020-10-27 08:40:11 +00:00
dependabot-preview[bot] 29aa89683c build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201026030842 to 3.10.20201027030733.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201026030842...3.10.20201027030733)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-27 08:31:23 +00:00
Thomas Weber 34f55cc987 Fix some eslint errors 2020-10-26 22:23:49 -05:00
Thomas Weber de4630848d Remove unnecessary redux 2020-10-26 21:43:09 -05:00
Thomas Weber 0d5221f665 Fix editor assets when using custom ROOT 2020-10-26 21:08:21 -05:00
Thomas Weber 4e5ae40cff Put a space before the ellipses
That's what Scratch does
2020-10-26 20:44:36 -05:00
Thomas Weber f200603302 Integrate tw-parser-hoc.jsx into tw-state-manager-hoc.jsx 2020-10-26 20:30:23 -05:00
Thomas Weber e7099c93ea Allow using absolute URLs for assets
Use the ROOT environment variable:

When ROOT=/interpolated-60/,
JS is loaded from /interpolated-60/js/
and assets are from /interpolated-60/static
note: you manually have to move files to interpolated-60, this does not happen automatically
2020-10-26 20:08:48 -05:00
Thomas Weber 440be3d51a Address some eslint issues, remove some old code 2020-10-26 17:51:59 -05:00
Thomas Weber ca1026e41d Make the project title a link 2020-10-26 10:39:24 -05:00
Thomas Weber 31e52a09d9 Make @ mentions and links in project descriptions clickable 2020-10-26 09:41:55 -05:00
dependabot-preview[bot] fc4744e178 Merge pull request #6304 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201026031642 2020-10-26 08:28:33 +00:00
dependabot-preview[bot] 1b222a10ee build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201025031515 to 0.1.0-prerelease.20201026031642.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-26 08:19:51 +00:00
dependabot-preview[bot] fdb09a66c4 Merge pull request #6303 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201026030842 2020-10-26 07:05:50 +00:00
dependabot-preview[bot] f49afe3ce1 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201025030731 to 3.10.20201026030842.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201025030731...3.10.20201026030842)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-26 06:57:33 +00:00
dependabot-preview[bot] 66bba35f9c Merge pull request #6301 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201025031515 2020-10-25 10:29:15 +00:00
dependabot-preview[bot] 6a74cfe946 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201024034623 to 0.1.0-prerelease.20201025031515.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 10:22:04 +00:00
dependabot-preview[bot] ed71b3cbb5 Merge pull request #6300 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201025030731 2020-10-25 08:37:18 +00:00
dependabot-preview[bot] a6b2cddf2b build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201021030942 to 3.10.20201025030731.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201021030942...3.10.20201025030731)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 08:29:05 +00:00
Thomas Weber 7962ee31c2 Trying to fix some layout issues 2020-10-24 23:24:12 -05:00
Thomas Weber 5d96fb47f7 Clear VM when starting project fetch 2020-10-24 19:20:16 -05:00
Thomas Weber 1fc1341ab4 Clarify missing project logic 2020-10-24 19:13:48 -05:00
Thomas Weber e1ab2e1d56 Fix macOS Safari "Save Page As" 2020-10-24 17:00:14 -05:00
Thomas Weber 3211a34018 Make the username error message more understandable 2020-10-24 13:33:01 -05:00
Thomas Weber 4d3bc44fba Allow changing username while project is running
forkphorus has done this for a quite a long time without serious issues
Not allowing username changes while running makes it impossible to change username in some projects that use edge-activated hats
Willing to reconsider if this causes issues
2020-10-24 13:29:15 -05:00
dependabot-preview[bot] 7a1a9e45ac Merge pull request #6297 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201024034623 2020-10-24 09:25:07 +00:00
dependabot-preview[bot] 6c96ab5ce9 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201021032210 to 0.1.0-prerelease.20201024034623.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 09:17:19 +00:00
dependabot-preview[bot] c23ba2ff94 Merge pull request #6278 from LLK/dependabot/npm_and_yarn/babel/core-7.12.3 2020-10-22 00:26:41 +00:00
dependabot-preview[bot] b6e60ef2de build(deps-dev): bump @babel/core from 7.12.0 to 7.12.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.0 to 7.12.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 00:18:07 +00:00
Thomas Weber 093c324970 Fix GUI being constantly remounted
Doing it how it was done previously had the effect of unmounting and remounting the GUI when entering editor
Fixes project title being reset when opening editor
2020-10-21 15:00:00 -05:00
Benjamin Wheeler 4bf114211e Merge pull request #6294 from LLK/update-missing-dependencies
Update missing dependencies for scratch-blocks and scratch-l10n
2020-10-21 12:59:23 -04:00
Ben Wheeler 580495542b update scratch-blocks and scratch-l10n, which dependabot has not updated 2020-10-21 12:43:44 -04:00
Thomas Weber 9fc58a3385 Change URL parameter for project URL to project_url
For consistency. Safe to change now because no one should be using it.
2020-10-21 08:57:57 -05:00
Thomas Weber feff421b73 Merge branch 'project-url' into develop 2020-10-20 17:45:50 -05:00
Thomas Weber 3ccfa31f0a Don't try to use routing on non-http/https protocols
Namely, trying to do that on file: will cause issues
2020-10-20 17:36:13 -05:00
Thomas Weber c7a47aa376 Use progress bar when loading from project URL in URL 2020-10-20 17:19:52 -05:00
Thomas Weber 662f5153b4 Expose progress monitor method for fetching w/ progress 2020-10-20 17:19:34 -05:00
Thomas Weber 225bfc7779 Add viewport tag to privacy.html 2020-10-20 17:12:40 -05:00
zoebentley 201228f225 Merge pull request #6271 from zoebentley/translated-tutorial-images-11-languages-2020
Add tutorial images for 11 languages
2020-10-20 16:36:49 -04:00
Zoë Bentley d870174b6d Changed name of animate-char-pick-backdrop.LTR.gif 2020-10-20 13:53:53 -04:00
Thomas Weber b3b36a073a Merge branch 'develop' into project-url 2020-10-20 11:08:58 -05:00
Thomas Weber a7503aa061 Fix height transition when opening examples 2020-10-20 10:03:32 -05:00
chrisgarrity 270646e6cc Merge pull request #4969 from adroitwhiz/bmp-upload
Add BMP upload support.
2020-10-20 10:55:26 -04:00
Thomas Weber 98675a0f7e Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-20 09:11:09 -05:00
Thomas Weber 533e85b713 Merge branch 'develop' of https://github.com/llk/scratch-gui into project-url 2020-10-20 07:40:05 -05:00
dependabot-preview[bot] 7dc01be375 Merge pull request #6292 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201020104037 2020-10-20 11:31:01 +00:00
dependabot-preview[bot] 14be40eff3 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20201016174532 to 0.1.0-prerelease.20201020104037.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits/0.1.0-prerelease.20201020104037)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-20 11:22:49 +00:00
dependabot-preview[bot] 6db59ec92c Merge pull request #6290 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20201020103914 2020-10-20 11:19:40 +00:00
dependabot-preview[bot] 22937f2456 build(deps): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20201016174923 to 0.2.0-prerelease.20201020103914.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/compare/0.2.0-prerelease.20201016174923...0.2.0-prerelease.20201020103914)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-20 11:09:50 +00:00
Thomas Weber 69e4bf7b09 Merge branch 'develop' into project-url 2020-10-19 22:15:29 -05:00
Thomas Weber ac6c632b65 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-19 22:12:19 -05:00
dependabot-preview[bot] 371fc8b7b9 Merge pull request #6288 from LLK/dependabot/npm_and_yarn/scratch-svg-renderer-0.2.0-prerelease.20201019174008 2020-10-20 02:52:19 +00:00
dependabot-preview[bot] 00a7e062de build(deps): bump scratch-svg-renderer
Bumps [scratch-svg-renderer](https://github.com/LLK/scratch-svg-renderer) from 0.2.0-prerelease.20201016121710 to 0.2.0-prerelease.20201019174008.
- [Release notes](https://github.com/LLK/scratch-svg-renderer/releases)
- [Commits](https://github.com/LLK/scratch-svg-renderer/commits/0.2.0-prerelease.20201019174008)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-20 02:41:08 +00:00
Thomas Weber e3df3e2b4d Allow loading project from a URL given in the URL 2020-10-19 19:58:58 -05:00
Thomas Weber f839d48855 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-19 14:15:43 -05:00
picklesrus 10caefdd22 Merge pull request #6285 from picklesrus/fix-deps
Move scratch-render, sratch-svg-renderer and scratch-paint back to deps
2020-10-19 10:12:09 -04:00
picklesrus 693837256f Move scratch-render, sratch-svg-renderer and scratch-paint back to dependencies (and out of dev-dependencies). I unintentionally moved them in https://github.com/LLK/scratch-gui/commit/85ac2c76d15e15ecfc27a9b4205b2ef733d1b4e0 2020-10-19 10:02:48 -04:00
Thomas Weber 1ba976bb86 UI update and cleanup
A lot of the design choices in TurboWarp right now date back to some very early points in development, like when the homepage was the editor rather than just the player.
The modal that you see upon entering the editor on a new project may have made sense at the time, but now it doesn't. If you load into the editor, you already know what TurboWarp is.
The title at the top of the page was a holdover from this modal and doesn't look that great. It's been removed and the relevant links have been moved to the footer where every other website puts them.

Some now-unused logic and abstractions have been removed as well.
2020-10-18 18:27:56 -05:00
Thomas Weber 39bb7c4747 Don't update dimensions on resize unless in fullscreen 2020-10-18 17:51:49 -05:00
Thomas Weber 566386679b Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-18 11:55:23 -05:00
Thomas Weber cd967d3e9c Fix 60 fps toggling on chromebooks (#25)
opening the context menu by right clicking or alt+clicking on chromebooks is sufficient
2020-10-18 11:51:05 -05:00
Thomas Weber d1e39213bb Don't load project metadata for the empty project 2020-10-17 20:28:34 -05:00
Thomas Weber c63b8d9c8d Never store "#0" in the URL 2020-10-17 20:27:39 -05:00
dependabot-preview[bot] 52972a20cc Merge pull request #6193 from LLK/dependabot/npm_and_yarn/webpack-4.44.2 2020-10-17 07:31:46 +00:00
dependabot-preview[bot] a7a8e11b59 build(deps-dev): bump webpack from 4.44.1 to 4.44.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.1 to 4.44.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.1...v4.44.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 07:24:30 +00:00
Thomas Weber f2d00573ba Load project meta earlier 2020-10-16 22:57:04 -05:00
Thomas Weber 86a71164a7 Revert "Optimize MonitorComponent"
This reverts commit 7c820e3ef8.
2020-10-16 21:44:51 -05:00
Thomas Weber 48b0cca776 Make fullscreen mode automatically resize 2020-10-16 21:40:59 -05:00
Thomas Weber 86acf7c474 Don't render interface when in full screen 2020-10-16 21:22:33 -05:00
dependabot-preview[bot] cb0d59291e Merge pull request #6283 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20201016122132 2020-10-17 02:00:03 +00:00
dependabot-preview[bot] 826ef8281d Merge pull request #6282 from LLK/dependabot/npm_and_yarn/babel/preset-react-7.12.1 2020-10-17 01:58:10 +00:00
dependabot-preview[bot] 6f7bf6a98b Merge pull request #6279 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.12.1 2020-10-17 01:57:05 +00:00
dependabot-preview[bot] 66e183171c Merge pull request #6281 from LLK/dependabot/npm_and_yarn/babel/plugin-transform-async-to-generator-7.12.1 2020-10-17 01:55:59 +00:00
dependabot-preview[bot] ffdfddcf46 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200924195620 to 0.2.0-prerelease.20201016122132.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits/0.2.0-prerelease.20201016122132)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 01:51:53 +00:00
dependabot-preview[bot] d46ed3c2aa build(deps-dev): bump @babel/preset-react from 7.10.4 to 7.12.1
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.10.4 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-preset-react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 01:50:59 +00:00
dependabot-preview[bot] 998031dee8 build(deps-dev): bump @babel/plugin-transform-async-to-generator
Bumps [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-async-to-generator) from 7.10.4 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-plugin-transform-async-to-generator)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 01:49:22 +00:00
dependabot-preview[bot] 5ac021cca5 build(deps-dev): bump @babel/plugin-proposal-object-rest-spread
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.11.0 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 01:48:24 +00:00
Thomas Weber c517bb1ae6 Warn that scripts might need to be restarted for changes to apply 2020-10-16 16:18:21 -05:00
Thomas Weber 7c820e3ef8 Optimize MonitorComponent
cd47395fd6 but it probably doesn't break things
2020-10-16 15:57:32 -05:00
Thomas Weber 9a3b86bcbf Revert "Revert "Do not calculate monitor offsetWidth/Height when not in editor""
This reverts commit 2c4f985efa.
2020-10-16 15:15:36 -05:00
Thomas Weber b8bca532e3 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-16 15:03:43 -05:00
Thomas Weber 2c4f985efa Revert "Do not calculate monitor offsetWidth/Height when not in editor"
This reverts commit e301651dd6.
2020-10-16 13:45:55 -05:00
Thomas Weber 22c807a711 Revert "Do not wrap Monitor in ContextMenuTrigger when not necessary"
This reverts commit cd47395fd6.
2020-10-16 13:36:55 -05:00
picklesrus b1b6f5b666 Merge pull request #6277 from picklesrus/bump-purify-change
Bump renderer, render and paint to pick up purify change in renderer.
2020-10-16 14:08:12 -04:00
Eric Rosenbaum 3fb6bd3b7a Merge pull request #5460 from ericrosenbaum/feature/full-library-update-schema
Use sb3 schema-compliant asset library data
2020-10-16 13:59:36 -04:00
picklesrus 85ac2c76d1 Bump renderer, render and paint to pick up purify change in renderer. 2020-10-16 13:56:27 -04:00
Thomas Weber cd47395fd6 Do not wrap Monitor in ContextMenuTrigger when not necessary 2020-10-15 23:15:06 -05:00
Thomas Weber e301651dd6 Do not calculate monitor offsetWidth/Height when not in editor 2020-10-15 23:14:50 -05:00
Thomas Weber bb835dea3f Remove unused QueryParserHOC
It only parses tutorial cards, which we don't use.
2020-10-15 23:14:21 -05:00
Thomas Weber bddf716030 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-15 20:32:50 -05:00
Thomas Weber 5b91688597 Support ?autoplay URL parameter in embed 2020-10-15 20:26:02 -05:00
dependabot-preview[bot] e5394a67c1 Merge pull request #6275 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.12.1 2020-10-16 01:09:20 +00:00
dependabot-preview[bot] a4fcbf09c7 build(deps-dev): bump @babel/preset-env from 7.12.0 to 7.12.1
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 01:00:21 +00:00
Thomas Weber f3571ab49f Pass all GUI properties down 2020-10-15 20:00:13 -05:00
dependabot-preview[bot] 5e65385ca9 Merge pull request #6274 from LLK/dependabot/npm_and_yarn/babel/cli-7.12.1 2020-10-16 00:15:12 +00:00
dependabot-preview[bot] e4f231ba14 build(deps-dev): bump @babel/cli from 7.12.0 to 7.12.1
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 00:06:24 +00:00
dependabot-preview[bot] bc8215d186 Merge pull request #6269 from LLK/dependabot/npm_and_yarn/babel/core-7.12.0 2020-10-15 22:37:30 +00:00
dependabot-preview[bot] 7e355d978f build(deps-dev): bump @babel/core from 7.11.6 to 7.12.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.6 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 22:29:15 +00:00
Thomas Weber 67548f7bfa Make the author's avatar clickable too 2020-10-15 16:29:19 -05:00
Thomas Weber 91f4334a37 Fix description text wrapping 2020-10-15 16:21:03 -05:00
Thomas Weber 14a039593f Don't empty project title 2020-10-15 16:20:52 -05:00
Thomas Weber 7c44074203 Display project descriptions (#11) 2020-10-15 15:57:16 -05:00
Zoë Bentley 0c8a7a4d0e lint 2020-10-15 15:13:24 -04:00
Zoë Bentley 9b0943d7a1 Fixed error with translate-video.js 2020-10-15 14:10:43 -04:00
Zoë Bentley 90eaf633a2 Fixed an error in the tutorial order 2020-10-15 14:02:31 -04:00
dependabot-preview[bot] fb91fe85cb Merge pull request #6270 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.12.0 2020-10-15 17:59:33 +00:00
dependabot-preview[bot] fea985134b Merge pull request #6268 from LLK/dependabot/npm_and_yarn/babel/cli-7.12.0 2020-10-15 17:56:39 +00:00
dependabot-preview[bot] 37f3d08fc2 build(deps-dev): bump @babel/preset-env from 7.11.5 to 7.12.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.5 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 17:50:24 +00:00
dependabot-preview[bot] 3ab9094388 build(deps-dev): bump @babel/cli from 7.11.6 to 7.12.0
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.11.6 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 17:48:06 +00:00
Zoë Bentley 671b76d4d1 Modified the ID of 1 Getting Started step 2020-10-15 13:46:12 -04:00
Thomas Weber 1524c60635 Update editor warning message
Actually display it when visiting editor.html directly
"Warp TImer" is the new name for stuck checking
2020-10-15 01:37:23 -05:00
Thomas Weber 61481c6613 Make username into a link 2020-10-14 21:49:24 -05:00
Thomas Weber e34395c220 Make the unsaved changes warning look more like Scratch
Just say "Save Now" instead of "UNSAVED CHANGES"
2020-10-14 21:43:17 -05:00
Thomas Weber 978461334e Show author info in menu bar
When in editor, the editable title is still shown instead
2020-10-14 21:25:40 -05:00
Zoë Bentley a3be72d7d4 Adds tutorial images for 11 languages 2020-10-14 17:01:04 -04:00
Thomas Weber 601b0758e9 Remove empty space where icon is supposed to be 2020-10-14 14:44:22 -05:00
dependabot-preview[bot] e06790ca2f Merge pull request #6265 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201014030746 2020-10-14 12:01:15 +00:00
dependabot-preview[bot] 6c9163f639 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20201007030856 to 3.10.20201014030746.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20201007030856...3.10.20201014030746)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 11:52:54 +00:00
dependabot-preview[bot] fb9f944a74 Merge pull request #6263 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201014031529 2020-10-14 11:22:06 +00:00
dependabot-preview[bot] edd67f1be8 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20201007031713 to 0.1.0-prerelease.20201014031529.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 11:14:00 +00:00
Thomas Weber d5b54afce4 Confirm switching projects due to URL changes when project is changed 2020-10-12 22:24:06 -05:00
Thomas Weber a60ecefc1c Saving a project should mark it as unchanged 2020-10-12 22:01:33 -05:00
Thomas Weber 6dec933bc5 Show warning in menu bar when project has unsaved changes 2020-10-12 22:01:21 -05:00
Thomas Weber 4d58519e46 Revise wording of privacy policy 2020-10-11 21:19:16 -05:00
Thomas Weber d7bfa0bcbe Update privacy policy again 2020-10-11 20:28:40 -05:00
Thomas Weber 5f9d122690 Update disclaimer 2020-10-11 19:17:56 -05:00
Thomas Weber 815c21ea13 Update privacy policy 2020-10-11 19:11:24 -05:00
Thomas Weber d07eccc2ab Going to be trying out plausible analytics 2020-10-11 19:05:45 -05:00
Thomas Weber 46a7e0bf97 More thoroughly remove google analytics 2020-10-11 19:03:58 -05:00
Thomas Weber e7528e64df Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-10-09 20:11:25 -05:00
dependabot-preview[bot] 3fd4648ec2 Merge pull request #6248 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20201008195134 2020-10-09 08:14:27 +00:00
dependabot-preview[bot] 655838c826 build(deps): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200827214414 to 0.1.0-prerelease.20201008195134.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 08:04:43 +00:00
dependabot-preview[bot] 914a130f6d Merge pull request #6249 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20201008211625 2020-10-09 04:17:37 +00:00
dependabot-preview[bot] f0024d0ee6 build(deps): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200831213104 to 0.2.0-prerelease.20201008211625.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 04:07:07 +00:00
dependabot-preview[bot] eaac010e8a Merge pull request #6247 from LLK/dependabot/npm_and_yarn/scratch-svg-renderer-0.2.0-prerelease.20201008203328 2020-10-08 22:08:47 +00:00
dependabot-preview[bot] b6e22bf3d4 build(deps): bump scratch-svg-renderer
Bumps [scratch-svg-renderer](https://github.com/LLK/scratch-svg-renderer) from 0.2.0-prerelease.20200610220938 to 0.2.0-prerelease.20201008203328.
- [Release notes](https://github.com/LLK/scratch-svg-renderer/releases)
- [Commits](https://github.com/LLK/scratch-svg-renderer/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-08 22:00:31 +00:00
Thomas Weber a4986df8b0 Embed needs to load state manager
Fixes URL parameters
2020-10-08 15:20:45 -05:00
Thomas Weber da6e595e57 Rename gui.css
It is used by render-interface, not render-gui
2020-10-07 16:50:05 -05:00
picklesrus f6d57bab2e Merge pull request #6244 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201007031713
build(deps): bump scratch-blocks from 0.1.0-prerelease.20200923031615 to 0.1.0-prerelease.20201007031713
2020-10-07 15:04:09 -04:00
picklesrus 0736c3c8ee Merge branch 'develop' into dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20201007031713 2020-10-07 15:03:39 -04:00
chrisgarrity 525b1a828d Merge pull request #6243 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20201007030856
build(deps): bump scratch-l10n from 3.10.20200923030814 to 3.10.20201007030856
2020-10-07 15:01:53 -04:00
picklesrus b9f7b46cd8 Merge pull request #6242 from LLK/dependabot/npm_and_yarn/chromedriver-86.0.0
build(deps-dev): bump chromedriver from 84.0.1 to 86.0.0
2020-10-07 14:14:31 -04:00
Thomas Weber 59da1ae048 Fix embed fullscreen resizing when height changes (#21)
Also going to be useful for the packager.
2020-10-07 12:44:53 -05:00
dependabot-preview[bot] f0c17f6940 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200923031615 to 0.1.0-prerelease.20201007031713.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 14:50:39 +00:00
dependabot-preview[bot] 380a2f4390 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200923030814 to 3.10.20201007030856.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200923030814...3.10.20201007030856)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 14:48:21 +00:00
dependabot-preview[bot] 5a77ee9241 build(deps-dev): bump chromedriver from 84.0.1 to 86.0.0
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 84.0.1 to 86.0.0.
- [Release notes](https://github.com/giggio/node-chromedriver/releases)
- [Commits](https://github.com/giggio/node-chromedriver/compare/84.0.1...86.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 14:47:29 +00:00
Thomas Weber d97178e7dd Convert fps parameter to number 2020-10-06 14:02:00 -05:00
Thomas Weber e49ff2dd3e Rename some reducers to clarify that these are not the definitive source of information
The VM has the real definitive information for these values.
They are reflected in redux so that the interface can react.
2020-10-05 18:12:47 -05:00
Thomas Weber 651e83dce1 Remove support for 'stuck' URL parameter
Script flags are a better solution https://github.com/TurboWarp/scratch-gui/wiki/Script-Flags
2020-10-05 17:28:07 -05:00
Thomas Weber 782f155695 Support arbitrary framerate through URL parameter 2020-10-05 16:01:37 -05:00
Thomas Weber 1f80ed81d3 Replace "compatibility mode" with "framerate"
Result of changes in TurboWarp/scratch-vm
Also removed some now unused references to compatibility mode.
2020-10-05 15:15:50 -05:00
Thomas Weber e7de4d6748 Move stage management to a component
Also adds support for ?turbo (#20) and ?stuck
2020-10-05 14:49:47 -05:00
Eric Rosenbaum cbb7ae0fb8 Merge pull request #6223 from ericrosenbaum/fix-backpack-workspace-update
Refresh workspace when dropping code from backpack onto sprite tile
2020-10-01 11:03:35 -04:00
chrisgarrity ccc262e67a Merge pull request #5392 from BrightLin/develop
fix(blocks.js): fix  #2014 #4209 bugs.
2020-10-01 10:58:59 -04:00
apple502j 6b51fba950 Remove autofocus from question input 2020-10-01 22:23:33 +09:00
Eric Rosenbaum c1a73e497d Remove trailing spaces 2020-09-29 17:18:55 -04:00
Eric Rosenbaum 75cc1f4cfe refresh workspace on drag code from backpack to sprite tile 2020-09-29 17:01:12 -04:00
Ray Schamp 5f45730417 Merge pull request #6220 from zoebentley/animate-name-fix-2020
Fixed 2 steps in Animate a Name
2020-09-29 16:49:57 -04:00
Thomas Weber 023775249b Improve how the "missing project" project is stored
Similar to how the default project is stored.
2020-09-28 17:59:22 -05:00
Thomas Weber e2fc6b219f Cache assets for project displayed when project is missing 2020-09-28 17:47:46 -05:00
Thomas Weber 15cec5cb2e Do not include user agent in default project 2020-09-28 17:40:39 -05:00
Thomas Weber 75e37d3bee Remove unused translation 2020-09-28 17:39:33 -05:00
Thomas Weber c7cfaaaee3 Project input cleanup
Don't select when input is empty
Don't hardcode scratch URL
2020-09-28 17:38:15 -05:00
Thomas Weber aadf3abfe9 Revamp editor homepage
- Rename the sprite to something normal after closing
 - Rename tw-home to editor-home
 - Clicking on the background should close
 - Internal cleanup
2020-09-28 17:19:22 -05:00
Thomas Weber 9c27d12d28 Update default project
- Update sprite costume to not be the cat
 - Remove sounds
2020-09-28 17:01:22 -05:00
Thomas Weber 605c8cc863 Revert "Remove default project as it is unused"
This reverts commit 6c14145884.
2020-09-28 16:40:48 -05:00
Thomas Weber 35eec37041 Change default project ID back to 0 2020-09-28 16:40:08 -05:00
Zoë Bentley c144853916 Fixed 2 steps in Animate a Name 2020-09-28 11:58:52 -04:00
chrisgarrity ac57157bc1 Merge pull request #6127 from apple502j/localize-backpack-assets
Localize backpack item label
2020-09-28 11:54:12 -04:00
dependabot-preview[bot] 525a7d5551 Merge pull request #6219 from LLK/dependabot/npm_and_yarn/eslint-plugin-import-2.22.1 2020-09-27 23:46:44 +00:00
dependabot-preview[bot] 8f282ce59d build(deps-dev): bump eslint-plugin-import from 2.22.0 to 2.22.1
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.22.0 to 2.22.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.22.0...v2.22.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-27 23:36:07 +00:00
Thomas Weber a7a72da281 Fix vm-manager-hoc leaking compatibilityMode 2020-09-26 22:06:49 -05:00
Thomas Weber 0d74aab3f9 Revise fosshost.org credit
I think the image is a bit tacky, so it's been replaced with text.
2020-09-26 21:04:16 -05:00
Thomas Weber 318b8c3922 Use noopener for links in Links menu 2020-09-26 20:59:21 -05:00
Thomas Weber da4040fb5c Open troubleshooting link in new tab 2020-09-25 21:45:23 -05:00
Thomas Weber 1535497a6f Fix empty ANNOUNCEMENT showing undefined 2020-09-25 20:20:52 -05:00
Thomas Weber a57f21efbb Support ANNOUNCEMENT env var for announcements 2020-09-25 20:09:21 -05:00
Thomas Weber 61a37e9151 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-09-25 14:10:54 -05:00
Thomas Weber ca3d36b0bd fosshost.org attribution and add Scratch disclaimer 2020-09-25 14:09:25 -05:00
dependabot-preview[bot] b597e86411 Merge pull request #6213 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200924195620 2020-09-25 09:59:22 +00:00
dependabot-preview[bot] 2b31e5b910 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200916215734 to 0.2.0-prerelease.20200924195620.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-25 09:48:45 +00:00
picklesrus 2a4e1928e4 Merge pull request #6195 from picklesrus/stop-travis
Remove Travis config since we're using circle
2020-09-24 06:45:11 -04:00
picklesrus 2d68352744 Merge pull request #6209 from picklesrus/bump-circle-cache
Bump key cache version to v2 to clear out manually circle's cache.
2020-09-23 11:05:25 -04:00
picklesrus 6e5d9a91a8 Bump cache version to v2. 2020-09-23 10:51:06 -04:00
picklesrus 901abab32d Merge pull request #6206 from LLK/revert-6204-dependabot/npm_and_yarn/eslint-plugin-react-7.21.0
Revert "build(deps-dev): bump eslint-plugin-react from 7.20.0 to 7.21.0"
2020-09-23 10:31:45 -04:00
picklesrus 295b6a6234 Revert "build(deps-dev): bump eslint-plugin-react from 7.20.0 to 7.21.0" 2020-09-23 08:39:20 -04:00
dependabot-preview[bot] d950a622e5 Merge pull request #6205 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200923030814 2020-09-23 10:39:00 +00:00
dependabot-preview[bot] d4c0b9d27c build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200916030802 to 3.10.20200923030814.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200916030802...3.10.20200923030814)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-23 10:29:45 +00:00
dependabot-preview[bot] b284fac86d Merge pull request #6204 from LLK/dependabot/npm_and_yarn/eslint-plugin-react-7.21.0 2020-09-23 10:29:29 +00:00
dependabot-preview[bot] ee57cec1a7 Merge pull request #6203 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200923031615 2020-09-23 10:26:40 +00:00
dependabot-preview[bot] 707d680b5c build(deps-dev): bump eslint-plugin-react from 7.20.0 to 7.21.0
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.20.0 to 7.21.0.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.0...v7.21.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-23 10:19:22 +00:00
dependabot-preview[bot] 609325d812 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200922140413 to 0.1.0-prerelease.20200923031615.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-23 10:18:12 +00:00
picklesrus fe59a3f686 put file back to normal. 2020-09-22 16:16:53 -04:00
picklesrus 0192c3e575 one more time! 2020-09-22 16:03:08 -04:00
picklesrus 9e588619fe Merge pull request #6202 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200922140413
build(deps): bump scratch-blocks from 0.1.0-prerelease.20200917235131 to 0.1.0-prerelease.20200922140413
2020-09-22 15:54:42 -04:00
picklesrus f8ced7141f more tests 2020-09-22 15:35:56 -04:00
picklesrus 9a506b080a random change to test ci 2020-09-22 15:11:06 -04:00
dependabot-preview[bot] 62eb0f0b5d build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200917235131 to 0.1.0-prerelease.20200922140413.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-22 19:10:10 +00:00
Thomas Weber 4ae7c0ce64 Fix tw-parser-hoc root 2020-09-20 17:03:37 -05:00
Thomas Weber 4692b7dac3 Always enable routing 2020-09-19 17:07:40 -05:00
Thomas Weber 60652645ce Update title fetching
- rename HOC
- ste project title to title
2020-09-19 15:19:39 -05:00
Thomas Weber 259c53af16 Rename links menu to help 2020-09-19 15:10:32 -05:00
Thomas Weber 06e8fed7d2 Fix cloud variables option 2020-09-19 14:36:40 -05:00
Thomas Weber a533fe591d HOC code cleanup 2020-09-19 14:20:29 -05:00
Thomas Weber 08258de73e Cleaning up option handling 2020-09-19 13:45:33 -05:00
Thomas Weber fbf7bcf402 Update splash screen 2020-09-19 13:11:22 -05:00
Thomas Weber 623c772e0c Move High Quality Pen and Cloud Variables options to Edit menu 2020-09-19 12:58:15 -05:00
Thomas Weber 37584f5d1c Do not show Restore option when not in editor 2020-09-19 12:56:50 -05:00
Thomas Weber 671898e988 Stage header should be white in embed, not transparent 2020-09-19 12:50:55 -05:00
Thomas Weber 6348f25afa Rename showBranding to isEmbedded 2020-09-19 12:49:04 -05:00
Thomas Weber f2f77d5619 Remove background from embed header
I think it's a bit ugly.
Related to #15
2020-09-19 11:24:57 -05:00
Thomas Weber 33542cef51 Add "last key pressed" to toolbox 2020-09-18 23:31:08 -05:00
Thomas Weber 936ed52188 Fix project input auto focus 2020-09-18 23:02:18 -05:00
Thomas Weber e731df3224 Fix progress bar centering 2020-09-18 22:54:15 -05:00
picklesrus d79efb39bb Stop using travis on gui.
Circle should be doing all the work now.
2020-09-18 14:26:31 -04:00
dependabot-preview[bot] 2350327f9f Merge pull request #6192 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200917235131 2020-09-18 09:48:57 +00:00
dependabot-preview[bot] a0dda17aa6 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200916105319 to 0.1.0-prerelease.20200917235131.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-18 09:37:24 +00:00
Thomas Weber b41a6371e2 don't set NODE_ENV to production for every build 2020-09-17 20:47:48 -05:00
Thomas Weber 637ae6eb92 Simplify splitChunks config 2020-09-17 20:24:43 -05:00
Thomas Weber 824cbe5950 Use simpler file names in development 2020-09-17 20:20:48 -05:00
Thomas Weber b931c961bc Fix StudioView placeholder color when in light mode 2020-09-17 20:07:27 -05:00
Thomas Weber 962c315686 Implement dark mode (#2) 2020-09-17 20:05:38 -05:00
dependabot-preview[bot] e9468cf413 Merge pull request #6191 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200916215734 2020-09-17 09:52:12 +00:00
dependabot-preview[bot] 2375581768 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200903205543 to 0.2.0-prerelease.20200916215734.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 09:42:57 +00:00
Thomas Weber e81687428e Warn user about potential data loss when in editor 2020-09-16 20:30:23 -05:00
Thomas Weber a071a5cac3 More thoroughly disable inputs while project is loading 2020-09-16 19:22:33 -05:00
dependabot-preview[bot] f8b797db16 Merge pull request #6157 from LLK/dependabot/npm_and_yarn/babel/core-7.11.6 2020-09-16 12:21:15 +00:00
dependabot-preview[bot] 53c66a69e8 build(deps-dev): bump @babel/core from 7.11.4 to 7.11.6
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.4 to 7.11.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.6/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 12:10:50 +00:00
dependabot-preview[bot] d3b0910dff Merge pull request #6188 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200916030802 2020-09-16 12:07:49 +00:00
dependabot-preview[bot] b970432e2a build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200909030847 to 3.10.20200916030802.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200909030847...3.10.20200916030802)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 11:55:06 +00:00
dependabot-preview[bot] 04234ccb42 Merge pull request #6189 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200916105319 2020-09-16 11:52:13 +00:00
dependabot-preview[bot] 88ff8dd472 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200915140346 to 0.1.0-prerelease.20200916105319.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 11:40:10 +00:00
picklesrus 326510662f Merge pull request #6176 from zoebentley/tutorial-relinking
Change end-of-tutorial links for several tutorials
2020-09-15 16:42:47 -04:00
dependabot-preview[bot] e5d8aa05b3 Merge pull request #6186 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200915140346 2020-09-15 15:27:44 +00:00
dependabot-preview[bot] cb8af2c4d2 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200908141031 to 0.1.0-prerelease.20200915140346.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 15:11:44 +00:00
picklesrus 4f5fb953b4 Merge pull request #6140 from picklesrus/circle-gui-gh-pages
Have circle deploy to the standard npm tags instead of travis.
2020-09-14 14:01:08 -04:00
picklesrus 43954f0964 Merge pull request #6156 from picklesrus/circle-cron
Add translation push cron job to circle.
2020-09-14 11:08:29 -04:00
Thomas Weber 2799417780 Update color of some icons 2020-09-13 15:19:15 -05:00
Thomas Weber 4748b44f16 Update ui-modal-overlay 2020-09-13 14:25:34 -05:00
Thomas Weber 3a9bd75dae Fix stuck checking toggle 2020-09-13 01:17:16 -05:00
Thomas Weber ade671493e Fix project ID default value 2020-09-12 22:24:58 -05:00
Thomas Weber 86a237145e isFullScreen should be false, not undefined 2020-09-12 22:22:19 -05:00
Thomas Weber 1585438ebe Display project title in tab title 2020-09-12 15:36:22 -05:00
Thomas Weber 60c4bbf31a Change import 2020-09-12 13:49:11 -05:00
Thomas Weber be29a5ea6b Warn when embedding incorrectly 2020-09-12 13:26:55 -05:00
Thomas Weber ed8357df0e Update width and height of the test frame
So that the size of the canvas is 480x360
2020-09-12 10:56:04 -05:00
Thomas Weber 5501d37d3e Add fullscreen button to embed 2020-09-12 10:47:52 -05:00
Thomas Weber 3bd9024762 Add test page for embeds 2020-09-12 10:34:57 -05:00
Thomas Weber 09ae0374ae Do not display asset count when total is 0 2020-09-11 21:37:39 -05:00
Thomas Weber 88d14ac414 Remove unnecessary setProgress(0) 2020-09-11 16:09:46 -05:00
Thomas Weber 6dbf728c98 Reset total/complete when state changes 2020-09-11 16:06:23 -05:00
zoebentley a8254eedd4 Merge pull request #6162 from zoebentley/getting-started-translation-phase-1
Added Getting Started video in 7 languages
2020-09-11 14:23:55 -04:00
DD Liu c6f47de886 Update default project assets 2020-09-10 22:56:14 -04:00
Thomas Weber 1634b6e537 Rewrite progress bar
Instead of monkey patching the DOM, it is now built into the loading screen.
Still uses some manual DOM manipulation, but no mutation observers or anything like that.
2020-09-10 20:59:06 -05:00
Thomas Weber bdb808b98b Update progress bar 2020-09-10 19:49:31 -05:00
Zoë Bentley 657e47085d Change links at the end of several tutorials 2020-09-10 13:55:35 -04:00
dependabot-preview[bot] 2e95cf18c0 Merge pull request #6175 from LLK/dependabot/npm_and_yarn/bl-1.2.3 2020-09-10 09:52:45 +00:00
dependabot-preview[bot] e783cebbc8 build(deps): [security] bump bl from 1.2.2 to 1.2.3
Bumps [bl](https://github.com/rvagg/bl) from 1.2.2 to 1.2.3. **This update includes a security fix.**
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v1.2.2...v1.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-10 09:43:07 +00:00
dependabot-preview[bot] 54253d462b Merge pull request #6174 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200909030847 2020-09-09 21:19:43 +00:00
dependabot-preview[bot] 6bb58ca782 build(deps): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200902030719 to 3.10.20200909030847.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200902030719...3.10.20200909030847)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 21:09:51 +00:00
Eric Rosenbaum fa7ed724dd update asset libraries 2020-09-09 12:39:07 -04:00
Eric Rosenbaum f7c7bf01f1 update backdrops 2020-09-09 12:39:07 -04:00
Eric Rosenbaum 0650cf623c Costume library costume names are title case 2020-09-09 12:39:07 -04:00
Eric Rosenbaum c1e872a5e8 correct rotation center for costumes 2020-09-09 12:39:06 -04:00
Eric Rosenbaum 1c37feb101 Display sprite lib icons without using type property 2020-09-09 12:39:06 -04:00
Eric Rosenbaum f97bc8e20c Regenerate libraries 2020-09-09 12:39:06 -04:00
Eric Rosenbaum 8cb2ad5d9b Expect library item data that conforms to sb3 spec 2020-09-09 12:39:06 -04:00
Eric Rosenbaum 3964e77e5d regenerated libraries closer to sb3 spec 2020-09-09 12:39:06 -04:00
dependabot-preview[bot] 524ab9ea13 Merge pull request #6171 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200908141031 2020-09-09 13:55:26 +00:00
dependabot-preview[bot] 2b3f1a9093 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200903205312 to 0.1.0-prerelease.20200908141031.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 13:45:44 +00:00
Thomas Weber 9cf5c35c29 Update privacy policy again
No real changes to what's being logged or how it's used. Just putting more things in writing.
Removed Sentry as it hasn't been used in quite a while.
2020-09-08 18:34:24 -05:00
Zoë Bentley 52e7103ae8 Change linking of 5 tutorials to make tutorial links more evenly balanced 2020-09-08 10:47:17 -04:00
dependabot-preview[bot] 93dbf2927a Merge pull request #6167 from LLK/dependabot/npm_and_yarn/http-proxy-1.18.1 2020-09-08 03:03:09 +00:00
dependabot-preview[bot] 04ba6a7bb2 build(deps): [security] bump http-proxy from 1.18.0 to 1.18.1
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1. **This update includes a security fix.**
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 02:53:55 +00:00
Thomas Weber b06bbde33f Use a mailto: link 2020-09-06 22:26:41 -05:00
Thomas Weber 7d82e0ccf1 Update privacy policy 2020-09-06 22:15:48 -05:00
Thomas Weber 0ac134478a Improve logic around focusing project input 2020-09-06 17:24:16 -05:00
Thomas Weber 9bece1ef66 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-09-06 09:53:23 -05:00
Thomas Weber 068401804a Store language preference in localStorage 2020-09-06 09:52:36 -05:00
Zoë Bentley 813b984ef7 Added Getting Started video in 7 languages 2020-09-04 12:12:58 -04:00
dependabot-preview[bot] 04d444afa1 Merge pull request #6160 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200903205543 2020-09-04 10:37:07 +00:00
dependabot-preview[bot] c9c0381e32 Merge pull request #6161 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200903205312 2020-09-04 10:36:41 +00:00
dependabot-preview[bot] 56c12d4e37 Merge pull request #6159 from LLK/dependabot/npm_and_yarn/babel/cli-7.11.6 2020-09-04 10:28:05 +00:00
dependabot-preview[bot] 9036565c45 Merge pull request #6158 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.11.5 2020-09-04 10:27:50 +00:00
dependabot-preview[bot] 015bea3553 build(deps): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200901140240 to 0.1.0-prerelease.20200903205312.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 10:22:15 +00:00
dependabot-preview[bot] 37bdaa6fe6 build(deps): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200820211625 to 0.2.0-prerelease.20200903205543.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 10:20:09 +00:00
dependabot-preview[bot] a90932c89e build(deps-dev): bump @babel/cli from 7.10.5 to 7.11.6
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.5 to 7.11.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.6/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 10:18:57 +00:00
dependabot-preview[bot] 31e3be52d3 build(deps-dev): bump @babel/preset-env from 7.11.0 to 7.11.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 10:18:15 +00:00
Thomas Weber 0273842f1c Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-09-03 15:15:28 -05:00
dependabot-preview[bot] 3af2639e83 [Security] Bump react-dom from 16.2.0 to 16.2.1
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.2.0 to 16.2.1. **This update includes a security fix.**
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-03 19:40:54 +00:00
dependabot-preview[bot] 0152f8ab85 [Security] Bump lodash.defaultsdeep from 4.6.0 to 4.6.1
Bumps [lodash.defaultsdeep](https://github.com/lodash/lodash) from 4.6.0 to 4.6.1. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.6.0...4.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-03 19:40:52 +00:00
Chris Willis-Ford ace01e224b Merge pull request #6130 from cwillisf/dep-dev-dep
Move src/* dependencies into `dependencies`
2020-09-03 12:39:16 -07:00
Christopher Willis-Ford 9ae457cb11 Merge branch 'develop' into dep-dev-dep 2020-09-03 12:27:21 -07:00
picklesrus 831a8fdd3d Add translation push cron job to circle. 2020-09-03 12:47:42 -04:00
Thomas Weber 3f4c56d03a Update STUDIO_API 2020-09-03 00:43:21 -05:00
picklesrus 4244217ec2 Merge pull request #6152 from picklesrus/circle-gh-page-fix
Fix logic for when to run deploy-gh-pages
2020-09-02 14:29:21 -04:00
picklesrusandRay Schamp 1dc8800971 Update .circleci/config.yml
actually make it a regex.

Co-authored-by: Ray Schamp <rschamp@users.noreply.github.com>
2020-09-02 14:24:53 -04:00
dependabot-preview[bot] 6351f44cd3 Merge pull request #6151 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200902030719 2020-09-02 13:28:46 +00:00
dependabot-preview[bot] 60d9890e18 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200826030836 to 3.10.20200902030719.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200826030836...3.10.20200902030719)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 13:14:22 +00:00
picklesrus 50dd7bc747 Fix logic for when to run gh-deploys. We don't want to do it for dependabot branches or pull requests. 2020-09-02 09:13:14 -04:00
dependabot-preview[bot] 29255ddf04 Merge pull request #6150 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200901140240 2020-09-02 13:11:17 +00:00
dependabot-preview[bot] b50e8fd27e build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200818140148 to 0.1.0-prerelease.20200901140240.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 12:41:05 +00:00
Thomas Weber 8c2fb52afe Add link for embedding 2020-09-01 23:43:44 -05:00
Thomas Weber f7ffca055b Cleanup render functions
- remove unused imports
- remove unneeded comments
- onbeforeunload is handled by project-saver-hoc
2020-09-01 23:42:01 -05:00
Thomas Weber 6387816ceb Put an empty file in static so that git creates the folder 2020-09-01 20:09:19 -05:00
Thomas Weber 2b3ecb9ef9 Embed should not include tw-imports
- the progress bar looks bad in an embed
 - the self check is weird when the user didn't explicitly go to turbowarp.org
2020-09-01 19:56:00 -05:00
Thomas Weber 8f812a3d23 Embed should read the project ID from location.hash 2020-09-01 19:54:54 -05:00
Thomas Weber 147d4bbb9a Add staging.turbowarp.org to the useRouting allowlist 2020-09-01 19:46:00 -05:00
Thomas Weber 486e302a99 Embed should not use TWParserHOC 2020-09-01 19:45:04 -05:00
Thomas Weber d5ede38500 Remove empty branding entirely
Previously there was an empty part of the page that would send you to scratch.mit.edu when you clicked.
2020-09-01 19:37:32 -05:00
Thomas Weber cbad866b6f Improve embeds to be less of a hack (#5) 2020-09-01 19:36:17 -05:00
Thomas Weber 3a816e2b21 Add page for fullscreen 2020-09-01 19:31:39 -05:00
Thomas Weber 35b3312c31 Preliminary embedding support (#5) 2020-09-01 17:24:48 -05:00
Thomas Weber f6d3b92c15 Refactor render-gui 2020-09-01 17:20:02 -05:00
Christopher Willis-Ford e2dee0db2f move more deps based on review feedback 2020-09-01 12:42:57 -07:00
Christopher Willis-Ford 1ef2659c79 Merge branch 'develop' into dep-dev-dep 2020-09-01 12:35:02 -07:00
Sarah Otts 475ccbb03a Merge pull request #6116 from apple502j/rtl-asset-drag
Force LTR on drag-layer
2020-09-01 15:26:07 -04:00
dependabot-preview[bot] 40a4c26206 Merge pull request #6142 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200831213104 2020-09-01 03:29:54 +00:00
dependabot-preview[bot] c2d95ffb92 Merge pull request #6147 from LLK/dependabot/npm_and_yarn/babel/cli-7.11.5 2020-09-01 03:10:56 +00:00
dependabot-preview[bot] bf94a78b8d Merge pull request #6146 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.11.5 2020-09-01 03:08:07 +00:00
dependabot-preview[bot] 441802d28b build(deps-dev): bump @babel/cli from 7.10.5 to 7.11.5
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.5 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-01 02:52:41 +00:00
dependabot-preview[bot] d4eaa82533 build(deps-dev): bump @babel/preset-env from 7.11.0 to 7.11.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-01 02:51:52 +00:00
dependabot-preview[bot] de18320281 build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200813210710 to 0.2.0-prerelease.20200831213104.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-01 02:48:17 +00:00
picklesrus 888d6eb536 Have circle deploy to the standard npm tags instead of travis. 2020-08-31 16:23:08 -04:00
picklesrus 2ca9f562f3 Merge pull request #6131 from picklesrus/circle-gui-gh-pages
Deploying to gh-pages from circle instead of Travis
2020-08-31 16:02:06 -04:00
chrisgarrity 089927f23f Merge pull request #5877 from apple502j/asset-editing-target
Add assets to editingTarget at the time it started uploading
2020-08-31 13:30:31 -04:00
Thomas Weber 3cb7d45c98 Temporarily disable handlePaste 2020-08-28 16:21:27 -05:00
Thomas Weber 9610c63f1d Prevent default behaviors of ' and / in firefox 2020-08-28 15:40:11 -05:00
Thomas Weber cd945cef65 Improve project input
- handle pastes better
- reorganize
2020-08-28 01:27:40 -05:00
Thomas Weber a91a6da0cd Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-08-28 00:16:36 -05:00
DD Liu ed7a81d6a3 Merge pull request #6132 from fsih/updateRender
Update to render with touching white fixes
2020-08-27 17:51:45 -04:00
DD Liu f73b631ea4 Update to render with touching white fixes 2020-08-27 17:50:58 -04:00
picklesrus 4b12c5b36d Stop deploying to gh pages from travis. 2020-08-27 12:39:05 -04:00
picklesrus 4006422ef5 Stop gh-pages deploy from happening on pull requests.
I found this strategy suggested in 
https://discuss.circleci.com/t/create-separate-steps-jobs-for-pr-forks-versus-branches/13419
2020-08-27 12:35:31 -04:00
picklesrus dd332df1de Try deploying to gh-pages from circle. 2020-08-27 11:25:13 -04:00
Thomas Weber 2d073baf95 Update CONTRIBUTING 2020-08-27 00:20:55 -05:00
Thomas Weber 9385206964 Tune threshold for example projects studio to shrink 2020-08-27 00:20:23 -05:00
Thomas Weber 1a23e8b8f3 Backspace should not go back 2020-08-27 00:17:56 -05:00
Christopher Willis-Ford aab9dbd367 remove unused dependencies 2020-08-26 17:33:28 -07:00
Christopher Willis-Ford 420ed284d2 move some devDependencies to dependencies
Any dependency needed to successfully require/import `src/index.js`
should now be listed under "dependencies" though the client will need to
ensure that appropriate Babel rules, etc., are present.
2020-08-26 17:33:26 -07:00
Thomas Weber 81b50963a9 Remove costumes that are Scratch trademarks
Again, don't want to take any risks here with people thinking inclusion of these is an "endorsement" from Scratch.
2020-08-26 17:25:12 -05:00
Thomas Weber 6fec485c98 Remove sprites that are Scratch trademarks
This might not be necessarily, but I don't want to get an angry letter from MIT.
So, we'll remove the sprites that are considered Scratch trademarks so that no one interprets that as Scratch endorsing this fork.
2020-08-26 17:12:43 -05:00
Thomas Weber ff4723a579 Remove message about moving to turbowarp.org
Everyone that it would matter to should have seen it by this point.
2020-08-26 16:17:05 -05:00
picklesrus 9b7e6b9e73 Merge pull request #6123 from picklesrus/enable-circle-npm
Step toward GUI migration to circle: have circle deploy to npm
2020-08-26 14:51:57 -04:00
picklesrus b77700c908 Put travis gh-pages deploy back since there are some permissions problems to work out on circle 2020-08-26 10:21:20 -04:00
picklesrus 87664a85a0 Comment out back out gh pages deploy for now since it isn't working yet. 2020-08-26 10:10:06 -04:00
picklesrus 0e0f0ebd9e Don't push to github pages on dependabot branches. 2020-08-26 09:10:00 -04:00
dependabot-preview[bot] 4ef6f45903 Merge pull request #6129 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200826030836 2020-08-26 10:31:06 +00:00
dependabot-preview[bot] d3341bad07 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200819030716 to 3.10.20200826030836.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200819030716...3.10.20200826030836)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 10:19:49 +00:00
DD Liu e02c4f572c Merge pull request #6124 from fsih/updateRender
Update render
2020-08-25 23:17:54 -04:00
DD Liu 9bf6cf88b3 Merge branch 'develop' into updateRender 2020-08-25 23:04:39 -04:00
DD Liu b95570b847 Merge pull request #6126 from fsih/travisTest
Update chromedriver
2020-08-25 23:02:19 -04:00
DD Liu 0c3a3a8e36 Update chromedriver 2020-08-25 22:46:29 -04:00
DD Liu 8230a9925c Update chromedriver 2020-08-25 22:33:19 -04:00
DD Liu 35d82e07f9 Update render 2020-08-25 20:30:58 -04:00
picklesrus e9b4b881c3 Step toward GUI migration to circle. Have circle deploy to npm (via the circlelatest tag) and github pages.
Turning off github pages deploy in travis.
2020-08-25 17:17:32 -04:00
Thomas Weber f0d0b05076 Fix some project input crashes 2020-08-24 00:59:52 -05:00
Thomas Weber deb3a8d726 Implement URL parameter for high quality pen 2020-08-23 14:05:55 -05:00
Thomas Weber 74e472efa6 Remove high quality pen warning 2020-08-23 13:48:46 -05:00
Thomas Weber f5a05f1143 Unfocusing the project input should loads its current value 2020-08-23 11:29:11 -05:00
apple502j 0a6aece8e5 Localize backpack item label 2020-08-23 16:46:55 +09:00
Thomas Weber 25f744d3e4 Fix progress bar permanently hiding after not receiving an event for 5 seconds
setProgress now runs showProgress
2020-08-22 18:17:34 -05:00
Thomas Weber 1fae405712 Remove firefox performance warning
To be clear, Chrome is still faster. 2x faster in fact.
But the difference has been significantly mitigated
through some VM optimizations, and that
bug ID is less relavent now.
2020-08-22 14:38:45 -05:00
Thomas Weber 132137bad5 cloudhost -> cloud_host 2020-08-21 13:07:35 -05:00
apple502j f4cd7feb72 Force LTR on drag-layer 2020-08-22 00:36:47 +09:00
dependabot-preview[bot] 6fdf2992ef Merge pull request #6112 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200819030716 2020-08-21 13:38:34 +00:00
dependabot-preview[bot] 76234240ae build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200812030801 to 3.10.20200819030716.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200812030801...3.10.20200819030716)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 13:19:46 +00:00
Thomas Weber 30f800dd81 Update default cloudHost 2020-08-20 20:52:22 -05:00
Thomas Weber dbc3a508ef Only add ws:// or wss:// to cloudHost if not already present 2020-08-20 20:52:05 -05:00
Thomas Weber c30fe497a3 Update cloudHost
- can be configured through URL parameter
- change host to clouddata.turbowarp.org
2020-08-20 20:38:01 -05:00
Thomas Weber 3739388f20 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-08-20 20:23:43 -05:00
dependabot-preview[bot] 21b46fe9a2 Merge pull request #6109 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200820192709 2020-08-20 22:10:48 +00:00
dependabot-preview[bot] eb6d28d1df build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200817194622 to 0.1.0-prerelease.20200820192709.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-20 22:01:11 +00:00
dependabot-preview[bot] 6aba34bcc5 Merge pull request #6110 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200820211625 2020-08-20 21:58:15 +00:00
dependabot-preview[bot] c6380199a7 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200720182258 to 0.2.0-prerelease.20200820211625.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-20 21:48:21 +00:00
dependabot-preview[bot] fb4a477c52 Merge pull request #6108 from LLK/dependabot/npm_and_yarn/babel/core-7.11.4 2020-08-20 19:15:48 +00:00
dependabot-preview[bot] cd66b90956 build(deps-dev): bump @babel/core from 7.11.1 to 7.11.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.1 to 7.11.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-20 19:06:23 +00:00
Thomas Weber b365ef711e Update privacy policy date 2020-08-20 12:02:48 -05:00
Thomas Weber 6bfd504794 Merge branch 'turbowarp.org' into develop 2020-08-20 11:52:24 -05:00
Thomas Weber 565741a2bb Move to turbowarp.org 2020-08-20 11:51:57 -05:00
Thomas Weber 959e64d8a7 Set a default value for for_each VALUE 2020-08-19 22:30:09 -05:00
Thomas Weber c6f60f35f2 Add for each to toolbox 2020-08-19 22:25:50 -05:00
Thomas Weber 6015ede22e Fix empty project input 2020-08-19 17:04:35 -05:00
Thomas Weber 1d9aa02757 Clarify privacy policy a bit more 2020-08-19 16:20:55 -05:00
Thomas Weber 303b11c1b1 Update privacy policy again 2020-08-19 14:11:21 -05:00
Thomas Weber 0137b56ac2 Update privacy policy
No significant content changes. Mostly just clarifying some wording.
2020-08-19 14:02:05 -05:00
Thomas Weber f0d1511e01 When a project does not exist, load a minimal project instead of erroring 2020-08-19 13:35:14 -05:00
dependabot-preview[bot] cce6191b12 Merge pull request #6102 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200818140148 2020-08-19 12:36:18 +00:00
dependabot-preview[bot] a65c3336f5 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200811140116 to 0.1.0-prerelease.20200818140148.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 23:24:26 +00:00
Thomas Weber d9b24f33b9 Fix default username value 2020-08-18 17:32:07 -05:00
Benjamin Wheeler 49e7ca7471 Merge pull request #4542 from towerofnix/better-shareBlocksToTarget
Position blocks added from "share the love" within the viewport
2020-08-18 16:11:07 -04:00
Eric Rosenbaum ec67a44dca Merge pull request #6021 from noamraph/sortable-hoc-rtl
Make SortableHOC work properly in RTL mode
2020-08-18 14:43:02 -04:00
Thomas Weber 7b48cd437b Disable editing target changing in fullscreen and when editor is hidden to avoid lag 2020-08-17 23:17:14 -05:00
Thomas Weber 0e78f4a0cc Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-08-17 18:01:35 -05:00
Thomas Weber f03ab36c55 Don't capitalize on or off 2020-08-17 18:01:21 -05:00
dependabot-preview[bot] 6527e79dfd Merge pull request #6099 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200817194622 2020-08-17 21:09:19 +00:00
dependabot-preview[bot] 845b525f77 build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200806013734 to 0.1.0-prerelease.20200817194622.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 20:40:24 +00:00
adroitwhiz 673870a47e onStartDrag: Always check target drawable exists 2020-08-17 15:43:25 -04:00
adroitwhiz baf46b21b0 Only call renderer.pick() on draggable drawables 2020-08-17 15:43:25 -04:00
Ben Wheeler bd73f83172 default blocks editor zoom level; other minor corrections 2020-08-17 15:22:49 -04:00
Bryce Taylor b12d8248f6 Merge pull request #5974 from apple502j/zero-zero-backpack
Fix backpacking zero-height/width costumes
2020-08-17 14:42:21 -04:00
Bryce Taylor 18451a5998 Use canvas width/height for futureproofing 2020-08-17 14:27:03 -04:00
Florrie d0cb2fb653 Remove unused dimensions info from metrics reducer 2020-08-17 13:45:12 -04:00
Florrie 5f68aa4546 Fix RTL positioning
(A similar fix should be done for custom procedure positioning later.)
2020-08-17 13:45:11 -04:00
Florrie 015fce0199 Position dropped blocks according to ws.Metrics 2020-08-17 13:45:11 -04:00
Florrie 70bd41ea67 Also save dimensions in workspaceMetrics 2020-08-17 13:38:27 -04:00
Florrie 62e36fd38e Separate workspaceMetrics into a reducer 2020-08-17 13:38:27 -04:00
Thomas Weber 3d1f8d4e44 Let compiler be disabled while scripts are running 2020-08-17 11:34:30 -05:00
Thomas Weber 6bfc59b28c Update drop-highlight color 2020-08-17 11:33:57 -05:00
Thomas Weber 1cc5230626 Update cloud variable error message 2020-08-16 22:12:40 -05:00
Thomas Weber a043de33f3 Add advanced settings help 2020-08-16 21:40:46 -05:00
Thomas Weber 5ec2a62bca Fix tw initialState export 2020-08-16 21:36:30 -05:00
Thomas Weber f8577e1757 Search for search params when setting up initial state 2020-08-16 21:22:31 -05:00
Thomas Weber 9d281ba4b4 Cleanup our url parsing 2020-08-16 21:22:09 -05:00
Thomas Weber 35d7335235 Remove persistent/non persistent setUsername 2020-08-16 21:21:44 -05:00
Thomas Weber 998b14963d Use compatibility mode state when constructing VM 2020-08-16 21:21:17 -05:00
Thomas Weber affd7cef54 Fix some url parsing bugs 2020-08-16 21:03:04 -05:00
Thomas Weber 903893617c Get our url parsing to be less broken 2020-08-16 20:48:05 -05:00
Thomas Weber 3db76d7056 Update messages 2020-08-16 20:22:16 -05:00
Thomas Weber 6ae683f8ab Move cloud variables toggler to advanced settings 2020-08-16 20:20:42 -05:00
Thomas Weber 2016e0c419 Update self check 2020-08-16 19:51:20 -05:00
Thomas Weber 8cd9174823 Move some files around 2020-08-16 19:47:36 -05:00
Thomas Weber 126cd18a05 Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-08-16 18:14:54 -05:00
Thomas Weber 8479e8f88d Alt click green flag to toggle 60 fps/compatibility mode 2020-08-16 18:10:22 -05:00
Thomas Weber 175cabd46b Menu bar updates
- move things around
- add privacy link
2020-08-16 18:06:01 -05:00
Thomas Weber 1a9a82b86c Improve the tw parser a bit more 2020-08-16 18:03:28 -05:00
Thomas Weber 330ec49a47 Improve all the URL parsing and handling 2020-08-16 17:39:14 -05:00
Thomas Weber 9826f2b545 Shorten TurboWarp Settings to just Settings 2020-08-16 17:06:56 -05:00
Thomas Weber 245bd73b36 TW url parser 2020-08-16 16:25:38 -05:00
Thomas Weber 41d7e9440b Allow username changes to be persistent or not 2020-08-16 16:06:31 -05:00
Thomas Weber c7673fc11b If username didn't change, don't set it. 2020-08-16 16:06:10 -05:00
Thomas Weber 5b5b25e2cb Guess we're not going to do sourcemaps in production
Apparently my garbage vps has too little memory to generate a few megabytes of sourcemap.
2020-08-16 00:54:22 -05:00
Thomas Weber 239f6d68cc Enable source maps in production
Sure, it might be a bit weird.
But since TurboWarp is open source anyways, this is just to have a more useful debugging experience in production.
No source code is being leaked or anything like that. It's already on github
2020-08-16 00:47:10 -05:00
Thomas Weber 1ba9012458 Sentry error monitoring 2020-08-15 22:53:33 -05:00
Thomas Weber 08e52db53c Remove google verification code 2020-08-15 18:31:08 -05:00
Thomas Weber 40a8295293 Merge branch 'turbowarp.xyz' into develop 2020-08-15 18:25:43 -05:00
Thomas Weber f58eda38bb Add note about old URL
Honestly just SEO
2020-08-15 18:00:18 -05:00
Thomas Weber c3a5b6a75b Update links 2020-08-15 17:57:07 -05:00
Thomas Weber 9ccd794196 Update privacy policy 2020-08-15 17:36:10 -05:00
Thomas Weber 54c7102c09 Add some margin to bottom of the studioview 2020-08-15 13:54:09 -05:00
Thomas Weber f6e586d92a Update text about the studio to be correct 2020-08-15 13:20:43 -05:00
Thomas Weber 505157b1d9 Merge branch 'studioview' into develop 2020-08-15 13:19:17 -05:00
Thomas Weber 9fda6c0081 Disable the studio list when a project is loading 2020-08-15 13:17:09 -05:00
Thomas Weber c6a5d624ae Moved domains 2020-08-15 02:08:05 -05:00
Thomas Weber 6b9af7b718 Update privacy policy 2020-08-15 01:59:34 -05:00
Thomas Weber 1af1c44627 Be less clever with cache groups 2020-08-15 01:05:46 -05:00
Thomas Weber 2893dfca76 More bundle optimizations 2020-08-15 00:38:18 -05:00
Thomas Weber 701b46a1ca Use hash in filenames 2020-08-14 23:25:01 -05:00
Thomas Weber 4e028555d3 Merge branch 'develop' into optimize-chunks 2020-08-14 23:03:44 -05:00
Thomas Weber 62a5cbc79d Remove message about the see inside button moving 2020-08-14 18:07:56 -05:00
Thomas Weber 6890989d61 Add TurboWarp block category 2020-08-14 17:22:44 -05:00
dependabot-preview[bot] 5ea74c6a1e Merge pull request #6096 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200813210710 2020-08-14 02:42:22 +00:00
dependabot-preview[bot] ee22052836 build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200729212812 to 0.2.0-prerelease.20200813210710.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-14 02:33:20 +00:00
Thomas Weber bb0cef45f7 Cleanup 2020-08-13 17:27:18 -05:00
Thomas Weber a52de66d64 Add option for stuck checking 2020-08-13 17:25:53 -05:00
Thomas Weber be7c2f0277 Always disable pointer events on progress bar 2020-08-12 16:54:49 -05:00
dependabot-preview[bot] 0e5b7230fb Merge pull request #6089 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200812030801 2020-08-12 07:17:41 +00:00
dependabot-preview[bot] 87c826342d build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200805030706 to 3.10.20200812030801.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200805030706...3.10.20200812030801)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-12 07:08:02 +00:00
Thomas Weber 676180c7c4 Add a slight shadow around the "Click to view example projects" button 2020-08-11 23:42:18 -05:00
Thomas Weber a9ce988369 Remove note about See Inside button moving
By the time this branch is merged, everyone will have figured everything out.
2020-08-11 23:38:05 -05:00
Thomas Weber 3260aace39 Merge branch 'develop' into studioview 2020-08-11 23:34:20 -05:00
Thomas Weber d39b958c59 Show a warning to firefox users regarding performance
Chrome quicksort on 200,000: 0.1804
Firefox quicksort on 200,000: 0.8003

So actually more than 4x faster...
https://bugzilla.mozilla.org/show_bug.cgi?id=1317690
2020-08-11 23:13:50 -05:00
Thomas Weber 15014cbc58 Remove empty div 2020-08-11 23:04:55 -05:00
Thomas Weber 776f7cc27e Move some of our components around to clean things up 2020-08-11 22:28:43 -05:00
Thomas Weber b1ac2af827 Tune studio view a bit 2020-08-11 20:06:50 -05:00
Thomas Weber 9cf0adaf96 Fix comments in progress bar 2020-08-11 19:32:33 -05:00
Thomas Weber ad5a7dad38 Progress bar doesn't need id or title 2020-08-11 19:29:31 -05:00
Thomas Weber 29b4345ec2 Disable pointer events on progress bar when hidden 2020-08-11 19:28:55 -05:00
Thomas Weber 940b035609 Merge branch 'develop' into studioview 2020-08-11 19:27:24 -05:00
Thomas Weber 8586c7aceb Tell people where the see inside button went 2020-08-11 19:22:29 -05:00
Thomas Weber 7c6b9c47e7 We compile any project, not just "your" projects. 2020-08-11 19:22:18 -05:00
Thomas Weber 16a26715c3 Change color of tab icons to match our style 2020-08-11 19:18:06 -05:00
Thomas Weber fc71ab8e56 Remove old see inside button 2020-08-11 19:09:00 -05:00
Thomas Weber 9b25e6f8dd Add See Inside button to menu bar 2020-08-11 19:08:56 -05:00
Thomas Weber ea90b24a20 Remove playeronly 2020-08-11 19:08:51 -05:00
Thomas Weber e3956e6ad1 Slightly improve look of examples studio 2020-08-11 18:25:40 -05:00
dependabot-preview[bot] 927b748c05 Merge pull request #6070 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200806013734 2020-08-11 21:39:06 +00:00
dependabot-preview[bot] 33d0b2d651 build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200804212124 to 0.1.0-prerelease.20200806013734.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-11 21:28:17 +00:00
dependabot-preview[bot] bf909b18f5 Merge pull request #6088 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200811140116 2020-08-11 21:24:47 +00:00
dependabot-preview[bot] a176d60b74 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200804140007 to 0.1.0-prerelease.20200811140116.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-11 21:15:21 +00:00
Thomas Weber 450199a33d Inline the examples projects 2020-08-11 01:38:25 -05:00
Thomas Weber 1695d7373a Increase home max-width a bit 2020-08-11 01:38:06 -05:00
Thomas Weber bb5e49de4b Remove note about live script updating for now 2020-08-11 01:37:49 -05:00
Thomas Weber f7ee79781e GUI should have some margin on the bottom 2020-08-11 01:37:21 -05:00
zoebentley 4cfea3c9e4 Merge pull request #5999 from zoebentley/englishPNG
Replace most English GIFs with PNGs
2020-08-06 15:32:51 -04:00
Thomas Weber 614da2648b Improve the interface a bit more 2020-08-05 16:25:20 -05:00
dependabot-preview[bot] 8f472aedd2 Merge pull request #6068 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200805030706 2020-08-05 05:47:11 +00:00
dependabot-preview[bot] b53a312714 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200729030742 to 3.10.20200805030706.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200729030742...3.10.20200805030706)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 05:36:16 +00:00
dependabot-preview[bot] 409e276a43 Merge pull request #6066 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200804212124 2020-08-05 02:37:44 +00:00
dependabot-preview[bot] 85a35173bf Merge pull request #6067 from LLK/dependabot/npm_and_yarn/babel/core-7.11.1 2020-08-05 02:02:08 +00:00
dependabot-preview[bot] 555f3573c3 build(deps-dev): bump @babel/core from 7.11.0 to 7.11.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.0 to 7.11.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.1/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 01:53:15 +00:00
dependabot-preview[bot] a25ef8036d build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200723210832 to 0.1.0-prerelease.20200804212124.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 01:23:29 +00:00
dependabot-preview[bot] 0945c19a0a Merge pull request #6065 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200804140007 2020-08-04 16:19:27 +00:00
dependabot-preview[bot] 1e0bb2dce7 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200721135911 to 0.1.0-prerelease.20200804140007.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-04 16:08:42 +00:00
Thomas Weber 5d1f2ba802 Add a warning that scripts may not be updated in real time 2020-08-03 01:16:43 -05:00
Thomas Weber e5e79b9fe2 Improve cloud variable handling of usernames 2020-08-02 20:22:32 -05:00
Thomas Weber 824e08e878 Clarify what high quality pen does 2020-08-02 20:21:23 -05:00
Thomas Weber 70210e912f Fix prompt() return value handling when changing username 2020-08-02 20:19:50 -05:00
Thomas Weber 371d7fdd89 Move the compiler disable button down 2020-08-02 20:19:34 -05:00
Thomas Weber 0fb35e5cfb Check that scratch-render and scratch-vm are using the right versions 2020-08-02 17:07:52 -05:00
Thomas Weber 5ee3b6a75d Merge branch 'develop' of https://github.com/llk/scratch-gui into develop 2020-08-02 16:19:17 -05:00
Thomas Weber 5b00c9a84d Bring back the files menu to the homepage menu bar 2020-08-02 16:18:50 -05:00
Thomas Weber 6611e69c62 Add "High quality pen" option 2020-08-02 12:32:17 -05:00
Thomas Weber 653322289d Let cloud variables update faster 2020-08-01 20:01:22 -05:00
Thomas Weber cf3463bf55 The file manager doesn't work yet so don't show it for now 2020-08-01 10:39:26 -05:00
Thomas Weber 40adf41a69 Update some menu bar things
- disable username changer when project running
- show language selector on home
- show file menu on home
2020-08-01 10:26:19 -05:00
Thomas Weber 12a704e26d Webpack config update
Forgot to include these earlier
2020-07-31 17:26:49 -05:00
Thomas Weber 3d4c31170d Improve the project ID input
Handle some eslint stuff
Hide the default project ID
2020-07-31 17:26:17 -05:00
Thomas Weber 29bdcb7d8e Fix editor entry 2020-07-31 17:10:55 -05:00
Thomas Weber 9e3a870d78 Don't hide the progress bar when clicked
If the bar breaks, that's now done automatically after 5 seconds.
2020-07-31 17:03:49 -05:00
Thomas Weber 8f2249c7ae This is probably ready 2020-07-31 17:02:50 -05:00
Thomas Weber 960facf7ee More prep to hide the editor by default 2020-07-31 16:33:48 -05:00
Thomas Weber 551e9d4e5a Choose username automatically and remember it 2020-07-31 15:45:04 -05:00
Thomas Weber 0da7146c82 Make the player the default page 2020-07-31 15:35:05 -05:00
Thomas Weber 1ca6ec4609 Disable spellcheck on project id input 2020-07-31 11:36:39 -05:00
dependabot-preview[bot] a0c2a9c759 Merge pull request #6057 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.11.0 2020-07-31 05:30:10 +00:00
dependabot-preview[bot] b3d1655e6d build(deps-dev): bump @babel/preset-env from 7.10.4 to 7.11.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.4 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 05:21:18 +00:00
dependabot-preview[bot] 5e2faebe50 Merge pull request #6056 from LLK/dependabot/npm_and_yarn/babel/core-7.11.0 2020-07-31 04:48:29 +00:00
dependabot-preview[bot] 08a988552c build(deps-dev): bump @babel/core from 7.10.5 to 7.11.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.5 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 04:39:06 +00:00
dependabot-preview[bot] b33ee60b42 Merge pull request #6055 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.11.0 2020-07-31 04:11:25 +00:00
dependabot-preview[bot] b5d4d1e421 build(deps-dev): bump @babel/plugin-proposal-object-rest-spread
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.10.4 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 04:01:38 +00:00
dependabot-preview[bot] 0be3bd7800 Merge pull request #6054 from LLK/dependabot/npm_and_yarn/autoprefixer-9.8.6 2020-07-31 03:54:15 +00:00
dependabot-preview[bot] 73c085303f build(deps-dev): bump autoprefixer from 9.8.5 to 9.8.6
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.5 to 9.8.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.5...9.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 03:45:10 +00:00
Thomas Weber 08f51d87e3 Optimize chunks 2020-07-30 16:30:21 -05:00
dependabot-preview[bot] 7abf4ee8d7 Merge pull request #6048 from LLK/dependabot/npm_and_yarn/webpack-4.44.1 2020-07-30 11:48:19 +00:00
dependabot-preview[bot] fb44840875 build(deps-dev): bump webpack from 4.44.0 to 4.44.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.0 to 4.44.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.0...v4.44.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 11:38:30 +00:00
Thomas Weber 54199dc22c Don't need to load polyfills 2020-07-30 00:22:05 -05:00
Thomas Weber 2514093336 index -> editor 2020-07-30 00:16:59 -05:00
Thomas Weber 76d015208b Improve progress bar
- slightly larger
- use in player
2020-07-29 20:03:28 -05:00
dependabot-preview[bot] 151c6cb3b7 Merge pull request #6047 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200729212812 2020-07-29 23:10:50 +00:00
dependabot-preview[bot] 297f1e7a8f build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200728190940 to 0.2.0-prerelease.20200729212812.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 23:01:14 +00:00
dependabot-preview[bot] 420f72a5e8 Merge pull request #6046 from LLK/dependabot/npm_and_yarn/elliptic-6.5.3 2020-07-29 22:26:31 +00:00
dependabot-preview[bot] 7ac27f8972 build(deps): [security] bump elliptic from 6.5.1 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.1 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.1...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 22:09:25 +00:00
Benjamin Wheeler 0709b09b6a Merge pull request #6045 from benjiwheeler/revert-paint
revert version of scratch-paint to remove outline gradient
2020-07-29 16:56:00 -04:00
Ben Wheeler 351338f506 reverted version of scratch-paint to remove outline gradient 2020-07-29 16:41:34 -04:00
dependabot-preview[bot] 0b6ebef056 Merge pull request #6042 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200729030742 2020-07-29 03:21:32 +00:00
Thomas Weber 6c14145884 Remove default project as it is unused 2020-07-28 22:15:53 -05:00
dependabot-preview[bot] 84ff1edc20 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200722030735 to 3.10.20200729030742.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200722030735...3.10.20200729030742)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 03:12:23 +00:00
Thomas Weber c609a9aced Don't try to make the progress bar if the browser won't support it 2020-07-28 21:41:59 -05:00
Thomas Weber 52c1b1f350 improve progress bar, devtools
devtools is loaded later
2020-07-28 17:30:27 -05:00
dependabot-preview[bot] 02238e00ee Merge pull request #6024 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200723210832 2020-07-28 21:27:58 +00:00
dependabot-preview[bot] 87f3ec990f build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200721190141 to 0.1.0-prerelease.20200723210832.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-28 21:18:29 +00:00
dependabot-preview[bot] 4e60622a09 Merge pull request #6040 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200728205208 2020-07-28 21:15:36 +00:00
dependabot-preview[bot] 5d556f27f4 build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200721201211 to 0.2.0-prerelease.20200728205208.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-28 21:05:47 +00:00
Thomas Weber 2f9b6fdb8d Some more interface fixes and such
Moving things around, getting the dev tools to work better
2020-07-28 15:57:50 -05:00
Thomas Weber 4afb73186a fix overlay z index 2020-07-28 14:58:38 -05:00
Thomas Weber 88435cc1c7 shorten "Privacy Policy" to just "Privacy" 2020-07-28 14:50:52 -05:00
Thomas Weber 1759817e22 Integrate https://github.com/griffpatch/Scratch3-Dev-Tools 2020-07-28 14:42:11 -05:00
Thomas Weber 6a8df154f0 Write a pretty short privacy policy
because of the cloud variable server, some data is logged. So we should mention that somewhere
2020-07-28 01:43:30 -05:00
Thomas Weber 6146778b7f Improve splash screen a bit more 2020-07-28 00:57:00 -05:00
Thomas Weber c879bc64af Display something other than a white page while loading 2020-07-28 00:48:25 -05:00
Thomas Weber 39d3eb77a0 Clicking on the progress bar will hide it 2020-07-28 00:14:49 -05:00
Thomas Weber 86924a9e8b Implement a terrible hacky progress bar 2020-07-28 00:05:34 -05:00
Thomas Weber 92b8ef3316 Cleanup Links menu, move go back home to the (empty) icon 2020-07-27 20:19:53 -05:00
picklesrus 6fa091777e Merge pull request #6038 from picklesrus/fix-circle
Get unittests and integration tests (consistently?) passing on circle again.
2020-07-27 20:11:10 -04:00
Thomas Weber 65f116227b Fix build 2020-07-27 16:19:45 -05:00
Thomas Weber ab05db69bf Some more minor ui changes 2020-07-27 16:11:17 -05:00
Thomas Weber 35cceb2b9f Improve consistency between editor homepage and player homepage, reuse components where possible 2020-07-27 15:59:58 -05:00
Thomas Weber 1b8a703a98 Change some messages to not use "Scratch" 2020-07-27 14:46:47 -05:00
picklesrus 2dd493ee75 really fix newline 2020-07-27 15:12:56 -04:00
picklesrus cc5144e491 remove extra newline 2020-07-27 15:12:16 -04:00
picklesrus e3051382c0 Attempt to fix circle.
- update to node 10
- set maxWorkers on unittests so they don't spawn so many that we run 
out of memory.
- set runInBand on integration tests. There's a weird interaction that 
makes the constumes test or tutorials test fail due to a page crash.
2020-07-27 15:01:08 -04:00
Thomas Weber 11f74cdab0 Some more updates to get this ready 2020-07-27 13:57:39 -05:00
Thomas Weber 5c8fdd9f9e Select the entire input when there is already an ID there, makes pasting easy 2020-07-27 13:46:38 -05:00
Thomas Weber c9425f1726 Move our menu bar items into their own group 2020-07-27 13:33:35 -05:00
Thomas Weber 049ba5c7ce Add a "Links" menu with turbowarp related links 2020-07-27 13:30:01 -05:00
Thomas Weber 807a7218bd Make clicking the icon no-op for now 2020-07-27 13:29:40 -05:00
Thomas Weber 3d6eaf1c4c Let's just integrate the homepage into the editor, why not.
Removes the edit locker, never worked.
2020-07-27 13:02:44 -05:00
Thomas Weber a97d5c3baa Cloud variables by default 2020-07-27 11:37:27 -05:00
Thomas Weber ce096824e1 Improve the player interface 2020-07-27 11:26:26 -05:00
Thomas Weber 314402457c Improve project input a bit 2020-07-27 10:50:26 -05:00
Thomas Weber 0621c54eeb Let's try making the player page a bit nicer 2020-07-27 10:25:25 -05:00
Thomas Weber 15363d8b61 Update <head> 2020-07-26 23:55:05 -05:00
Thomas Weber 48e8f90c61 Update title of the index 2020-07-26 18:03:45 -05:00
Thomas Weber e9e93564f2 Add the while block to the toolbox 2020-07-26 17:44:58 -05:00
Thomas Weber 48b1fcfd39 Write a proper README 2020-07-26 16:33:36 -05:00
Thomas Weber ad5e19f962 remove scratch desktop emulation, query string params 2020-07-26 16:33:08 -05:00
Thomas Weber 34b781bc00 Remove edit locker for now, doesn't help much 2020-07-26 12:51:46 -05:00
Thomas Weber 8b5f2f4df8 Update colors 2020-07-26 12:40:15 -05:00
Thomas Weber b55922fa0f Lock editor when using cloud variables 2020-07-26 01:33:07 -05:00
Thomas Weber 9a21c527f4 Fix some test failures 2020-07-25 23:40:24 -05:00
Thomas Weber 829b3cfa76 Address some eslint issues 2020-07-25 23:22:03 -05:00
Thomas Weber 70ec656558 Remove compatibility testing 2020-07-25 22:45:22 -05:00
Thomas Weber d54068761b Fix placeholder logo in some browsers 2020-07-25 22:18:16 -05:00
Thomas Weber 7f791db20b Set cloudHost to my server 2020-07-25 22:18:05 -05:00
Thomas Weber 7703f88941 Add button to toggle cloud variable support 2020-07-25 22:17:44 -05:00
Thomas Weber c5c4071f42 Prerequisites for cloud variable support 2020-07-25 20:15:14 -05:00
Thomas Weber 27e97c8561 Add button to change username 2020-07-25 19:07:43 -05:00
Thomas Weber d6fb212ff2 Move our state to its own reducer 2020-07-25 18:43:04 -05:00
Thomas Weber ef03c9678c Fix tw-60-fps message ID 2020-07-25 17:33:53 -05:00
Thomas Weber 3ddc8cc8cb Improve the toggle compiler button 2020-07-25 17:29:50 -05:00
Thomas Weber cd97d44015 Add button to enable and disable compiler 2020-07-25 17:17:57 -05:00
Thomas Weber da1a91af6a Add "Compatibility Mode" option 2020-07-25 16:57:45 -05:00
Thomas Weber 3f1f802335 completely disable analytics 2020-07-25 16:35:47 -05:00
Thomas Weber 506f31b113 Never use analytics 2020-07-25 15:05:12 -05:00
Thomas Weber 43f14f9293 Add mp3 to file-loader 2020-07-25 14:11:13 -05:00
Thomas Weber 7c4a84c15d Terser is already the default minimizer 2020-07-25 13:36:12 -05:00
Thomas Weber 200c5acc28 Make the colors red 2020-07-25 13:00:57 -05:00
Thomas Weber 46669936c8 google 2020-07-25 12:54:16 -05:00
dependabot-preview[bot] ea62a89339 Merge pull request #6026 from LLK/dependabot/npm_and_yarn/webpack-4.44.0 2020-07-24 19:49:10 +00:00
dependabot-preview[bot] 1e775def9c build(deps-dev): bump webpack from 4.43.0 to 4.44.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 19:39:20 +00:00
Thomas Weber 7be6efbb14 Remove tutorials, tips, etc. 2020-07-24 01:58:52 -05:00
Thomas Weber 16ff1fef40 Fix terser 2020-07-24 01:57:56 -05:00
Thomas Weber 87ad6b5895 Merge remote-tracking branch 'upstream/develop' into develop 2020-07-23 20:59:06 -05:00
Thomas Weber bc246f2a09 Remove favicon for now 2020-07-23 20:57:00 -05:00
Thomas Weber 588d424a54 Update page titles 2020-07-23 20:56:18 -05:00
Thomas Weber f60fff97fe Use Terser instead of uglify 2020-07-23 20:56:05 -05:00
Thomas Weber 470fdb3cde Disable the backpack 2020-07-23 20:52:27 -05:00
Thomas Weber f01aa2bc39 Disable show coming soon 2020-07-23 20:43:49 -05:00
Thomas Weber e508de3827 Remove anything account related from the menu bar 2020-07-23 20:43:32 -05:00
Thomas Weber a171f4e257 Replace the Scratch logo with an empty placeholder 2020-07-23 20:42:25 -05:00
Noam Yorav-Raphael 22cf3184c1 Make SortableHOC work properly in RTL mode 2020-07-22 19:18:35 +03:00
dependabot-preview[bot] 6ba6986392 Merge pull request #6019 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200722030735 2020-07-22 03:21:47 +00:00
dependabot-preview[bot] bbb3674037 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200720182215 to 3.10.20200722030735.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200720182215...3.10.20200722030735)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-22 03:12:17 +00:00
DD Liu 5e9f6b1e14 Merge pull request #6018 from fsih/updatePaint
Update paint
2020-07-21 16:26:27 -04:00
DD Liu 7862444dfa Update paint 2020-07-21 16:24:58 -04:00
adroitwhiz 9a6bc8fad1 Merge pull request #5513 from adroitwhiz/drag-new-method
Extract dragged sprites' drawables in screen space
2020-07-21 16:08:11 -04:00
DD Liu 46f91f077a Merge pull request #6017 from adroitwhiz/bump-render-1
Bump scratch-render
2020-07-21 16:07:02 -04:00
adroitwhiz 198786ff99 Bump scratch-render 2020-07-21 15:37:05 -04:00
dependabot-preview[bot] fa83e52638 Merge pull request #6016 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200721135911 2020-07-21 16:32:15 +00:00
dependabot-preview[bot] e32e75437d build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200714135908 to 0.1.0-prerelease.20200721135911.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 16:22:59 +00:00
dependabot-preview[bot] 35e52ea67c Merge pull request #6014 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200720182215 2020-07-20 19:28:17 +00:00
dependabot-preview[bot] ccf706c7d7 Merge pull request #6013 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200720182258 2020-07-20 19:26:30 +00:00
dependabot-preview[bot] 02eff02f53 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200715030910 to 3.10.20200720182215.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200715030910...3.10.20200720182215)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 18:35:00 +00:00
dependabot-preview[bot] bc1b527885 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200714185213 to 0.2.0-prerelease.20200720182258.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 18:34:00 +00:00
Thomas Weber 2f88c7ead4 Merge remote-tracking branch 'upstream/develop' into develop 2020-07-18 13:09:42 -05:00
Thomas Weber bfe9be475e Update default project 2020-07-18 13:07:19 -05:00
Thomas Weber 4c5dd5c9a7 Modernize browser targets 2020-07-18 13:07:18 -05:00
dependabot-preview[bot] d755f94663 Merge pull request #6005 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200717024459 2020-07-17 03:00:45 +00:00
dependabot-preview[bot] af490a3b9e build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200714203549 to 0.2.0-prerelease.20200717024459.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 02:49:55 +00:00
dependabot-preview[bot] 3c5942cfe1 Merge pull request #6001 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200716193608 2020-07-16 19:51:06 +00:00
dependabot-preview[bot] 115849551c build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200714205428 to 0.1.0-prerelease.20200716193608.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 19:41:46 +00:00
Zoë Bentley 79e6790259 Fixed error in one Spanish PNG 2020-07-16 11:39:57 -04:00
dependabot-preview[bot] 27f10283f1 Merge pull request #5997 from LLK/dependabot/npm_and_yarn/lodash-4.17.19 2020-07-16 15:19:59 +00:00
dependabot-preview[bot] 4bcddd7378 build(deps): [security] bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 15:10:23 +00:00
Benjamin Wheeler 920f5ac659 Merge pull request #5996 from benjiwheeler/readme-troubleshooting
add troubleshooting section to README
2020-07-16 10:58:52 -04:00
Ben Wheeler 89d91c18ca add troubleshooting section to README 2020-07-16 10:55:14 -04:00
Zoë Bentley cc8e692267 Converted English GIFs to PNGs 2020-07-15 16:46:38 -04:00
dependabot-preview[bot] fe067ea705 Merge pull request #5987 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200715030910 2020-07-15 03:24:36 +00:00
dependabot-preview[bot] ed8ddce504 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200708030815 to 3.10.20200715030910.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200708030815...3.10.20200715030910)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 03:15:03 +00:00
dependabot-preview[bot] c7ac7fbc47 Merge pull request #5985 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200714185213 2020-07-14 21:18:16 +00:00
dependabot-preview[bot] db0b8cbf8b build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200709173451 to 0.2.0-prerelease.20200714185213.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 21:04:50 +00:00
DD Liu 2792ad7950 Merge pull request #5986 from fsih/updatePaintAndRender
Update paint and render
2020-07-14 17:01:43 -04:00
DD Liu e2cbc75842 Update paint and render 2020-07-14 16:59:49 -04:00
dependabot-preview[bot] 2b8aed3b19 Merge pull request #5984 from LLK/dependabot/npm_and_yarn/babel/cli-7.10.5 2020-07-14 20:46:33 +00:00
dependabot-preview[bot] d5677e314b Merge pull request #5983 from LLK/dependabot/npm_and_yarn/babel/core-7.10.5 2020-07-14 20:42:46 +00:00
dependabot-preview[bot] 1f25b1ed48 build(deps-dev): bump @babel/cli from 7.10.4 to 7.10.5
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.4 to 7.10.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 20:37:01 +00:00
dependabot-preview[bot] 2631054729 build(deps-dev): bump @babel/core from 7.10.4 to 7.10.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.4 to 7.10.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 20:32:42 +00:00
Chris Willis-Ford dcc8caa6f4 Merge pull request #5397 from cwillisf/init-ga-only-if-id
initialize Google Analytics only if GA_ID is set
2020-07-14 09:56:41 -07:00
dependabot-preview[bot] 874371d56f Merge pull request #5978 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200709194750 2020-07-14 16:21:12 +00:00
dependabot-preview[bot] 5be54a1e7a build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200622210757 to 0.1.0-prerelease.20200709194750.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 16:11:47 +00:00
dependabot-preview[bot] 0e5bec8f07 Merge pull request #5982 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200714135908 2020-07-14 16:08:53 +00:00
dependabot-preview[bot] 1ffbaf890a build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200709183415 to 0.1.0-prerelease.20200714135908.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 15:59:42 +00:00
Zoë Bentley a67a6326d4 English PNGs 2020-07-13 16:54:21 -04:00
dependabot-preview[bot] 8166488002 Merge pull request #5979 from LLK/dependabot/npm_and_yarn/autoprefixer-9.8.5 2020-07-11 06:03:52 +00:00
dependabot-preview[bot] f0e13aeac7 build(deps-dev): bump autoprefixer from 9.8.2 to 9.8.5
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.2 to 9.8.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.2...9.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-11 05:55:08 +00:00
adroitwhiz 2573b1b759 Document drawDragCanvas 2020-07-10 13:45:40 -04:00
dependabot-preview[bot] 7e7b8ffa60 Merge pull request #5976 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200709183415 2020-07-09 20:50:47 +00:00
dependabot-preview[bot] 2e37ccb646 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200630140237 to 0.1.0-prerelease.20200709183415.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 20:40:54 +00:00
dependabot-preview[bot] 5826fceea7 Merge pull request #5975 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200709173451 2020-07-09 20:30:01 +00:00
dependabot-preview[bot] cf3aa60358 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200625173937 to 0.2.0-prerelease.20200709173451.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 20:20:28 +00:00
Chris Willis-Ford de49bebd1d Merge pull request #5962 from cwillisf/ci-no-progress
disable webpack progress plugin on CI
2020-07-09 08:55:50 -07:00
apple502j ef2fc7c42d Fix backpacking zero-height/width costumes 2020-07-08 23:44:16 +09:00
dependabot-preview[bot] d74a5ca29b Merge pull request #5957 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200630140237 2020-07-08 03:35:58 +00:00
dependabot-preview[bot] cec927053d build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200623135713 to 0.1.0-prerelease.20200630140237.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 03:26:25 +00:00
dependabot-preview[bot] 5eecc06733 Merge pull request #5971 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200708030815 2020-07-08 03:23:39 +00:00
dependabot-preview[bot] 2c5504d909 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200624030914 to 3.10.20200708030815.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200624030914...3.10.20200708030815)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 03:13:16 +00:00
Christopher Willis-Ford 0647270674 disable webpack progress plugin on CI 2020-07-02 11:59:11 -07:00
zoebentley 1d7806198c Merge pull request #5934 from zoebentley/tutorial-reorder-6-2020
Reorder tutorials to their order pre-HOC
2020-06-30 12:05:38 -04:00
dependabot-preview[bot] d4e3fc8f6e Merge pull request #5956 from LLK/dependabot/npm_and_yarn/babel/cli-7.10.4 2020-06-30 14:03:29 +00:00
dependabot-preview[bot] cc07513d28 Merge pull request #5955 from LLK/dependabot/npm_and_yarn/babel/preset-react-7.10.4 2020-06-30 13:55:21 +00:00
dependabot-preview[bot] 8d1c575c57 Merge pull request #5954 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.10.4 2020-06-30 13:54:42 +00:00
dependabot-preview[bot] 3af719db43 Merge pull request #5953 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.10.4 2020-06-30 13:53:26 +00:00
dependabot-preview[bot] 39429710be Merge pull request #5952 from LLK/dependabot/npm_and_yarn/babel/plugin-transform-async-to-generator-7.10.4 2020-06-30 13:44:53 +00:00
dependabot-preview[bot] c0dff9828d Merge pull request #5951 from LLK/dependabot/npm_and_yarn/babel/core-7.10.4 2020-06-30 13:43:49 +00:00
dependabot-preview[bot] 2612b95cbb build(deps-dev): bump @babel/cli from 7.10.3 to 7.10.4
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:39:31 +00:00
dependabot-preview[bot] 2eccd1d000 build(deps-dev): bump @babel/preset-react from 7.10.1 to 7.10.4
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.10.1 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-preset-react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:38:49 +00:00
dependabot-preview[bot] cf6e7a314c build(deps-dev): bump @babel/plugin-proposal-object-rest-spread
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:37:03 +00:00
dependabot-preview[bot] 3c46cfa624 build(deps-dev): bump @babel/preset-env from 7.10.3 to 7.10.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:35:53 +00:00
dependabot-preview[bot] 72f85c30c3 build(deps-dev): bump @babel/plugin-transform-async-to-generator
Bumps [@babel/plugin-transform-async-to-generator](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-async-to-generator) from 7.5.0 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-plugin-transform-async-to-generator)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:35:07 +00:00
dependabot-preview[bot] 3980f5d6fe build(deps-dev): bump @babel/core from 7.10.3 to 7.10.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 13:33:20 +00:00
dependabot-preview[bot] f7b81d288d Merge pull request #5945 from LLK/dependabot/npm_and_yarn/eslint-plugin-import-2.22.0 2020-06-27 07:06:39 +00:00
dependabot-preview[bot] 8cfa4ee0f2 build(deps-dev): bump eslint-plugin-import from 2.21.2 to 2.22.0
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.21.2 to 2.22.0.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.21.2...v2.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 06:56:41 +00:00
dependabot-preview[bot] 950a3c749e Merge pull request #5929 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200623135713 2020-06-27 02:54:14 +00:00
dependabot-preview[bot] 7d796e4def Merge pull request #5924 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200622210757 2020-06-27 02:53:58 +00:00
dependabot-preview[bot] 3ab570d12c build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200622190622 to 0.1.0-prerelease.20200623135713.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 02:38:38 +00:00
dependabot-preview[bot] 7786c30895 build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200617185826 to 0.1.0-prerelease.20200622210757.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 02:38:35 +00:00
dependabot-preview[bot] f4680a3a4e Merge pull request #5931 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200624030914 2020-06-27 02:35:48 +00:00
dependabot-preview[bot] 0fae1d0f68 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200622132359 to 3.10.20200624030914.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200622132359...3.10.20200624030914)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 02:25:20 +00:00
dependabot-preview[bot] 834e26a06c Merge pull request #5944 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200627020736 2020-06-27 02:22:25 +00:00
dependabot-preview[bot] f6a6633336 build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200619164738 to 0.2.0-prerelease.20200627020736.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 02:12:40 +00:00
Eric Rosenbaum 44be3df489 Merge pull request #5927 from ericrosenbaum/prevent-ios-download-crash-timeout
Prevent crash when saving locally on iOS 13 safari
2020-06-26 15:15:54 -04:00
dependabot-preview[bot] 3f0389179c Merge pull request #5939 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200625173937 2020-06-25 21:29:47 +00:00
dependabot-preview[bot] a6a4675cf7 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200622143012 to 0.2.0-prerelease.20200625173937.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 21:19:33 +00:00
Benjamin Wheeler 33364bfc93 Merge pull request #5508 from adroitwhiz/stage-layout-refactor
Refactor stage layout
2020-06-25 14:52:42 -04:00
adroitwhiz 02fa66b09d Fix scrollbars doubling up
I'm disappointed that this CSS ever worked
2020-06-24 20:04:23 -04:00
adroitwhiz 3c65986564 Move sprite highlight box back inside stage border
I'm not sure why I thought the sprite highlight box extended outside the
stage
2020-06-24 19:08:45 -04:00
Zoë Bentley c73da68c3f Reorder tutorials to their order pre-HOC 2020-06-24 10:11:51 -04:00
chrisgarrity 609ff1cc50 Merge pull request #5463 from apple502j/apple-banana
Fix default parameter text loading in English
2020-06-23 16:23:53 -04:00
Eric Rosenbaum e7177b27ef use timeout to prevent file saving crash on iOS 13 safari 2020-06-23 11:45:52 -04:00
apple502j eb7a44991f Merge branch 'develop' into apple-banana 2020-06-23 14:42:14 +09:00
apple502j 7c4b126e9d Use isInitialSetup everywhere 2020-06-23 14:38:36 +09:00
dependabot-preview[bot] c7e347941b Merge pull request #5923 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200622190622 2020-06-22 20:29:04 +00:00
dependabot-preview[bot] 7c268a72ed Merge pull request #5922 from LLK/dependabot/npm_and_yarn/autoprefixer-9.8.2 2020-06-22 20:11:05 +00:00
dependabot-preview[bot] 469ca0568e build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200617163252 to 0.1.0-prerelease.20200622190622.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 20:07:50 +00:00
dependabot-preview[bot] 341e902ff2 Merge pull request #5921 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200622132359 2020-06-22 20:04:53 +00:00
adroitwhiz 4e3dd2bf60 Merge pull request #5740 from adroitwhiz/fix-edge-hsla
Fix sprite tile highlight color on Edge
2020-06-22 15:42:02 -04:00
dependabot-preview[bot] 3fb54957aa build(deps-dev): bump autoprefixer from 9.8.0 to 9.8.2
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.0 to 9.8.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.0...9.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 19:41:58 +00:00
dependabot-preview[bot] b588f25e6f build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200617210158 to 3.10.20200622132359.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200617210158...3.10.20200622132359)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 19:41:14 +00:00
dependabot-preview[bot] 229cf99bcd Merge pull request #5917 from LLK/dependabot/npm_and_yarn/babel/core-7.10.3 2020-06-22 19:20:23 +00:00
dependabot-preview[bot] 5d8713b361 Merge pull request #5916 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.10.3 2020-06-22 19:14:01 +00:00
dependabot-preview[bot] 5ec936b3c0 build(deps-dev): bump @babel/core from 7.10.2 to 7.10.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 19:08:57 +00:00
dependabot-preview[bot] 0f8cd87c87 build(deps-dev): bump @babel/preset-env from 7.10.2 to 7.10.3
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 19:03:16 +00:00
dependabot-preview[bot] f2e6af2fc9 Merge pull request #5915 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.10.3 2020-06-22 18:45:28 +00:00
dependabot-preview[bot] bacfe604ad Merge pull request #5914 from LLK/dependabot/npm_and_yarn/babel/cli-7.10.3 2020-06-22 18:38:12 +00:00
dependabot-preview[bot] daedd135a0 build(deps-dev): bump @babel/plugin-proposal-object-rest-spread
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.10.1 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 18:35:32 +00:00
dependabot-preview[bot] 5dd6daea04 build(deps-dev): bump @babel/cli from 7.10.1 to 7.10.3
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.1 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 18:27:51 +00:00
dependabot-preview[bot] 4aaf9909a1 Merge pull request #5911 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200622143012 2020-06-22 16:51:34 +00:00
dependabot-preview[bot] b78187b03a Merge pull request #5912 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200619164738 2020-06-22 16:51:04 +00:00
dependabot-preview[bot] 4a18d3699f build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200615150428 to 0.2.0-prerelease.20200619164738.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 16:41:29 +00:00
dependabot-preview[bot] f5eb7207be build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200618162938 to 0.2.0-prerelease.20200622143012.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 16:40:51 +00:00
adroitwhiz 99c291781c Replace Stage <div> with React.Fragment
The Stage component will sometimes have a color picker background,
which darkens the entire screen when the color picker loupe is active.
This color picker background element should appear in the same level as
the stage's wrapper, not inside of it. Previously, this was done by
wrapping both the stage's wrapper and color picker background in a div.
Now, they're both wrapped in a React.Fragment to avoid a completely
unnecessary div wrapper.
2020-06-19 14:46:27 -04:00
adroitwhiz 63d67c87fd Change how stage overlays & fullscreen are handled
This makes the layout behavior for stage overlays much more consistent.

Items whose overflow *should* be contained within the stage, like the
monitors and color picker loupe, are now placed within the "stage"
element directly.

Items whose overflow should *not* be contained within the stage, like
the target highlight box and dragged sprite, are now inside a "stage
overlays" container element, which is properly positioned (taking into
account the stage's border width) and sized.

This is made possible by unifying stage layout across both fullscreen &
non-fullscreen modes via moving the fullscreen overlay styles to the
StageWrapper component. Whereas previously, the stage overlays were
positioned *outside* of the stage in fullscreen and had to reposition
themselves correctly, they are now positioned the same in both
fullscreen and regular modes.
2020-06-19 14:41:28 -04:00
adroitwhiz b02595922e Replace hack from #2354 with flexbox solution
The stage + target pane wrapper's width must be constrained to that of
the stage, even when there are lots of sprite tiles. Otherwise, once you
add enough sprites, it'll grow horizontally past the stage size. The old
code set its maximum width explicitly to stop that from happening, but
it can also be done more elegantly with the flex-basis property.
This also has the benefit of taking the stage border width into account.
2020-06-19 14:12:44 -04:00
adroitwhiz 15c74d998b Remove isStarted prop from GreenFlagOverlay
Since #3885, the GreenFlagOverlay has been hidden by the Stage component
instead of having to hide itself if the project has been started. Thus
there's no need for GreenFlagOverlay to know whether the project has
been started.
2020-06-19 14:12:43 -04:00
adroitwhiz 48c3cf6764 Merge pull request #5510 from adroitwhiz/drag-refactor
Call renderer.draw immediately on drag start/stop
2020-06-19 12:37:58 -04:00
dependabot-preview[bot] 4caddcec2c Merge pull request #5906 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200618162938 2020-06-18 18:58:42 +00:00
dependabot-preview[bot] c33b6882c9 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200616200729 to 0.2.0-prerelease.20200618162938.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-18 18:47:35 +00:00
dependabot-preview[bot] 4aa77e5cd9 Merge pull request #5904 from LLK/dependabot/npm_and_yarn/webpack-cli-3.3.12 2020-06-18 13:53:19 +00:00
dependabot-preview[bot] 707240e7cb build(deps-dev): bump webpack-cli from 3.3.9 to 3.3.12
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.9 to 3.3.12.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.9...v3.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-18 13:43:07 +00:00
dependabot-preview[bot] 3f10da2918 Merge pull request #5901 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200617163252 2020-06-17 22:34:03 +00:00
dependabot-preview[bot] b3ffd587a6 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200617153418 to 0.1.0-prerelease.20200617163252.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 22:16:42 +00:00
dependabot-preview[bot] 58ab777269 Merge pull request #5903 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.10.20200617210158 2020-06-17 22:13:53 +00:00
dependabot-preview[bot] 7719a3131c build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.10.20200617135753 to 3.10.20200617210158.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.10.20200617135753...3.10.20200617210158)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 22:02:57 +00:00
dependabot-preview[bot] fbd95135a5 Merge pull request #5902 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200617185826 2020-06-17 22:02:18 +00:00
dependabot-preview[bot] f5cd6ef4d7 build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200615201428 to 0.1.0-prerelease.20200617185826.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 21:52:00 +00:00
chrisgarrity 3f4424ee5f Merge pull request #5899 from chrisgarrity/update-dependencies-mongolian
Update dependencies to add Mongolian
2020-06-17 12:17:00 -04:00
Chris Garrity 42193a64f0 Update dependencies to add Mongolian 2020-06-17 12:01:36 -04:00
dependabot-preview[bot] d800214667 Merge pull request #5895 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200616140139 2020-06-17 04:15:32 +00:00
dependabot-preview[bot] 8f51dae51c build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200615150854 to 0.1.0-prerelease.20200616140139.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 04:04:11 +00:00
dependabot-preview[bot] 8a82741626 Merge pull request #5897 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200616200729 2020-06-17 04:02:46 +00:00
dependabot-preview[bot] 18f59c0015 Merge pull request #5896 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200616200843 2020-06-17 04:01:20 +00:00
dependabot-preview[bot] a49b9ad996 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200611202828 to 0.2.0-prerelease.20200616200729.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 03:51:19 +00:00
dependabot-preview[bot] 41d708f123 build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200615152937 to 3.9.20200616200843.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200615152937...3.9.20200616200843)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 03:51:00 +00:00
adroitwhiz 12d72f1a61 Merge pull request #5826 from adroitwhiz/filter-extension-blocks
Pass current editing target to getBlocksXML
2020-06-16 16:02:29 -04:00
dependabot-preview[bot] 5a714e7c32 Merge pull request #5884 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200611202828 2020-06-16 16:41:35 +00:00
dependabot-preview[bot] 93ece03830 build(deps-dev): bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200602151852 to 0.2.0-prerelease.20200611202828.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 16:31:18 +00:00
dependabot-preview[bot] a555a8c10f Merge pull request #5893 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200615201428 2020-06-16 16:28:21 +00:00
dependabot-preview[bot] 4633f512e6 build(deps-dev): bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200610224308 to 0.1.0-prerelease.20200615201428.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 16:17:43 +00:00
Bryce Taylor c2b9d41343 Merge pull request #5885 from BryceLTaylor/update-localization-test
Update localization test
2020-06-16 09:52:25 -04:00
dependabot-preview[bot] a3cfbcae80 Merge pull request #5890 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200615150428 2020-06-15 16:46:57 +00:00
dependabot-preview[bot] e94ed032e9 build(deps-dev): bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200610221942 to 0.2.0-prerelease.20200615150428.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 16:24:09 +00:00
dependabot-preview[bot] b8d6d52515 Merge pull request #5892 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200615150854 2020-06-15 16:21:01 +00:00
dependabot-preview[bot] 21ac3dd330 build(deps-dev): bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200609135544 to 0.1.0-prerelease.20200615150854.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 16:04:10 +00:00
dependabot-preview[bot] e32fdb8ab2 Merge pull request #5889 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200615152937 2020-06-15 16:01:16 +00:00
dependabot-preview[bot] cb9492570b build(deps-dev): bump scratch-l10n
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200609200912 to 3.9.20200615152937.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200609200912...3.9.20200615152937)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 15:50:28 +00:00
BryceLTaylor 051a04c613 Remove unnecessary steps from flaky localization test that was timing out. 2020-06-12 16:54:03 -04:00
BryceLTaylor c5aa2468ae Update to latest Chromedriver 2020-06-12 16:53:46 -04:00
DD Liu 202238a3d1 Merge pull request #5879 from fsih/updateDeps
Update to revert svg-render change
2020-06-10 18:51:18 -04:00
DD Liu f6c44b85a3 Update to revert svg-render change: https://github.com/LLK/scratch-svg-renderer/issues/148 2020-06-10 18:49:39 -04:00
apple502j 1d2e5e234a Add assets to editingTarget at the time it started uploading 2020-06-11 01:38:35 +09:00
Benjamin Wheeler 560a057e15 Merge pull request #5444 from watilde/fix/audio-context
fix: initialize audio context only with user interaction
2020-06-10 11:40:03 -04:00
dependabot-preview[bot] 9b0edd6590 Merge pull request #5874 from LLK/dependabot/npm_and_yarn/scratch-svg-renderer-0.2.0-prerelease.20200609210443 2020-06-10 14:05:01 +00:00
dependabot-preview[bot] 3ab338167f Merge pull request #5872 from LLK/dependabot/npm_and_yarn/eslint-plugin-import-2.21.2 2020-06-10 14:03:52 +00:00
dependabot-preview[bot] 1d701912c3 Merge pull request #5870 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200609200912 2020-06-10 13:54:39 +00:00
dependabot-preview[bot] 1576e11347 Bump scratch-svg-renderer
Bumps [scratch-svg-renderer](https://github.com/LLK/scratch-svg-renderer) from 0.2.0-prerelease.20200604203226 to 0.2.0-prerelease.20200609210443.
- [Release notes](https://github.com/LLK/scratch-svg-renderer/releases)
- [Commits](https://github.com/LLK/scratch-svg-renderer/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 13:47:51 +00:00
dependabot-preview[bot] 9c07bee5a0 Bump eslint-plugin-import from 2.18.2 to 2.21.2
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.18.2 to 2.21.2.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.18.2...v2.21.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 13:45:51 +00:00
dependabot-preview[bot] de9ef4b0c3 Bump scratch-l10n from 3.9.20200603151351 to 3.9.20200609200912
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200603151351 to 3.9.20200609200912.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200603151351...3.9.20200609200912)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 13:44:09 +00:00
DD Liu bc801cb009 Merge pull request #5869 from fsih/updateDeps
Update render and svg-renderer with changes that Dependabot missed
2020-06-09 16:41:24 -04:00
DD Liu 61dfcc7fcb Update render and svg-renderer with changes that Dependabot missed 2020-06-09 16:12:38 -04:00
dependabot-preview[bot] 80eecb6cb4 Merge pull request #5859 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200604210444 2020-06-09 15:31:16 +00:00
dependabot-preview[bot] e130705823 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200602200702 to 0.1.0-prerelease.20200604210444.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 15:19:12 +00:00
dependabot-preview[bot] 090eadd1a9 Merge pull request #5868 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200609135544 2020-06-09 15:16:23 +00:00
dependabot-preview[bot] 3bb819b0ed Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200528193139 to 0.1.0-prerelease.20200609135544.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 15:05:32 +00:00
chrisgarrity 82571e03f6 Merge pull request #5867 from LLK/update-contributor-guidelines
Update contributor guidelines
2020-06-08 14:54:28 -04:00
chrisgarrity 6410108da7 Update contributor guidelines 2020-06-08 14:53:53 -04:00
dependabot-preview[bot] 81efb99fbe Merge pull request #5862 from LLK/dependabot/npm_and_yarn/websocket-extensions-0.1.4 2020-06-05 20:29:32 +00:00
dependabot-preview[bot] 999d143d0b [Security] Bump websocket-extensions from 0.1.3 to 0.1.4
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. **This update includes a security fix.**
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 20:19:48 +00:00
picklesrus dae95150ab Merge pull request #5861 from picklesrus/ghpages-dependabot
Stop building gh pages branches for dependabot
2020-06-05 15:21:32 -04:00
picklesrus 79d5fff426 Stop builind gh pages branches for dependabot instead of greenkeeper since we switched. 2020-06-05 10:41:25 -04:00
dependabot-preview[bot] aebeb7ba75 Merge pull request #5858 from LLK/dependabot/npm_and_yarn/scratch-svg-renderer-0.2.0-prerelease.20200604203226 2020-06-05 12:58:23 +00:00
dependabot-preview[bot] 874841157a Bump scratch-svg-renderer
Bumps [scratch-svg-renderer](https://github.com/LLK/scratch-svg-renderer) from 0.2.0-prerelease.20200507183648 to 0.2.0-prerelease.20200604203226.
- [Release notes](https://github.com/LLK/scratch-svg-renderer/releases)
- [Commits](https://github.com/LLK/scratch-svg-renderer/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 12:38:41 +00:00
dependabot-preview[bot] 1767dbd7d3 Merge pull request #5857 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200604192759 2020-06-04 21:45:34 +00:00
dependabot-preview[bot] fa0b6e9f71 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200604013720 to 0.2.0-prerelease.20200604192759.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 21:26:01 +00:00
dependabot-preview[bot] 8fb88f25af Merge pull request #5854 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200604013720 2020-06-04 02:05:26 +00:00
dependabot-preview[bot] 073f0e5315 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200603154236 to 0.2.0-prerelease.20200604013720.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 01:48:05 +00:00
DD Liu dcbf575d93 Merge pull request #5851 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200603154236
Bump scratch-paint from 0.2.0-prerelease.20200602154954 to 0.2.0-prerelease.20200603154236
2020-06-03 16:36:56 -04:00
DD Liu d1bedf6e37 Merge branch 'develop' into dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200603154236 2020-06-03 15:51:31 -04:00
dependabot-preview[bot] 64d375ca3f Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200602154954 to 0.2.0-prerelease.20200603154236.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 18:37:20 +00:00
dependabot-preview[bot] 5ef39df14a Merge pull request #5849 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200603151351 2020-06-03 18:35:42 +00:00
dependabot-preview[bot] 16f467041f Bump scratch-l10n from 3.9.20200528181319 to 3.9.20200603151351
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200528181319 to 3.9.20200603151351.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200528181319...3.9.20200603151351)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 18:18:44 +00:00
dependabot-preview[bot] 9ed27cffaa Merge pull request #5846 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200602200702 2020-06-02 22:08:28 +00:00
dependabot-preview[bot] 4d8ecc3e41 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200512203149 to 0.1.0-prerelease.20200602200702.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 21:52:07 +00:00
dependabot-preview[bot] cdf0a9d545 Merge pull request #5845 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200602154954 2020-06-02 20:48:11 +00:00
dependabot-preview[bot] 41e1fc4825 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200602002610 to 0.2.0-prerelease.20200602154954.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 20:29:14 +00:00
dependabot-preview[bot] d87d0c0770 Merge pull request #5842 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200602151852 2020-06-02 16:09:36 +00:00
dependabot-preview[bot] 0474b49f25 Bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200527195112 to 0.2.0-prerelease.20200602151852.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 15:50:34 +00:00
adroitwhiz 5c0e7737d6 Merge pull request #5704 from adroitwhiz/target-highlight-border-box
Remove box-sizing: content-box from sprite highlight box CSS
2020-06-02 11:05:00 -04:00
dependabot-preview[bot] 91d5035592 Merge pull request #5841 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200602002610 2020-06-02 04:19:36 +00:00
dependabot-preview[bot] e7764c5676 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200529184518 to 0.2.0-prerelease.20200602002610.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 04:02:01 +00:00
dependabot-preview[bot] ccb60e399f Merge pull request #5837 from LLK/dependabot/npm_and_yarn/babel/core-7.10.2 2020-05-30 20:49:11 +00:00
dependabot-preview[bot] 130428e4a8 Merge pull request #5836 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.10.2 2020-05-30 20:32:47 +00:00
dependabot-preview[bot] 0fba935ec9 Bump @babel/core from 7.6.4 to 7.10.2
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.6.4 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-30 20:32:03 +00:00
dependabot-preview[bot] 23527096c0 Bump @babel/preset-env from 7.10.0 to 7.10.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.0 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-30 20:16:00 +00:00
dependabot-preview[bot] e34a453f8f Merge pull request #5833 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200529184518 2020-05-29 19:07:15 +00:00
dependabot-preview[bot] 17e6e59d89 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200519194740 to 0.2.0-prerelease.20200529184518.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-29 18:50:14 +00:00
dependabot-preview[bot] 568d642e48 Merge pull request #5829 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200528193139 2020-05-28 20:39:22 +00:00
dependabot-preview[bot] 9532c3dab2 Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200526135421 to 0.1.0-prerelease.20200528193139.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 20:23:15 +00:00
dependabot-preview[bot] 7d88656ec5 Merge pull request #5830 from LLK/dependabot/npm_and_yarn/scratch-audio-0.1.0-prerelease.20200528195344 2020-05-28 20:20:26 +00:00
dependabot-preview[bot] a0abf3ca19 Bump scratch-audio
Bumps [scratch-audio](https://github.com/LLK/scratch-audio) from 0.1.0-prerelease.20190925183642 to 0.1.0-prerelease.20200528195344.
- [Release notes](https://github.com/LLK/scratch-audio/releases)
- [Commits](https://github.com/LLK/scratch-audio/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 20:10:53 +00:00
dependabot-preview[bot] d86db2c66a Merge pull request #5827 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200528181319 2020-05-28 19:04:36 +00:00
dependabot-preview[bot] c342463415 Bump scratch-l10n from 3.9.20200528120215 to 3.9.20200528181319
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200528120215 to 3.9.20200528181319.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200528120215...3.9.20200528181319)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 18:47:23 +00:00
adroitwhiz bcc8f787b1 Pass current editing target to getBlocksXML 2020-05-28 12:22:36 -04:00
dependabot-preview[bot] 6129c6dd46 Merge pull request #5818 from LLK/dependabot/npm_and_yarn/babel/cli-7.10.1 2020-05-28 15:16:50 +00:00
dependabot-preview[bot] 37beb338da Bump @babel/cli from 7.10.0 to 7.10.1
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.10.0 to 7.10.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.1/packages/babel-cli)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 14:59:33 +00:00
dependabot-preview[bot] 7ba07c805e Merge pull request #5825 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200528120215 2020-05-28 14:56:37 +00:00
dependabot-preview[bot] 6c03b8e034 Bump scratch-l10n from 3.9.20200527202656 to 3.9.20200528120215
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200527202656 to 3.9.20200528120215.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/compare/3.9.20200527202656...3.9.20200528120215)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 14:38:53 +00:00
dependabot-preview[bot] 6e6288a2ab Merge pull request #5820 from LLK/dependabot/npm_and_yarn/babel/preset-react-7.10.1 2020-05-27 23:44:03 +00:00
dependabot-preview[bot] a9a4b1b79b Merge pull request #5819 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.10.1 2020-05-27 23:41:45 +00:00
dependabot-preview[bot] 54d7ce2b9b Bump @babel/preset-react from 7.6.3 to 7.10.1
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.6.3 to 7.10.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.1/packages/babel-preset-react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 23:26:20 +00:00
dependabot-preview[bot] c17edd0e05 Bump @babel/plugin-proposal-object-rest-spread from 7.10.0 to 7.10.1
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.10.0 to 7.10.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.1/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 23:24:32 +00:00
dependabot-preview[bot] 4d22bf270b Merge pull request #5817 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200527202656 2020-05-27 20:59:17 +00:00
dependabot-preview[bot] 7206495177 Bump scratch-l10n from 3.9.20200527185330 to 3.9.20200527202656
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200527185330 to 3.9.20200527202656.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits/3.9.20200527202656)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 20:41:39 +00:00
dependabot-preview[bot] 24323842bf Merge pull request #5816 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200527195112 2020-05-27 20:39:28 +00:00
dependabot-preview[bot] 3703fa618e Bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200522203113 to 0.2.0-prerelease.20200527195112.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 20:15:46 +00:00
dependabot-preview[bot] ff2921c605 Merge pull request #5815 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200527185330 2020-05-27 20:08:40 +00:00
dependabot-preview[bot] 35399063f3 Bump scratch-l10n from 3.9.20200526213608 to 3.9.20200527185330
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200526213608 to 3.9.20200527185330.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 19:51:40 +00:00
Benjamin Wheeler d4a77c6f38 Merge pull request #4916 from apple502j/patch-10
Add pointer-events to alert container CSS
2020-05-27 13:55:36 -04:00
dependabot-preview[bot] d4d794e730 Merge pull request #5814 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.10.0 2020-05-26 23:04:19 +00:00
dependabot-preview[bot] 85fa229d94 Bump @babel/preset-env from 7.9.6 to 7.10.0
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.6 to 7.10.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.6...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 22:47:54 +00:00
dependabot-preview[bot] 6164327b45 Merge pull request #5811 from LLK/dependabot/npm_and_yarn/babel/plugin-proposal-object-rest-spread-7.10.0 2020-05-26 22:21:51 +00:00
dependabot-preview[bot] 1a0ee34f0b Merge pull request #5810 from LLK/dependabot/npm_and_yarn/babel/cli-7.10.0 2020-05-26 22:16:46 +00:00
dependabot-preview[bot] 86a1ffde90 Bump @babel/plugin-proposal-object-rest-spread from 7.6.2 to 7.10.0
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel) from 7.6.2 to 7.10.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 22:05:43 +00:00
dependabot-preview[bot] 17088f64b4 Bump @babel/cli from 7.6.4 to 7.10.0
Bumps [@babel/cli](https://github.com/babel/babel) from 7.6.4 to 7.10.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 22:00:54 +00:00
dependabot-preview[bot] e7c2abed13 Merge pull request #5809 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200526213608 2020-05-26 21:58:03 +00:00
dependabot-preview[bot] 719ef3b388 Bump scratch-l10n from 3.9.20200519213537 to 3.9.20200526213608
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200519213537 to 3.9.20200526213608.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 21:40:53 +00:00
dependabot-preview[bot] e4e9ab5e1b Merge pull request #5807 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200526135421 2020-05-26 15:02:08 +00:00
dependabot-preview[bot] 4d92e92709 Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200520151625 to 0.1.0-prerelease.20200526135421.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 14:45:41 +00:00
dependabot-preview[bot] 4b2222fa3e Merge pull request #5804 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200522203113 2020-05-22 20:54:29 +00:00
dependabot-preview[bot] 7dfaebd263 Bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200519202709 to 0.2.0-prerelease.20200522203113.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-22 20:36:43 +00:00
chrisgarrity 884843fb82 Merge pull request #5794 from chrisgarrity/update-scratch-dependencies
Pull the latest scratch-* dependencies
2020-05-20 15:21:11 -04:00
Chris Garrity 432c448e5c Pull the latest scratch-* dependencies 2020-05-20 15:07:57 -04:00
chrisgarrity a1fa132280 Merge pull request #5793 from chrisgarrity/update-node-version
use node 10 for travis builds
2020-05-20 14:56:32 -04:00
Chris Garrity ad1af074fc use node 10 for travis builds
* chromedriver will no longer work on node 8
* paper.js has a problem with node 12
* node 10 is just right ;)
2020-05-20 14:48:39 -04:00
Chris Willis-Ford 952a584d74 Merge pull request #5434 from cwillisf/add-about-menu-button
Add about menu button
2020-05-20 11:15:51 -07:00
adroitwhiz 501caf7793 Merge pull request #5643 from adroitwhiz/fix-stage-costume-drag
Omit componentRef from DropAreaHOC's passed props
2020-05-19 23:54:21 -04:00
Daijiro Wachi c3b32570be fix: follow eslint rule 2020-05-19 22:45:59 +09:00
Daijiro Wachi f9183b954b test: add unit test for shared-audio-context.js 2020-05-19 22:34:42 +09:00
Daijiro Wachi 39ceac4abf fix: initialize audio context only with user interaction 2020-05-19 19:27:16 +09:00
dependabot-preview[bot] cc22bfc636 Merge pull request #5779 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200519001920 2020-05-19 02:46:16 +00:00
dependabot-preview[bot] ed945d392d Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200516002830 to 0.2.0-prerelease.20200519001920.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-19 02:29:17 +00:00
Christopher Willis-Ford 2e1c1b0784 log a message if we skip GA init 2020-05-18 16:02:27 -07:00
Christopher Willis-Ford 18186fb4c1 provide empty window.ga(...) when GA_ID is absent 2020-05-18 16:02:27 -07:00
Christopher Willis-Ford e91713c262 initialize Google Analytics only if GA_ID is set 2020-05-18 16:02:27 -07:00
dependabot-preview[bot] dee7462c57 Merge pull request #5692 from LLK/dependabot/npm_and_yarn/babel/preset-env-7.9.6 2020-05-17 05:57:45 +00:00
dependabot-preview[bot] 87b076c6a1 Bump @babel/preset-env from 7.6.3 to 7.9.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-17 05:41:17 +00:00
dependabot-preview[bot] c966acd987 Merge pull request #5771 from LLK/dependabot/npm_and_yarn/autoprefixer-9.8.0 2020-05-17 05:38:30 +00:00
dependabot-preview[bot] 84d000a277 Bump autoprefixer from 9.6.4 to 9.8.0
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.6.4 to 9.8.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.6.4...9.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-17 05:22:39 +00:00
dependabot-preview[bot] fde5ecf24d Merge pull request #5764 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200516002830 2020-05-16 00:50:06 +00:00
dependabot-preview[bot] 932542e30a Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200515190220 to 0.2.0-prerelease.20200516002830.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-16 00:33:25 +00:00
Chris Willis-Ford 886e2ebb8f Merge pull request #5451 from cwillisf/telemetry-onShowPrivacyPolicy
add hook on telemetry dialog for displaying privacy policy
2020-05-15 16:15:01 -07:00
dependabot-preview[bot] d2f120da7e Merge pull request #5763 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200515190220 2020-05-15 19:34:25 +00:00
dependabot-preview[bot] 45752c2660 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200514182959 to 0.2.0-prerelease.20200515190220.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-15 19:18:13 +00:00
DD Liu 2f7e9967ab Merge pull request #5759 from LLK/greenkeeper/scratch-paint-0.2.0-prerelease.20200514182959
Update scratch-paint to the latest version 🚀
2020-05-14 14:44:33 -04:00
greenkeeper[bot] fe7a943780 chore(package): update lockfile package-lock.json 2020-05-14 18:31:41 +00:00
greenkeeper[bot] 637a09d4e9 chore(package): update scratch-paint to version 0.2.0-prerelease.20200514182959 2020-05-14 18:31:36 +00:00
dependabot-preview[bot] cf52d1ee6c Merge pull request #5757 from LLK/dependabot/npm_and_yarn/handlebars-4.7.6 2020-05-14 13:31:28 +00:00
dependabot-preview[bot] 2eabf2aefd [Security] Bump handlebars from 4.4.3 to 4.7.6
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.4.3 to 4.7.6. **This update includes a security fix.**
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.4.3...v4.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-14 13:15:29 +00:00
dependabot-preview[bot] 832cf69e5d Merge pull request #5754 from LLK/dependabot/npm_and_yarn/eslint-plugin-react-7.20.0 2020-05-13 04:08:36 +00:00
dependabot-preview[bot] c039845b26 Bump eslint-plugin-react from 7.16.0 to 7.20.0
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.16.0 to 7.20.0.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.16.0...v7.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 03:51:55 +00:00
dependabot-preview[bot] f6c586cec6 Merge pull request #5753 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200512220101 2020-05-13 00:47:32 +00:00
dependabot-preview[bot] b36b300fc2 Bump scratch-l10n from 3.9.20200512112117 to 3.9.20200512220101
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.9.20200512112117 to 3.9.20200512220101.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 22:05:37 +00:00
dependabot-preview[bot] 5c0a0c58e5 Merge pull request #5747 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200512203149 2020-05-12 21:52:01 +00:00
dependabot-preview[bot] a64f623c20 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200511203322 to 0.1.0-prerelease.20200512203149.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 21:22:10 +00:00
dependabot-preview[bot] c688210751 Merge pull request #5749 from LLK/dependabot/npm_and_yarn/scratch-vm-0.2.0-prerelease.20200512204241 2020-05-12 21:19:26 +00:00
dependabot-preview[bot] c740407aea Merge pull request #5744 from LLK/dependabot/npm_and_yarn/scratch-paint-0.2.0-prerelease.20200512201624 2020-05-12 21:07:32 +00:00
dependabot-preview[bot] 05afad1f73 Bump scratch-vm
Bumps [scratch-vm](https://github.com/LLK/scratch-vm) from 0.2.0-prerelease.20200402182733 to 0.2.0-prerelease.20200512204241.
- [Release notes](https://github.com/LLK/scratch-vm/releases)
- [Commits](https://github.com/LLK/scratch-vm/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 20:48:21 +00:00
dependabot-preview[bot] c4676cc5a6 Bump scratch-paint
Bumps [scratch-paint](https://github.com/LLK/scratch-paint) from 0.2.0-prerelease.20200507195338 to 0.2.0-prerelease.20200512201624.
- [Release notes](https://github.com/LLK/scratch-paint/releases)
- [Commits](https://github.com/LLK/scratch-paint/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 20:42:03 +00:00
dependabot-preview[bot] f4c09b35e9 Merge pull request #5743 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200512201140 2020-05-12 20:39:19 +00:00
dependabot-preview[bot] 25136598e3 Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200507190920 to 0.1.0-prerelease.20200512201140.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 20:23:47 +00:00
adroitwhiz b73dd7214a Add alpha to $drop-highlight color for Edge
Edge can't parse CSS hsla() values without an alpha component.
2020-05-12 12:53:00 -04:00
dependabot-preview[bot] a7d141a83a Merge pull request #5739 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.9.20200512112117 2020-05-12 13:40:11 +00:00
dependabot-preview[bot] 4366b08f94 Bump scratch-l10n from 3.8.20200505213509 to 3.9.20200512112117
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.8.20200505213509 to 3.9.20200512112117.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 13:21:46 +00:00
Paul Kaplan dd43c53db8 Merge pull request #5164 from paulkaplan/moar-saving-telemetry
Emit projectDidSave for all types of saves, not just file exports
2020-05-12 08:12:37 -04:00
dependabot-preview[bot] 065e5b6d77 Merge pull request #5719 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200507190920 2020-05-12 00:17:55 +00:00
dependabot-preview[bot] 636286b427 Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200421135214 to 0.1.0-prerelease.20200507190920.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 21:42:34 +00:00
dependabot-preview[bot] bcbf4259a0 Merge pull request #5737 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200511203322 2020-05-11 21:39:52 +00:00
dependabot-preview[bot] b6f4de8796 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200508204538 to 0.1.0-prerelease.20200511203322.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 21:13:31 +00:00
dependabot-preview[bot] ce7e4d085f Merge pull request #5733 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200508204538 2020-05-11 21:07:00 +00:00
adroitwhiz 5910c170f1 Merge pull request #5278 from adroitwhiz/fix-stage-white-line
Don't align-items: center in stage-overlay-content
2020-05-11 16:22:58 -04:00
dependabot-preview[bot] cfcba71f94 Merge pull request #5663 from LLK/dependabot/npm_and_yarn/webpack-4.43.0 2020-05-09 16:11:53 +00:00
dependabot-preview[bot] 3131ece71e Bump webpack from 4.41.0 to 4.43.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.0 to 4.43.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.0...v4.43.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-09 15:46:35 +00:00
dependabot-preview[bot] 93525be462 Merge pull request #5730 from LLK/dependabot/npm_and_yarn/webpack-dev-server-3.11.0 2020-05-09 15:44:01 +00:00
dependabot-preview[bot] 9ce52307d2 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200507194753 to 0.1.0-prerelease.20200508204538.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-08 20:50:30 +00:00
Eric Rosenbaum 41f27bd860 Merge pull request #5731 from ericrosenbaum/BYIS-sprites
Add new people sprites
2020-05-08 15:50:43 -04:00
Benjamin Wheeler 6260f9c093 Merge pull request #5101 from LLK/file-download-safari
Allow some kind of downloading to work on iOS Safari
2020-05-08 15:01:56 -04:00
Eric Rosenbaum fbff6843f4 update sprite artwork 2020-05-08 14:07:59 -04:00
dependabot-preview[bot] 80662eb585 Bump webpack-dev-server from 3.8.2 to 3.11.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.2 to 3.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.2...v3.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-08 16:25:31 +00:00
DD Liu dd90ec866c Merge pull request #5722 from LLK/greenkeeper/scratch-render-0.1.0-prerelease.20200507194753
Update scratch-render to the latest version 🚀
2020-05-07 17:30:43 -04:00
DD Liu 893ab2c406 Merge branch 'develop' into greenkeeper/scratch-render-0.1.0-prerelease.20200507194753 2020-05-07 17:30:35 -04:00
DD Liu d25afb7c0e Merge pull request #5723 from LLK/greenkeeper/scratch-paint-0.2.0-prerelease.20200507195338
Update scratch-paint to the latest version 🚀
2020-05-07 17:29:11 -04:00
greenkeeper[bot] 86a05f55f3 chore(package): update lockfile package-lock.json 2020-05-07 19:56:06 +00:00
greenkeeper[bot] 27c352196d chore(package): update scratch-paint to version 0.2.0-prerelease.20200507195338 2020-05-07 19:56:02 +00:00
greenkeeper[bot] 8e9a17b4e7 chore(package): update lockfile package-lock.json 2020-05-07 19:54:25 +00:00
greenkeeper[bot] 3e2686cd67 chore(package): update scratch-render to version 0.1.0-prerelease.20200507194753 2020-05-07 19:54:21 +00:00
DD Liu a8595edf8f Merge pull request #5718 from LLK/greenkeeper/scratch-svg-renderer-0.2.0-prerelease.20200507183648
Update scratch-svg-renderer to the latest version 🚀
2020-05-07 15:46:05 -04:00
Eric Rosenbaum 1c2530ae09 add sprites and costumes 2020-05-07 15:16:40 -04:00
greenkeeper[bot] 527cc0b0fb chore(package): update lockfile package-lock.json 2020-05-07 19:14:09 +00:00
greenkeeper[bot] 78143a1b35 chore(package): update scratch-svg-renderer to version 0.2.0-prerelease.20200507183648 2020-05-07 19:14:05 +00:00
DD Liu 180192ae15 Merge pull request #5713 from LLK/greenkeeper/scratch-paint-0.2.0-prerelease.20200506211808
Update scratch-paint to the latest version 🚀
2020-05-06 18:55:51 -04:00
greenkeeper[bot] e74bba9257 chore(package): update lockfile package-lock.json 2020-05-06 21:44:39 +00:00
greenkeeper[bot] 55b3584799 chore(package): update scratch-paint to version 0.2.0-prerelease.20200506211808 2020-05-06 21:44:35 +00:00
DD Liu 773a2e8672 Merge pull request #5712 from LLK/greenkeeper/scratch-render-0.1.0-prerelease.20200506204308
Update scratch-render to the latest version 🚀
2020-05-06 17:11:24 -04:00
greenkeeper[bot] 083bb169d4 chore(package): update lockfile package-lock.json 2020-05-06 21:07:14 +00:00
greenkeeper[bot] eb180f6f03 chore(package): update scratch-render to version 0.1.0-prerelease.20200506204308 2020-05-06 21:07:10 +00:00
Karishma Chadha 98fff1e044 Merge pull request #5708 from LLK/greenkeeper/scratch-l10n-3.8.20200505213509
Update scratch-l10n to the latest version 🚀
2020-05-06 17:01:10 -04:00
Chris Willis-Ford 45de3567db Merge pull request #5709 from LLK/dependabot/npm_and_yarn/scratch-storage-1.3.3
Bump scratch-storage from 1.3.2 to 1.3.3
2020-05-06 12:11:07 -07:00
dependabot-preview[bot] 6320ae3a99 Bump scratch-storage from 1.3.2 to 1.3.3
Bumps [scratch-storage](https://github.com/LLK/scratch-storage) from 1.3.2 to 1.3.3.
- [Release notes](https://github.com/LLK/scratch-storage/releases)
- [Commits](https://github.com/LLK/scratch-storage/compare/v1.3.2...v1.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-06 18:53:25 +00:00
greenkeeper[bot] 24957f3de4 chore(package): update lockfile package-lock.json 2020-05-05 22:12:32 +00:00
greenkeeper[bot] 22bd7219d7 chore(package): update scratch-l10n to version 3.8.20200505213509 2020-05-05 22:12:28 +00:00
adroitwhiz aeb8238ecb Omit componentRef from DropAreaHOC's passed props 2020-05-05 17:50:16 -04:00
adroitwhiz bab0e4fd5c Merge pull request #5516 from adroitwhiz/clickblockscategory
Add clickBlocksCategory integration test helper function
2020-05-05 15:18:00 -04:00
adroitwhiz 266350153e Remove box-sizing: content-box on sprite highlight 2020-05-05 08:34:49 -04:00
DD Liu f425b27cf6 Merge pull request #5696 from fsih/updatePaint
Update paint
2020-04-30 12:00:51 -04:00
DD Liu 95ef21d3ad Update paint 2020-04-30 11:59:51 -04:00
DD Liu 9aba9ec3fb Merge pull request #5695 from fsih/updatePaint
Update paint
2020-04-29 18:52:56 -04:00
DD Liu 3e4cf00eca Update paint 2020-04-29 18:37:36 -04:00
DD Liu a8c5083aa3 Merge pull request #5684 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200427175234
Bump scratch-render from 0.1.0-prerelease.20200424190354 to 0.1.0-prerelease.20200427175234
2020-04-29 18:34:22 -04:00
DD Liu a1e72203c8 Merge pull request #5689 from LLK/dependabot/npm_and_yarn/scratch-l10n-3.8.20200428213506
Bump scratch-l10n from 3.8.20200421213407 to 3.8.20200428213506
2020-04-29 18:33:44 -04:00
dependabot-preview[bot] cc8f39e590 Bump scratch-l10n from 3.8.20200421213407 to 3.8.20200428213506
Bumps [scratch-l10n](https://github.com/LLK/scratch-l10n) from 3.8.20200421213407 to 3.8.20200428213506.
- [Release notes](https://github.com/LLK/scratch-l10n/releases)
- [Commits](https://github.com/LLK/scratch-l10n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 21:39:44 +00:00
dependabot-preview[bot] 6f7962abd4 Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200424190354 to 0.1.0-prerelease.20200427175234.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 20:20:47 +00:00
DD Liu dcf92b2455 Merge pull request #5677 from LLK/dependabot/npm_and_yarn/scratch-render-0.1.0-prerelease.20200424190354
Bump scratch-render from 0.1.0-prerelease.20200422235043 to 0.1.0-prerelease.20200424190354
2020-04-24 22:20:02 -04:00
dependabot-preview[bot] 7a1db103ba Bump scratch-render
Bumps [scratch-render](https://github.com/LLK/scratch-render) from 0.1.0-prerelease.20200422235043 to 0.1.0-prerelease.20200424190354.
- [Release notes](https://github.com/LLK/scratch-render/releases)
- [Commits](https://github.com/LLK/scratch-render/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 19:08:47 +00:00
Benjamin Wheeler 394f2c8c16 Merge pull request #5669 from LLK/dependabot/npm_and_yarn/scratch-blocks-0.1.0-prerelease.20200421135214
Bump scratch-blocks from 0.1.0-prerelease.20200416142646 to 0.1.0-prerelease.20200421135214
2020-04-22 20:16:09 -04:00
dependabot-preview[bot] bbd95f4672 Bump scratch-blocks
Bumps [scratch-blocks](https://github.com/LLK/scratch-blocks) from 0.1.0-prerelease.20200416142646 to 0.1.0-prerelease.20200421135214.
- [Release notes](https://github.com/LLK/scratch-blocks/releases)
- [Commits](https://github.com/LLK/scratch-blocks/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 23:58:11 +00:00
DD Liu 5378c57537 Merge pull request #5671 from fsih/updateRender
Update render
2020-04-22 19:55:35 -04:00
DD Liu a93e9df129 Update render 2020-04-22 19:54:55 -04:00
Benjamin Wheeler 221978b24e Merge pull request #5668 from LLK/greenkeeper/scratch-l10n-3.8.20200421213407
Update scratch-l10n to the latest version 🚀
2020-04-22 18:42:02 -04:00
greenkeeper[bot] 333e95c898 chore(package): update lockfile package-lock.json 2020-04-22 03:50:41 +00:00
greenkeeper[bot] 953702e238 chore(package): update scratch-l10n to version 3.8.20200421213407 2020-04-22 03:50:36 +00:00
picklesrus fb3b1ced7c Merge pull request #5655 from LLK/greenkeeper/scratch-blocks-0.1.0-prerelease.20200416142646
Update scratch-blocks to the latest version 🚀
2020-04-16 13:16:04 -04:00
greenkeeper[bot] 17ae4ea197 chore(package): update lockfile package-lock.json 2020-04-16 14:31:24 +00:00
greenkeeper[bot] 16d15bd4f1 chore(package): update scratch-blocks to version 0.1.0-prerelease.20200416142646 2020-04-16 14:31:20 +00:00
picklesrus a6b5c237cc Merge pull request #5645 from LLK/greenkeeper/scratch-l10n-3.8.20200414213430
Update scratch-l10n to the latest version 🚀
2020-04-15 15:54:08 -04:00
greenkeeper[bot] 10d014a7ff chore(package): update lockfile package-lock.json 2020-04-14 21:38:03 +00:00
greenkeeper[bot] e0019c93fc chore(package): update scratch-l10n to version 3.8.20200414213430 2020-04-14 21:37:58 +00:00
adroitwhiz 00e8b3cdb2 Add clickBlocksCategory helper 2020-04-14 10:02:31 -04:00
DD Liu f7853a9354 Merge pull request #5571 from fsih/updateRender
update render to revert pen change
2020-04-09 13:49:58 -04:00
DD Liu d972629c29 update render to revert pen change 2020-04-09 13:49:16 -04:00
chrisgarrity 9d27a1af23 Merge pull request #5570 from chrisgarrity/update-blocks-0408
Update scratch-blocks to the latest version
2020-04-08 15:32:49 -04:00
Chris Garrity 98ebd453d7 Update scratch-blocks to the latest version
scratch-blocks 0.1.0-prerelease.1586372076 updated translations
2020-04-08 15:30:38 -04:00
chrisgarrity 63b5a9a059 Merge pull request #5569 from LLK/greenkeeper/scratch-l10n-3.8.20200407213553
Greenkeeper/scratch l10n 3.8.20200407213553
2020-04-08 07:36:11 -04:00
greenkeeper[bot] 8ea62f5ea5 chore(package): update lockfile package-lock.json 2020-04-08 03:24:55 +00:00
greenkeeper[bot] bc2152641b chore(package): update scratch-l10n to version 3.8.20200407213553
Closes #5568
2020-04-08 03:24:50 +00:00
DD Liu 9883e0efb6 Merge pull request #5560 from fsih/updateStuff
Update render and vm with contributor prs
2020-04-02 20:02:38 -04:00
DD Liu 5a614a1041 Update render and vm with contributor prs 2020-04-02 16:24:36 -04:00
chrisgarrity ebf369e293 Merge pull request #5541 from LLK/greenkeeper/scratch-blocks-0.1.0-prerelease.1585138708
Greenkeeper/scratch blocks 0.1.0 prerelease.1585138708
2020-03-25 14:48:41 -04:00
chrisgarrity b6a63a55ad Merge branch 'develop' into greenkeeper/scratch-blocks-0.1.0-prerelease.1585138708 2020-03-25 13:06:53 -04:00
chrisgarrity 78fe4c921c Merge pull request #5540 from LLK/greenkeeper/scratch-l10n-3.8.20200325112845
Greenkeeper/scratch l10n 3.8.20200325112845
2020-03-25 12:51:38 -04:00
greenkeeper[bot] 953a42d35e chore(package): update lockfile package-lock.json 2020-03-25 12:30:49 +00:00
greenkeeper[bot] 584bfeee5e chore(package): update scratch-blocks to version 0.1.0-prerelease.1585138708
Closes #5535
2020-03-25 12:30:45 +00:00
greenkeeper[bot] f7d5c1898e chore(package): update lockfile package-lock.json 2020-03-25 11:38:32 +00:00
greenkeeper[bot] 77c5bc7254 chore(package): update scratch-l10n to version 3.8.20200325112845
Closes #5538
2020-03-25 11:38:27 +00:00
DD Liu a150efc743 Merge pull request #5526 from fsih/updateVm
Update vm
2020-03-19 14:19:18 -04:00
DD Liu 8b53d1ed57 Update vm 2020-03-19 14:12:58 -04:00
DD Liu 8e4c76f74f Merge pull request #5520 from LLK/greenkeeper/scratch-l10n-3.7.20200317213230
Update scratch-l10n to the latest version 🚀
2020-03-18 13:05:24 -04:00
DD Liu 9053277889 Merge branch 'develop' into greenkeeper/scratch-l10n-3.7.20200317213230 2020-03-18 13:05:16 -04:00
DD Liu 6baf5c0e48 Merge pull request #5518 from LLK/greenkeeper/scratch-blocks-0.1.0-prerelease.1584453125
Update scratch-blocks to the latest version 🚀
2020-03-18 13:04:16 -04:00
DD Liu 98c4e4df65 Merge pull request #5521 from LLK/greenkeeper/scratch-vm-0.2.0-prerelease.20200318165714
Update scratch-vm to the latest version 🚀
2020-03-18 13:02:31 -04:00
greenkeeper[bot] 08160e588a chore(package): update lockfile package-lock.json 2020-03-18 17:00:00 +00:00
greenkeeper[bot] fc998b9779 chore(package): update scratch-vm to version 0.2.0-prerelease.20200318165714 2020-03-18 16:59:56 +00:00
Benjamin Wheeler d0eb28f11c Merge pull request #5362 from benjiwheeler/project-state-tests
refactor onLoadedProject() creator to handle success==false consistently; add tests of project state action creators
2020-03-18 12:04:53 -04:00
greenkeeper[bot] 4f7fd39f5e chore(package): update lockfile package-lock.json 2020-03-17 21:34:44 +00:00
greenkeeper[bot] 3aed7007e8 chore(package): update scratch-l10n to version 3.7.20200317213230 2020-03-17 21:34:39 +00:00
DD Liu 731f3bbf5d Merge pull request #5519 from LLK/greenkeeper/scratch-vm-0.2.0-prerelease.20200317155559
Update scratch-vm to the latest version 🚀
2020-03-17 16:08:27 -04:00
greenkeeper[bot] 715e46fe1c chore(package): update lockfile package-lock.json 2020-03-17 16:18:25 +00:00
greenkeeper[bot] cc68eef196 chore(package): update scratch-vm to version 0.2.0-prerelease.20200317155559 2020-03-17 16:18:22 +00:00
greenkeeper[bot] 550e236f48 chore(package): update lockfile package-lock.json 2020-03-17 14:10:47 +00:00
greenkeeper[bot] 40415e2359 chore(package): update scratch-blocks to version 0.1.0-prerelease.1584453125 2020-03-17 14:10:43 +00:00
adroitwhiz e66e528219 Extract dragged sprites' drawables in screen space 2020-03-12 18:56:29 -04:00
adroitwhiz 10a27aae45 Call renderer.draw immediately on drag start/stop 2020-03-12 11:53:39 -04:00
BrightLin aceeeba9ec Merge branch 'develop' of https://github.com/LLK/scratch-gui into develop 2020-03-12 14:46:29 +08:00
picklesrus d20b68c939 Merge pull request #5504 from picklesrus/update-scratch-blocks
Updates scratch-blocks manually
2020-03-11 15:50:55 -04:00
picklesrus 6af3fda54a Updates scratch-blocks manually because https://github.com/LLK/scratch-gui/pull/5501 had package-lock conflicts with the l10n PR 2020-03-11 15:46:32 -04:00
picklesrus 43191504ff Merge pull request #5503 from LLK/greenkeeper/scratch-l10n-3.7.20200310213125
Update scratch-l10n to the latest version 🚀
2020-03-11 15:31:09 -04:00
greenkeeper[bot] 3008feb1de chore(package): update lockfile package-lock.json 2020-03-10 21:33:39 +00:00
greenkeeper[bot] 78c2aea407 chore(package): update scratch-l10n to version 3.7.20200310213125 2020-03-10 21:33:36 +00:00
DD Liu b41b1c11bb Merge pull request #5502 from LLK/greenkeeper/scratch-vm-0.2.0-prerelease.20200310202129
Update scratch-vm to the latest version 🚀
2020-03-10 16:59:00 -04:00
greenkeeper[bot] 8e82c2d1e3 chore(package): update lockfile package-lock.json 2020-03-10 20:29:16 +00:00
greenkeeper[bot] a75e2b0ecf chore(package): update scratch-vm to version 0.2.0-prerelease.20200310202129 2020-03-10 20:29:12 +00:00
Benjamin Wheeler a731370478 Merge pull request #5491 from benjiwheeler/unflakify-blocks-tests
unflakify four blocks integration tests
2020-03-05 22:26:24 -05:00
Ray Schamp f3ced9c9ea Merge pull request #5492 from rschamp/bump-dependencies
Bump scratch-blocks and scratch-l10n versions for release
2020-03-04 16:54:56 -05:00
rschamp dee0320164 Bump scratch-blocks and scratch-l10n 2020-03-04 16:53:51 -05:00
Ray Schamp 942b8d6e6a Merge pull request #5487 from LLK/greenkeeper/initial
Update dependencies to enable Greenkeeper 🌴
2020-03-04 16:48:24 -05:00
rschamp c296732753 Revert "chore(package): update lockfile package-lock.json"
This reverts commit 63bdc80388.
2020-03-04 16:44:20 -05:00
rschamp 212ffb42d3 Revert "chore(package): update dependencies"
This reverts commit a27ddaf4ad.
2020-03-04 16:44:20 -05:00
Ben Wheeler af0088df88 add findByXpath to wait for updated or new items to appear 2020-03-02 13:01:45 -05:00
greenkeeper[bot] 63bdc80388 chore(package): update lockfile package-lock.json 2020-02-28 19:25:19 +00:00
greenkeeper[bot] a27ddaf4ad chore(package): update dependencies 2020-02-28 19:25:15 +00:00
DD Liu 5ee641e70f Merge pull request #5484 from fsih/updateRender
Update render to roll back pen line drawing change
2020-02-28 13:01:11 -05:00
DD Liu e9d16dcd2a Update render to roll back pen line drawing change 2020-02-28 13:00:20 -05:00
apple502j f034dec5d0 Fix test 2020-02-28 23:00:06 +09:00
apple502j c757d02e7b Ignore sound editor keyboard shortcut on fullscreen stage 2020-02-28 14:08:17 +09:00
DD Liu d156a3d995 Merge pull request #5479 from LLK/updateVm022720
Update vm
2020-02-27 16:58:35 -05:00
DD Liu 1019726bcf Update vm 2020-02-27 16:27:21 -05:00
DD Liu 3fbb7fe8d4 Merge pull request #5478 from fsih/updateRender
Update render
2020-02-27 16:06:06 -05:00
DD Liu 124a6496f5 Update render 2020-02-27 16:05:10 -05:00
Ben Wheeler 2e11787ac5 test resulting projectId; add comments; fix params 2020-02-26 17:05:22 -05:00
chrisgarrity 53bdab3425 Merge pull request #5476 from chrisgarrity/l10n-update-02-25
Update to latest l10n for translations
2020-02-26 16:06:43 -05:00
Chris Garrity 058fd000fa Update to latest l10n for translations 2020-02-26 15:53:25 -05:00
Eric Rosenbaum dc727f1b57 Merge pull request #5469 from ericrosenbaum/bugfix/revert-backdrops
Use 2.0 versions of some svg backdrops
2020-02-20 14:34:04 -05:00
Eric Rosenbaum bab503addb use 2.0 versions of some svg backdrops 2020-02-20 14:21:09 -05:00
Eric Rosenbaum 662726fa52 Merge pull request #5464 from LLK/greenkeeper/scratch-blocks-0.1.0-prerelease.1582033791
Update scratch-blocks to the latest version 🚀
2020-02-19 16:39:27 -05:00
Eric Rosenbaum a0b4aea8a1 Merge branch 'develop' into greenkeeper/scratch-blocks-0.1.0-prerelease.1582033791 2020-02-19 16:39:15 -05:00
Eric Rosenbaum b180dd4c0d Merge pull request #5465 from LLK/greenkeeper/scratch-l10n-3.7.20200218213016
Update scratch-l10n to the latest version 🚀
2020-02-19 16:10:09 -05:00
greenkeeper[bot] 02cdbf68cd chore(package): update lockfile package-lock.json 2020-02-18 22:28:15 +00:00
greenkeeper[bot] f1f1f54ec6 chore(package): update scratch-l10n to version 3.7.20200218213016 2020-02-18 22:28:10 +00:00
greenkeeper[bot] 256bb87858 chore(package): update lockfile package-lock.json 2020-02-18 13:52:38 +00:00
greenkeeper[bot] bdbf99f606 chore(package): update scratch-blocks to version 0.1.0-prerelease.1582033791 2020-02-18 13:52:34 +00:00
apple502j ac0467db64 Fix default parameter text loading in English 2020-02-17 22:33:09 +09:00
Eric Rosenbaum 8e3603aa8b Merge pull request #5395 from ericrosenbaum/feature/full-library-update
Asset library update
2020-02-14 14:02:42 -05:00
Eric Rosenbaum a5baf0cf5f Remove omega symbols from letter names 2020-02-13 15:50:00 -05:00
Ray Schamp 7912e4306c Merge pull request #5459 from LLK/ci-skip-gh-pages
Ignore commits on the gh-pages branch for CI
2020-02-13 15:33:52 -05:00
Ray Schamp 5fa8beb230 Ignore commits on the gh-pages branch for CI
Commits to gh-pages "fail" on CircleCI since there's no config on the branch. Skip these commits using a tag I can't write here because I do want CI to run on this commit :)
2020-02-13 13:14:34 -05:00
Eric Rosenbaum 73fad0b7f5 Use title case for all sprite names 2020-02-12 14:34:51 -05:00
Eric Rosenbaum 147a4ed586 fix sprite position randomizer 2020-02-12 14:26:46 -05:00
Eric Rosenbaum b1a3c4b446 update libraries with more 3.0 style properties 2020-02-12 14:23:25 -05:00
Christopher Willis-Ford 89a748dd2b add hook on telemetry dialog for displaying privacy policy 2020-02-11 10:11:23 -08:00
Christopher Willis-Ford 8c6b52f43c mock editor-msgs.js to fix Jest/Babel error 2020-02-10 15:09:35 -08:00
Christopher Willis-Ford 2ebcd850d6 add unit tests for About button on menu bar 2020-02-10 13:49:54 -08:00
Christopher Willis-Ford 9d307f0e08 show clickable 'About' button if handler is present 2020-02-10 13:49:54 -08:00
Christopher Willis-Ford fde7349b2b optimize About icon SVG 2020-02-10 13:49:54 -08:00
Christopher Willis-Ford 8690b696a5 add 'About' icon from @carljbowman 2020-02-05 15:59:34 -08:00
Eric Rosenbaum a7021e32a4 Default to first costume using sb3 property currentCostume
and remove the sb2 property currentCostumeIndex
2020-02-05 10:10:46 -05:00
Eric Rosenbaum 863276e75d Ballerina costume fixes 2020-02-05 09:44:12 -05:00
Eric Rosenbaum ca38789e3f Fix asset names and tags, remove duplicates 2020-01-30 12:34:15 -05:00
Ben Wheeler 3a8fe3f1b2 reorganized switch and conditionals to be clearer; clarified test names 2020-01-27 16:25:26 -05:00
Eric Rosenbaum 5c259b70db add tag to marian sprite, fix name of basketball 1 backdrop 2020-01-23 11:46:06 -05:00
Eric Rosenbaum 3dd86c28f9 update costume rotation test 2020-01-23 11:42:59 -05:00
Eric Rosenbaum 85cd56307d update asset libraries 2020-01-22 15:17:04 -05:00
BrightLin 14bce895f8 fix(blocks.js): fix #2014 #4209 FieldDropdown will change translation when drag the "sensing_of" block 2020-01-21 18:23:08 +08:00
Ben Wheeler a4e27112ab fixed typo 2020-01-06 15:11:18 -05:00
Ben Wheeler 50265fe843 added tests for project loading states 2020-01-06 15:10:51 -05:00
Ben Wheeler 461877b733 project state loading should error if can’t load default 2020-01-06 15:10:27 -05:00
adroitwhiz 9dcaa0985f Don't align-items: center in stage-overlay-content 2019-11-01 14:33:28 -04:00
Paul Kaplan 2429f63e02 Emit projectDidSave for server saves, not just file exports 2019-09-12 12:12:01 -04:00
Paul Kaplan 28cda95346 Allow some kind of downloading to work on Safari 2019-08-15 14:10:42 -04:00
adroitwhiz d1cf79ec20 add unit test for .bmp uploads 2019-07-08 18:06:38 -04:00
adroitwhiz 146500f965 undo webpack change 2019-07-08 17:52:10 -04:00
adroitwhiz 3c36c3c701 set bmp canvas dimensions properly 2019-07-08 17:49:15 -04:00
adroitwhiz baf369cb6b Support uploading of .bmp files 2019-07-08 17:42:31 -04:00
adroitwhiz 09d236ec41 Revert "Don't resolve symlinks" from #2012 2019-07-08 11:30:52 -04:00
apple502j 42375da2e1 Add pointer-events:all to alert 2019-06-12 22:11:56 +09:00
apple502j 79fa9bef65 Add pointer-events to alert container CSS 2019-06-12 13:58:43 +09:00
1669 changed files with 43273 additions and 32460 deletions

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@
"messagesDir": "./translations/messages/"
}]],
"presets": [
["@babel/preset-env", {"targets": {"browsers": ["last 3 versions", "Safari >= 8", "iOS >= 8"]}}],
["@babel/preset-env"],
"@babel/preset-react"
]
}
+6 -3
View File
@@ -1,3 +1,6 @@
last 3 versions
Safari >= 8
iOS >= 8
chrome >= 70
chromeandroid >= 70
ios >= 12
safari >= 12
edge >= 18
firefox >= 68
+62 -36
View File
@@ -4,43 +4,43 @@ aliases:
save_cache:
paths:
- .git
key: v1-git-{{ .Revision }}
key: v2-git-{{ .Revision }}
- &restore_git_cache
restore_cache:
keys:
- v1-git-{{ .Revision }}
- v1-git-
- v2-git-{{ .Revision }}
- v2-git-
- &save_build_cache
save_cache:
paths:
- build
key: v1-build-{{ .Revision }}
key: v2-build-{{ .Revision }}
- &restore_build_cache
restore_cache:
keys:
- v1-build-{{ .Revision }}
- v2-build-{{ .Revision }}
- &save_dist_cache
save_cache:
paths:
- dist
key: v1-dist-{{ .Revision }}
key: v2-dist-{{ .Revision }}
- &restore_dist_cache
restore_cache:
keys:
- v1-dist-{{ .Revision }}
- v2-dist-{{ .Revision }}
- &save_npm_cache
save_cache:
paths:
- node_modules
key: v1-npm-{{ checksum "package-lock.json" }}
key: v2-npm-{{ checksum "package-lock.json" }}
- &restore_npm_cache
restore_cache:
keys:
- v1-npm-{{ checksum "package-lock.json" }}
- v1-npm-
- v2-npm-{{ checksum "package-lock.json" }}
- v2-npm-
- &defaults
docker:
- image: circleci/node:8.16-browsers
- image: circleci/node:10-browsers
working_directory: ~/repo
jobs:
@@ -76,7 +76,7 @@ jobs:
name: Unit
environment:
JEST_JUNIT_OUTPUT_DIR: test-results/unit
command: npm run test:unit -- --reporters="default" --reporters="jest-junit" --coverage --coverageReporters=text --coverageReporters=lcov
command: npm run test:unit -- --reporters="default" --reporters="jest-junit" --coverage --coverageReporters=text --coverageReporters=lcov --maxWorkers="2"
- store_artifacts:
path: coverage
- store_test_results:
@@ -123,7 +123,7 @@ jobs:
JEST_JUNIT_OUTPUT_DIR: test-results/integration
command: |
export TESTFILES=$(circleci tests glob "test/integration/*.test.js" | circleci tests split --split-by=timings)
$(npm bin)/jest ${TESTFILES} --reporters="default" --reporters="jest-junit"
$(npm bin)/jest ${TESTFILES} --reporters="default" --reporters="jest-junit" --runInBand
- store_test_results:
path: test-results
@@ -137,12 +137,12 @@ jobs:
- checkout
- run: |
echo export RELEASE_VERSION="0.1.0-prerelease.$(date +'%Y%m%d%H%M%S')" >> $BASH_ENV
echo export NPM_TAG=circlelatest >> $BASH_ENV
echo export NPM_TAG=latest >> $BASH_ENV
if [ "$CIRCLE_BRANCH" == "master" ]
then echo export NPM_TAG=circlestable >> $BASH_ENV
then echo export NPM_TAG=stable >> $BASH_ENV
fi
if [[ "$CIRCLE_BRANCH" == hotfix/* ]] # double brackets are important for matching the wildcard
then echo export NPM_TAG=circlehotfix >> $BASH_ENV
then echo export NPM_TAG=hotfix >> $BASH_ENV
fi
- run: npm version --no-git-tag-version $RELEASE_VERSION
- run: |
@@ -162,9 +162,31 @@ jobs:
git config --global user.email $(git log --pretty=format:"%ae" -n1)
git config --global user.name $(git log --pretty=format:"%an" -n1)
- run: npm run deploy -- -e $CIRCLE_BRANCH
push-translations:
<<: *defaults
steps:
- *restore_git_cache
- checkout
- *restore_npm_cache
- run: npm run i18n:src
- run: npm run i18n:push
workflows:
version: 2
push-translations:
triggers:
- schedule:
cron: 0 0 * * * # daily at 12 UTC, 8 ET
filters:
branches:
only:
- develop
jobs:
- setup
- push-translations:
requires:
- setup
build-test-deploy:
jobs:
- setup
@@ -186,22 +208,26 @@ workflows:
- store_dist:
requires:
- build
# Disable deployment while running in parallel with Travis
# - deploy-npm:
# requires:
# - lint
# - unit
# - integration
# - build
# filters:
# branches:
# only:
# - master
# - develop
# - /^hotfix\/.*/
# - deploy-gh-pages:
# requires:
# - lint
# - unit
# - integration
# - build
- deploy-npm:
requires:
- lint
- unit
- integration
- build
filters:
branches:
only:
- master
- develop
- /^hotfix\/.*/
- deploy-gh-pages:
requires:
- lint
- unit
- integration
- build
filters:
branches:
ignore:
- /^dependabot/.*/
- /^pull/.*/ # don't deploy to gh pages on PRs.
+1
View File
@@ -12,6 +12,7 @@
*.svg binary
# Prefer LF for most file types
*.css text eol=lf
*.frag text eol=lf
*.htm text eol=lf
*.html text eol=lf
+82 -3
View File
@@ -1,13 +1,92 @@
## Contributing
### Bugs
If you found a bug in TurboWarp, you should check to see if the bug occurs in Scratch itself. Bugs that exist in Scratch are Scratch bugs and should be submitted to Scratch, not to TurboWarp. If the bug only exists in TurboWarp, check to see if an issue has already been created for it, and if not you can file one.
Being able to consistently reproduce issues is very important. Please see [Scratch's reproduction step guidelines](https://github.com/LLK/scratch-gui/wiki/Writing-good-repro-steps) when writing issues. Some issues are marked "Needs Repro". Adding a comment with good reproduction steps to those issues is a great way to help.
TurboWarp bugs should *never* be reported to the Scratch "Bugs & Glitches" forum.
### Pull requests
Pull requests will be accepted for pretty much any open issue that isn't labeled "wontfix" or "upstream". Pull requests, especially small ones, don't necessarily need to have a matching issue, but it doesn't hurt to open an issue if one doesn't exist.
Pull requests that should be included in Scratch itself should be submitted to Scratch, not to TurboWarp. This means that things like Scratch bug fixes, refactorings, or cleanups should *not* be submitted to TurboWarp.
When submitting the pull request, make sure that you set the base repository to the TurboWarp fork, not to Scratch itself, as GitHub is sometimes inconsistent about this. For example, a pull request to the TurboWarp VM should be made against TurboWarp/scratch-vm, not LLK/scratch-vm.
Guidelines for pull requests:
* Make the minimal amount of changes possible to Scratch code to make conflicts when pulling upstream code less painful.
* It might take a while for pull requests to get reviewed.
<!--
## Contributing
The development of Scratch is an ongoing process, and we love to have people in the Scratch and open source communities help us along the way.
If you're interested in contributing, please take a look at the [issues](https://github.com/LLK/scratch-gui/issues) on this repository.
Two great ways of helping are by identifying bugs and documenting them as issues, or fixing issues and creating pull requests. When looking for bugs to fix, please look for the ["Help Wanted" label](https://github.com/LLK/scratch-gui/issues?q=label%3A%22help+wanted%22). Bugs with this label have been specifically set aside for Open Source contributors. Issues without the label can also be worked on but we ask that you comment on the issue prior to starting work. When submitting pull requests please be patient -- it can take a while to find time to review them. The organization and class structures can't be radically changed without significant coordination and collaboration from the Scratch Team, so these types of changes should be avoided.
### Ways to Help
It's been said that the Scratch Team spends about one hour of design discussion for every pixel in Scratch, but some think that estimate is a little low. While we welcome suggestions for new features in our [suggestions forum](https://scratch.mit.edu/discuss/1/) (especially ones that come with mockups), we are unlikely to accept PRs with new features that haven't been thought through and discussed as a group. Why? Because we have a strong belief in the value of keeping things simple for new users. To learn more about our design philosophy, see [the Scratch Developers page](https://scratch.mit.edu/developers), or [this paper](http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf).
* **Documenting bugs**
* If you've identified a bug in Scratch you should first check to see if it's been filed as an issue, if not you can file one. Make sure you follow the issue template.
* It's important that we can consistently reproduce issues. When writing an issue, be sure to follow our [reproduction step guidelines](https://github.com/LLK/scratch-gui/wiki/Writing-good-repro-steps).
* Some issues are marked "Needs Repro". Adding a comment with good reproduction steps to those issues is a great way to help.
* If you don't have an issue in mind already, you can look through the [Bugs & Glitches forum.](https://scratch.mit.edu/discuss/3/) Look for users reporting problems, reproduce the problem yourself, and file new issues following our guidelines.
* **Fixing bugs**
* You can request to fix a bug in a comment on the issue if you at mention the repo coordinator, who for this repo is @chrisgarrity.
* If the issue is marked "Help Wanted" you can go ahead and start working on it!
* **We will only accept Pull Requests for bugs that have an issue filed that has a priority label**
* If you're interested in fixing a bug with no issue, file the issue first and wait for it to have a priority added to it.
* We are not looking for Pull Requests ("PR") for every issue and may deny a PR if it doesn't fit our criteria.
* We are far more likely to accept a PR if it is for an issue marked with Help Wanted.
* We will not accept PRs for issues marked with "Needs Discussion" or "Needs Design."
* Wait until the Repo Coordinator assigns the issue to you before you begin work or submit a PR.
### Learning Git and Github
If you want to work on fixing issues, you should be familiar with Git and Github.
* [Learn Git branching](https://learngitbranching.js.org/) includes an introduction to basic git commands and useful branching features.
* Here's a general introduction to [contributing to an open source project](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github).
**Important:** we follow the [Github Flow process](https://guides.github.com/introduction/flow/) as our development process.
### How to Fix Bugs
1. Identify which Github issue you are working on. Leave a comment on the issue to let us (and other contributors) know you're working on it.
2. Make sure you have a fork of this repo (see [Github's forking a repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) for details)
3. Switch to the `develop` branch, and pull down the latest changes from upstream
4. Run the code, and reproduce the problem
5. Create your branch from the `develop` branch
6. Make code changes to fix the problem
7. Run `npm test` to make sure that your changes pass our tests
8. Commit your changes
9. Push your branch to your fork
10. Create your pull request
1. Make sure to follow the template in the PR description
1. Remember to check the “[Allow edits from maintainers](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork)” box
When submitting pull requests keep in mind:
* please be patient -- it can take a while to find time to review them
* try to change the least amount of code necessary to fix the bug
* the code can't be radically changed without significant coordination with the Scratch Team, so these types of changes should be avoided
* if you find yourself changing a substantial amount of code or considering radical changes, please ask for clarification -- we may have envisioned a different approach, or underestimated the amount of effort
### Suggestions
![Block sketch](https://user-images.githubusercontent.com/3431616/77192550-1dcebe00-6ab3-11ea-9606-8ecd8500c958.png)
Please note: **_we are unlikely to accept PRs with new features that haven't been thought through and discussed as a group_**.
Why? Because we have a strong belief in the value of keeping things simple for new users. It's been said that the Scratch Team spends about one hour of design discussion for every pixel in Scratch. To learn more about our design philosophy, see [the Scratch Developers page](https://scratch.mit.edu/developers), or [this paper](http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf).
We welcome suggestions! If you want to suggest a feature, please post in our [suggestions forum](https://scratch.mit.edu/discuss/1/). Your suggestion will be helped if you include a mockup design; this can be simple, even hand-drawn.
### Other resources
Beyond this repo, there are also some other resources that you might want to take a look at:
* [Community Guidelines](https://github.com/LLK/scratch-www/wiki/Community-Guidelines) (we find it important to maintain a constructive and welcoming community, just like on Scratch)
* [Open Source forum](https://scratch.mit.edu/discuss/49/) on Scratch
* [Suggestions forum](https://scratch.mit.edu/discuss/1/) on Scratch
* [Bugs & Glitches forum](https://scratch.mit.edu/discuss/3/) on Scratch
-->
-3
View File
@@ -5,9 +5,6 @@
/node_modules
npm-*
# Double copies of all the static assets and tutorial gifs
/src
# Testing
/.nyc_output
/coverage
-66
View File
@@ -1,66 +0,0 @@
language: node_js
sudo: required
dist: xenial
addons:
chrome: stable
node_js:
- 8
env:
global:
- CHROMEDRIVER_VERSION=LATEST
- NODE_ENV=production
- NODE_OPTIONS=--max-old-space-size=7250
- NPM_TAG=latest
- RELEASE_VERSION="0.1.0-prerelease.$(date +'%Y%m%d%H%M%S')"
cache:
directories:
- node_modules
install:
- npm --production=false install
script:
- npm test
before_deploy:
- >
if [ -z "$BEFORE_DEPLOY_RAN" ]; then
npm --no-git-tag-version version $RELEASE_VERSION
if [ "$TRAVIS_BRANCH" == "master" ]; then export NPM_TAG=stable; fi
if [[ "$TRAVIS_BRANCH" == hotfix/* ]]; then export NPM_TAG=hotfix; fi # double brackets are important for matching the wildcard
git config --global user.email $(git log --pretty=format:"%ae" -n1)
git config --global user.name $(git log --pretty=format:"%an" -n1)
export BEFORE_DEPLOY_RAN=true
fi
deploy:
- provider: npm
on:
branch:
- master
- develop
- hotfix/*
condition: $TRAVIS_EVENT_TYPE != cron
skip_cleanup: true
email: $NPM_EMAIL
api_key: $NPM_TOKEN
tag: $NPM_TAG
- provider: script
on:
branch:
- master
- develop
- smoke
- hotfix/*
condition: $TRAVIS_EVENT_TYPE != cron
skip_cleanup: true
script: if npm info scratch-gui | grep -q $RELEASE_VERSION; then git tag $RELEASE_VERSION && git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git $RELEASE_VERSION; fi
- provider: script
on:
all_branches: true
condition: $TRAVIS_EVENT_TYPE != cron && ! $TRAVIS_BRANCH =~ ^greenkeeper/
tags: false # Don't push tags to gh-pages
skip_cleanup: true
script: npm run deploy -- -x -e $TRAVIS_BRANCH -r https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git
- provider: script
on:
branch: develop
condition: $TRAVIS_EVENT_TYPE == cron
skip_cleanup: true
script: npm run i18n:src && npm run i18n:push
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -1,4 +1,5 @@
Copyright (c) 2016, Massachusetts Institute of Technology
Copyright (c) 2020 Thomas Weber
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+19
View File
@@ -1,3 +1,13 @@
scratch-gui modified for use in [TurboWarp](https://turbowarp.org/)
## Setup
See https://github.com/TurboWarp/scratch-gui/wiki/Getting-Started to setup the complete TurboWarp environment.
If you just want to play with the GUI then it's the same process as upstream scratch-gui.
<!--
# scratch-gui
#### Scratch GUI is a set of React components that comprise the interface for creating and running Scratch 3.0 projects
@@ -191,6 +201,13 @@ npm install --no-optional --save-dev react-responsive@^5.0.0
Further reading: [Stack Overflow](https://stackoverflow.com/questions/46602286/npm-requires-a-peer-of-but-all-peers-are-in-package-json-and-node-modules)
## Troubleshooting
If you run into npm install errors, try these steps:
1. run `npm cache clean --force`
2. Delete the node_modules directory
3. Delete package-lock.json
4. run `npm install` again
## Publishing to GitHub Pages
You can publish the GUI to github.io so that others on the Internet can view it.
@@ -253,3 +270,5 @@ Here's what will happen in the project state machine:
## Donate
We provide [Scratch](https://scratch.mit.edu) free of charge, and want to keep it that way! Please consider making a [donation](https://secure.donationpay.org/scratchfoundation/) to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!
-->
+5233 -2463
View File
File diff suppressed because it is too large. Load diff
+73 -72
View File
@@ -2,11 +2,11 @@
"name": "scratch-gui",
"version": "0.1.0",
"description": "GraphicaL User Interface for creating and running Scratch 3.0 projects",
"main": "./dist/scratch-gui.js",
"main": "./dist/js/scratch-gui.js",
"scripts": {
"build": "npm run clean && webpack --progress --colors --bail",
"build": "npm run clean && webpack --colors --bail",
"clean": "rimraf ./build && mkdirp build && rimraf ./dist && mkdirp dist",
"deploy": "touch build/.nojekyll && gh-pages -t -d build -m \"Build for $(git log --pretty=format:%H -n1)\"",
"deploy": "touch build/.nojekyll && gh-pages -t -d build -m \"Build for $(git log --pretty=format:%H -n1) [skip ci]\"",
"prune": "./prune-gh-pages.sh",
"i18n:push": "tx-push-src scratch-editor interface translations/en.json",
"i18n:src": "rimraf ./translations/messages/src && babel src > tmp.js && rimraf tmp.js && build-i18n-src ./translations/messages/src ./translations/ && npm run i18n:push",
@@ -16,7 +16,7 @@
"test:lint": "eslint . --ext .js,.jsx",
"test:unit": "jest test[\\\\/]unit",
"test:smoke": "jest --runInBand test[\\\\/]smoke",
"watch": "webpack --progress --colors --watch"
"watch": "webpack --colors --watch"
},
"author": "Massachusetts Institute of Technology",
"license": "BSD-3-Clause",
@@ -25,6 +25,70 @@
"type": "git",
"url": "git+ssh://git@github.com/LLK/scratch-gui.git"
},
"dependencies": {
"arraybuffer-loader": "^1.0.6",
"autoprefixer": "^9.0.1",
"base64-loader": "1.0.0",
"bowser": "1.9.4",
"classnames": "2.2.6",
"computed-style-to-inline-style": "3.0.0",
"copy-webpack-plugin": "^4.5.1",
"core-js": "2.5.7",
"css-loader": "^1.0.0",
"es6-object-assign": "1.1.0",
"file-loader": "2.0.0",
"get-float-time-domain-data": "0.1.0",
"get-user-media-promise": "1.1.4",
"immutable": "3.8.2",
"intl": "1.2.5",
"js-base64": "2.4.9",
"keymirror": "0.1.1",
"lodash.bindall": "4.4.0",
"lodash.debounce": "4.0.8",
"lodash.defaultsdeep": "4.6.1",
"lodash.omit": "4.5.0",
"lodash.throttle": "4.0.1",
"minilog": "3.1.0",
"omggif": "1.0.9",
"papaparse": "5.3.0",
"postcss-import": "^12.0.0",
"postcss-loader": "^3.0.0",
"postcss-simple-vars": "^5.0.1",
"prop-types": "^15.5.10",
"query-string": "^5.1.1",
"raw-loader": "^0.5.1",
"react": "16.2.0",
"react-contextmenu": "2.9.4",
"react-dom": "16.2.1",
"react-draggable": "3.0.5",
"react-ga": "2.5.3",
"react-intl": "2.9.0",
"react-modal": "3.9.1",
"react-popover": "0.5.10",
"react-redux": "5.0.7",
"react-responsive": "5.0.0",
"react-string-replace": "^0.4.4",
"react-style-proptype": "3.2.2",
"react-tabs": "2.3.0",
"react-tooltip": "3.8.0",
"react-virtualized": "9.20.1",
"redux": "3.7.2",
"redux-throttle": "0.1.1",
"scratch-audio": "0.1.0-prerelease.20200528195344",
"scratch-blocks": "0.1.0-prerelease.20201223034356",
"scratch-l10n": "3.10.20201223031554",
"scratch-storage": "1.3.3",
"scratch-paint": "0.2.0-prerelease.20201020103914",
"scratch-render": "github:TurboWarp/scratch-render#develop",
"scratch-svg-renderer": "0.2.0-prerelease.20201019174008",
"scratch-vm": "github:TurboWarp/scratch-vm#develop",
"startaudiocontext": "1.2.1",
"style-loader": "^0.23.0",
"text-encoding": "0.7.0",
"to-style": "1.3.3",
"wav-encoder": "1.3.0",
"xhr": "2.5.0"
},
"peerDependencies": {
"react": "^16.0.0",
"react-dom": "^16.0.0"
@@ -37,97 +101,33 @@
"@babel/plugin-transform-async-to-generator": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"arraybuffer-loader": "^1.0.6",
"autoprefixer": "^9.0.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-loader": "^8.0.4",
"base64-loader": "1.0.0",
"bowser": "1.9.4",
"chromedriver": "80.0.0",
"classnames": "2.2.6",
"computed-style-to-inline-style": "3.0.0",
"copy-webpack-plugin": "^4.5.1",
"core-js": "2.5.7",
"css-loader": "^1.0.0",
"chromedriver": "86.0.0",
"enzyme": "^3.5.0",
"enzyme-adapter-react-16": "1.3.0",
"es6-object-assign": "1.1.0",
"eslint": "^5.0.1",
"eslint-config-scratch": "^5.0.0",
"eslint-import-resolver-webpack": "^0.11.1",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^22.14.1",
"eslint-plugin-react": "^7.12.4",
"file-loader": "2.0.0",
"get-float-time-domain-data": "0.1.0",
"get-user-media-promise": "1.1.4",
"gh-pages": "github:rschamp/gh-pages#publish-branch-to-subfolder",
"html-webpack-plugin": "^3.2.0",
"immutable": "3.8.2",
"intl": "1.2.5",
"html-webpack-plugin": "^4.3.0",
"jest": "^21.0.0",
"jest-junit": "^7.0.0",
"js-base64": "2.4.9",
"keymirror": "0.1.1",
"lodash.bindall": "4.4.0",
"lodash.debounce": "4.0.8",
"lodash.defaultsdeep": "4.6.0",
"lodash.isequal": "4.5.0",
"lodash.omit": "4.5.0",
"lodash.pick": "4.4.0",
"lodash.throttle": "4.0.1",
"minilog": "3.1.0",
"mkdirp": "^1.0.3",
"omggif": "1.0.9",
"papaparse": "5.1.1",
"postcss-import": "^12.0.0",
"postcss-loader": "^3.0.0",
"postcss-simple-vars": "^5.0.1",
"prop-types": "^15.5.10",
"query-string": "^5.1.1",
"raf": "^3.4.0",
"raw-loader": "^0.5.1",
"react": "16.2.0",
"react-contextmenu": "2.9.4",
"react-dom": "16.2.0",
"react-draggable": "3.0.5",
"react-ga": "2.5.3",
"react-intl": "2.9.0",
"react-modal": "3.9.1",
"react-popover": "0.5.10",
"react-redux": "5.0.7",
"react-responsive": "5.0.0",
"react-style-proptype": "3.2.2",
"react-tabs": "2.3.0",
"react-test-renderer": "16.2.0",
"react-tooltip": "3.8.0",
"react-virtualized": "9.20.1",
"redux": "3.7.2",
"redux-mock-store": "^1.2.3",
"redux-throttle": "0.1.1",
"rimraf": "^2.6.1",
"scratch-audio": "0.1.0-prerelease.20190925183642",
"scratch-l10n": "3.7.20200212141356",
"scratch-blocks": "0.1.0-prerelease.1581428931",
"scratch-paint": "0.2.0-prerelease.20200213174123",
"scratch-render": "0.1.0-prerelease.20200205011809",
"scratch-storage": "1.3.2",
"scratch-svg-renderer": "0.2.0-prerelease.20200205003400",
"scratch-vm": "0.2.0-prerelease.20191227164934",
"selenium-webdriver": "3.6.0",
"startaudiocontext": "1.2.1",
"style-loader": "^0.23.0",
"svg-to-image": "1.1.3",
"text-encoding": "0.7.0",
"to-style": "1.3.3",
"uglifyjs-webpack-plugin": "^1.2.5",
"wav-encoder": "1.3.0",
"web-audio-test-api": "^0.5.2",
"webpack": "^4.6.0",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.3",
"xhr": "2.5.0"
"webpack-dev-server": "^3.1.3"
},
"jest": {
"setupFiles": [
@@ -139,7 +139,8 @@
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test/__mocks__/fileMock.js",
"\\.(css|less)$": "<rootDir>/test/__mocks__/styleMock.js"
"\\.(css|less)$": "<rootDir>/test/__mocks__/styleMock.js",
"editor-msgs(\\.js)?$": "<rootDir>/test/__mocks__/editor-msgs-mock.js"
}
}
}
+6
View File
@@ -0,0 +1,6 @@
[
"// Make sure these IDs match their ID in SA",
"block-switching",
"editor-devtools",
"editor-searchable-dropdowns"
]
+720
View File
@@ -0,0 +1,720 @@
/* eslint-disable */
/*!
* https://github.com/ScratchAddons/ScratchAddons/tree/master/addons/block-switching
* I wrote this code and am therefore not affected by the GPL.
*/
import blockToDom from "./lib/blockToDom.js";
export default async function ({ addon, global, console, msg }) {
const blockSwitches = {};
const noopSwitch = {
opcode: "noop",
};
if (true || addon.settings.get("motion")) {
blockSwitches["motion_turnright"] = [
noopSwitch,
{
opcode: "motion_turnleft",
},
];
blockSwitches["motion_turnleft"] = [
{
opcode: "motion_turnright",
},
noopSwitch,
];
blockSwitches["motion_setx"] = [
noopSwitch,
{
opcode: "motion_changexby",
remap: { X: "DX" },
},
{
opcode: "motion_sety",
remap: { X: "Y" },
},
{
opcode: "motion_changeyby",
remap: { X: "DY" },
},
];
blockSwitches["motion_changexby"] = [
{
opcode: "motion_setx",
remap: { DX: "X" },
},
noopSwitch,
{
opcode: "motion_sety",
remap: { DX: "Y" },
},
{
opcode: "motion_changeyby",
remap: { DX: "DY" },
},
];
blockSwitches["motion_sety"] = [
{
opcode: "motion_setx",
remap: { Y: "X" },
},
{
opcode: "motion_changexby",
remap: { Y: "DX" },
},
noopSwitch,
{
opcode: "motion_changeyby",
remap: { Y: "DY" },
},
];
blockSwitches["motion_changeyby"] = [
{
opcode: "motion_setx",
remap: { DY: "X" },
},
{
opcode: "motion_changexby",
remap: { DY: "DX" },
},
{
opcode: "motion_sety",
remap: { DY: "Y" },
},
noopSwitch,
];
blockSwitches["motion_xposition"] = [
noopSwitch,
{
opcode: "motion_yposition",
},
];
blockSwitches["motion_yposition"] = [
{
opcode: "motion_xposition",
},
noopSwitch,
];
}
if (true || addon.settings.get("looks")) {
blockSwitches["looks_seteffectto"] = [
noopSwitch,
{
opcode: "looks_changeeffectby",
remap: { VALUE: "CHANGE" },
},
];
blockSwitches["looks_changeeffectby"] = [
{
opcode: "looks_seteffectto",
remap: { CHANGE: "VALUE" },
},
noopSwitch,
];
blockSwitches["looks_setsizeto"] = [
noopSwitch,
{
opcode: "looks_changesizeby",
remap: { SIZE: "CHANGE" },
},
];
blockSwitches["looks_changesizeby"] = [
{
opcode: "looks_setsizeto",
remap: { CHANGE: "SIZE" },
},
noopSwitch,
];
blockSwitches["looks_costumenumbername"] = [
noopSwitch,
{
opcode: "looks_backdropnumbername",
},
];
blockSwitches["looks_backdropnumbername"] = [
{
opcode: "looks_costumenumbername",
},
noopSwitch,
];
blockSwitches["looks_show"] = [
noopSwitch,
{
opcode: "looks_hide",
},
];
blockSwitches["looks_hide"] = [
{
opcode: "looks_show",
},
noopSwitch,
];
blockSwitches["looks_nextcostume"] = [
noopSwitch,
{
opcode: "looks_nextbackdrop",
},
];
blockSwitches["looks_nextbackdrop"] = [
{
opcode: "looks_nextcostume",
},
noopSwitch,
];
}
if (true || addon.settings.get("sound")) {
blockSwitches["sound_play"] = [
noopSwitch,
{
opcode: "sound_playuntildone",
},
];
blockSwitches["sound_playuntildone"] = [
{
opcode: "sound_play",
},
noopSwitch,
];
blockSwitches["sound_seteffectto"] = [
noopSwitch,
{
opcode: "sound_changeeffectby",
},
];
blockSwitches["sound_changeeffectby"] = [
{
opcode: "sound_seteffectto",
},
noopSwitch,
];
blockSwitches["sound_setvolumeto"] = [
noopSwitch,
{
opcode: "sound_changevolumeby",
},
];
blockSwitches["sound_changevolumeby"] = [
{
opcode: "sound_setvolumeto",
},
noopSwitch,
];
}
if (true || addon.settings.get("event")) {
blockSwitches["event_broadcast"] = [
noopSwitch,
{
opcode: "event_broadcastandwait",
},
];
blockSwitches["event_broadcastandwait"] = [
{
opcode: "event_broadcast",
},
noopSwitch,
];
}
if (true || addon.settings.get("control")) {
blockSwitches["control_if"] = [
noopSwitch,
{
opcode: "control_if_else",
},
];
blockSwitches["control_if_else"] = [
{
opcode: "control_if",
remap: { SUBSTACK2: "split" },
},
noopSwitch,
];
blockSwitches["control_repeat_until"] = [
noopSwitch,
{
opcode: "control_wait_until",
remap: { SUBSTACK: "split" },
},
{
opcode: "control_forever",
remap: { CONDITION: "split" },
},
];
blockSwitches["control_forever"] = [
{
opcode: "control_repeat_until",
},
noopSwitch,
];
blockSwitches["control_wait_until"] = [
{
opcode: "control_repeat_until",
},
noopSwitch,
];
}
if (true || addon.settings.get("operator")) {
blockSwitches["operator_equals"] = [
{
opcode: "operator_gt",
},
noopSwitch,
{
opcode: "operator_lt",
},
];
blockSwitches["operator_gt"] = [
noopSwitch,
{
opcode: "operator_equals",
},
{
opcode: "operator_lt",
},
];
blockSwitches["operator_lt"] = [
{
opcode: "operator_gt",
},
{
opcode: "operator_equals",
},
noopSwitch,
];
blockSwitches["operator_add"] = [
noopSwitch,
{
opcode: "operator_subtract",
},
{
opcode: "operator_multiply",
},
{
opcode: "operator_divide",
},
{
opcode: "operator_mod",
},
];
blockSwitches["operator_subtract"] = [
{
opcode: "operator_add",
},
noopSwitch,
{
opcode: "operator_multiply",
},
{
opcode: "operator_divide",
},
{
opcode: "operator_mod",
},
];
blockSwitches["operator_multiply"] = [
{
opcode: "operator_add",
},
{
opcode: "operator_subtract",
},
noopSwitch,
{
opcode: "operator_divide",
},
{
opcode: "operator_mod",
},
];
blockSwitches["operator_divide"] = [
{
opcode: "operator_add",
},
{
opcode: "operator_subtract",
},
{
opcode: "operator_multiply",
},
noopSwitch,
{
opcode: "operator_mod",
},
];
blockSwitches["operator_mod"] = [
{
opcode: "operator_add",
},
{
opcode: "operator_subtract",
},
{
opcode: "operator_multiply",
},
{
opcode: "operator_divide",
},
noopSwitch,
];
blockSwitches["operator_and"] = [
noopSwitch,
{
opcode: "operator_or",
},
];
blockSwitches["operator_or"] = [
{
opcode: "operator_and",
},
noopSwitch,
];
}
if (true || addon.settings.get("sensing")) {
blockSwitches["sensing_mousex"] = [
noopSwitch,
{
opcode: "sensing_mousey",
},
];
blockSwitches["sensing_mousey"] = [
{
opcode: "sensing_mousex",
},
noopSwitch,
];
}
if (true || addon.settings.get("data")) {
blockSwitches["data_setvariableto"] = [
noopSwitch,
{
opcode: "data_changevariableby",
},
];
blockSwitches["data_changevariableby"] = [
{
opcode: "data_setvariableto",
},
noopSwitch,
];
blockSwitches["data_showvariable"] = [
noopSwitch,
{
opcode: "data_hidevariable",
},
];
blockSwitches["data_hidevariable"] = [
{
opcode: "data_showvariable",
},
noopSwitch,
];
blockSwitches["data_showlist"] = [
noopSwitch,
{
opcode: "data_hidelist",
},
];
blockSwitches["data_hidelist"] = [
{
opcode: "data_showlist",
},
noopSwitch,
];
blockSwitches["data_replaceitemoflist"] = [
noopSwitch,
{
opcode: "data_insertatlist",
},
];
blockSwitches["data_insertatlist"] = [
{
opcode: "data_replaceitemoflist",
},
noopSwitch,
];
}
if (true || addon.settings.get("extension")) {
blockSwitches["pen_penDown"] = [
noopSwitch,
{
opcode: "pen_penUp",
},
];
blockSwitches["pen_penUp"] = [
{
opcode: "pen_penDown",
},
noopSwitch,
];
blockSwitches["pen_setPenColorParamTo"] = [
noopSwitch,
{
opcode: "pen_changePenColorParamBy",
},
];
blockSwitches["pen_changePenColorParamBy"] = [
{
opcode: "pen_setPenColorParamTo",
},
noopSwitch,
];
blockSwitches["pen_setPenHueToNumber"] = [
noopSwitch,
{
opcode: "pen_changePenHueBy",
},
];
blockSwitches["pen_changePenHueBy"] = [
{
opcode: "pen_setPenHueToNumber",
},
noopSwitch,
];
blockSwitches["pen_setPenShadeToNumber"] = [
noopSwitch,
{
opcode: "pen_changePenShadeBy",
},
];
blockSwitches["pen_changePenShadeBy"] = [
{
opcode: "pen_setPenShadeToNumber",
},
noopSwitch,
];
blockSwitches["pen_setPenSizeTo"] = [
noopSwitch,
{
opcode: "pen_changePenSizeBy",
},
];
blockSwitches["pen_changePenSizeBy"] = [
{
opcode: "pen_setPenSizeTo",
},
noopSwitch,
];
}
// Switching for these is implemented by Scratch. We only define them here to optionally add a border.
// Because we don't implement the switching ourselves, this is not controlled by the data category option.
blockSwitches["data_variable"] = [];
blockSwitches["data_listcontents"] = [];
let addBorderToContextMenuItem = -1;
const genuid = () => {
const CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%()*+,-./:;=?@[]^_`{|}~";
let result = "";
for (let i = 0; i < 20; i++) {
result += CHARACTERS[Math.floor(Math.random() * CHARACTERS.length)];
}
return result;
};
const menuCallbackFactory = (block, opcodeData) => () => {
if (opcodeData.opcode === "noop") {
return;
}
const workspace = block.workspace;
// Make a copy of the block with the proper type set.
// It doesn't seem to be possible to change a Block's type after it's created, so we'll just make a new block instead.
const xml = blockToDom(block);
xml.setAttribute("type", opcodeData.opcode);
const id = block.id;
const parent = block.getParent();
let parentConnection;
let blockConnectionType;
if (parent) {
// If the block has a parent, find the parent -> child connection that will be reattached later.
const parentConnections = parent.getConnections_();
parentConnection = parentConnections.find((c) => c.targetConnection && c.targetConnection.sourceBlock_ === block);
// There's two types of connections from child -> parent. We need to figure out which one is used.
const blockConnections = block.getConnections_();
const blockToParentConnection = blockConnections.find(
(c) => c.targetConnection && c.targetConnection.sourceBlock_ === parent
);
blockConnectionType = blockToParentConnection.type;
}
const pasteSeparately = [];
// Apply input remappings.
if (opcodeData.remap) {
const childNodes = Array.from(xml.children);
for (const child of childNodes) {
const oldName = child.getAttribute("name");
const newName = opcodeData.remap[oldName];
if (newName) {
if (newName === "split") {
// This input will be split off into its own script.
const inputXml = child.firstChild;
const inputId = inputXml.id;
const inputBlock = workspace.getBlockById(inputId);
const position = inputBlock.getRelativeToSurfaceXY();
inputXml.setAttribute("x", Math.round(workspace.RTL ? -position.x : position.x));
inputXml.setAttribute("y", Math.round(position.y));
pasteSeparately.push(inputXml);
xml.removeChild(child);
} else {
child.setAttribute("name", newName);
}
}
}
}
// Mark the latest event in the undo stack.
// This will be used later to group all of our events.
const undoStack = workspace.undoStack_;
if (undoStack.length) {
undoStack[undoStack.length - 1]._blockswitchingLastUndo = true;
}
// Remove the old block and insert the new one.
block.dispose();
workspace.paste(xml);
for (const separateBlock of pasteSeparately) {
workspace.paste(separateBlock);
}
// The new block will have the same ID as the old one.
const newBlock = workspace.getBlockById(id);
if (parentConnection) {
// Search for the same type of connection on the new block as on the old block.
const newBlockConnections = newBlock.getConnections_();
const newBlockConnection = newBlockConnections.find((c) => c.type === blockConnectionType);
newBlockConnection.connect(parentConnection);
}
// Events (responsible for undoStack updates) are delayed with a setTimeout(f, 0)
// https://github.com/LLK/scratch-blocks/blob/f159a1779e5391b502d374fb2fdd0cb5ca43d6a2/core/events.js#L182
setTimeout(() => {
const group = genuid();
for (let i = undoStack.length - 1; i >= 0 && !undoStack[i]._blockswitchingLastUndo; i--) {
undoStack[i].group = group;
}
}, 0);
};
const customContextMenuHandler = function (options) {
if (true || addon.settings.get("border")) {
addBorderToContextMenuItem = options.length;
}
if (this._originalCustomContextMenu) {
this._originalCustomContextMenu.call(this, options);
}
const switches = blockSwitches[this.type];
for (const opcodeData of switches) {
const isNoop = opcodeData.opcode === "noop";
if (isNoop && !(true || addon.settings.get("noop"))) {
continue;
}
const translationOpcode = isNoop ? this.type : opcodeData.opcode;
const translation = msg(translationOpcode);
options.push({
enabled: true,
text: translation,
callback: menuCallbackFactory(this, opcodeData),
});
}
};
const injectCustomContextMenu = (block) => {
const type = block.type;
if (!blockSwitches.hasOwnProperty(type)) {
return;
}
if (block._customContextMenuInjected) {
return;
}
block._customContextMenuInjected = true;
if (block.customContextMenu) {
block._originalCustomContextMenu = block.customContextMenu;
}
block.customContextMenu = customContextMenuHandler;
};
const changeListener = (change) => {
if (change.type !== "create") {
return;
}
for (const id of change.ids) {
const block = Blockly.getMainWorkspace().getBlockById(id);
if (!block) continue;
injectCustomContextMenu(block);
}
};
const mutationObserverCallback = (mutations) => {
for (const mutation of mutations) {
for (const node of mutation.addedNodes) {
if (node.classList.contains("blocklyContextMenu")) {
if (addBorderToContextMenuItem === -1) {
continue;
}
const children = node.children;
const item = children[addBorderToContextMenuItem];
if (item) {
item.style.paddingTop = "2px";
item.style.borderTop = "1px solid hsla(0, 0%, 0%, 0.15)";
}
addBorderToContextMenuItem = -1;
}
}
}
};
const inject = () => {
const workspace = Blockly.getMainWorkspace();
if (workspace._blockswitchingInjected) {
return;
}
mutationObserver.observe(document.querySelector(".blocklyWidgetDiv"), {
childList: true,
});
workspace._blockswitchingInjected = true;
workspace.getAllBlocks().forEach(injectCustomContextMenu);
workspace.addChangeListener(changeListener);
const languageSelector = document.querySelector('[class^="language-selector_language-select"]');
if (languageSelector) {
languageSelector.addEventListener("change", () => {
setTimeout(inject);
});
}
};
const mutationObserver = new MutationObserver(mutationObserverCallback);
if (addon.tab.editorMode === "editor") {
const interval = setInterval(() => {
if (Blockly.getMainWorkspace()) {
inject();
clearInterval(interval);
}
}, 100);
}
addon.tab.addEventListener("urlChange", () => addon.tab.editorMode === "editor" && inject());
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,235 @@
/* eslint-disable */
/*!
* https://github.com/ScratchAddons/ScratchAddons/tree/master/addons/editor-searchable-dropdowns
* I wrote this code and am therefore not affected by the GPL.
*/
import addStyle from './lib/addStyle';
addStyle(`
.u-dropdown-searchbar {
width: 100%;
box-sizing: border-box;
/* based on styles for the title input */
color: white;
background-color: hsla(0, 100%, 100%, 0.25);
border: 1px dashed hsla(0, 0%, 0%, 0.15);
padding: 0.5rem;
outline: none;
transition: 0.25s ease-out;
font-size: 13px;
font-weight: bold;
border-radius: 4px;
}
.u-dropdown-searchbar:hover {
background-color: hsla(0, 100%, 100%, 0.5);
}
.u-dropdown-searchbar:focus {
background-color: white;
color: black;
}
`);
export default async function ({ addon, global, console }) {
// The hierarchy is:
// blocklyDropDownDiv (position, background color, etc.) -> blocklyDropDownContent (scrollbar) -> blocklyDropdownMenu (items)
// The capitalization of dropdown is inconsistent in blockly too.
let blocklyDropDownDiv = null;
let blocklyDropDownContent = null;
let blocklyDropdownMenu = null;
function createSearchBar(node) {
blocklyDropdownMenu = node;
blocklyDropdownMenu.focus = () => {}; // no-op focus() so it can't steal it from the search bar
// Lock the width of the dropdown before adding the search bar, as sometimes adding the searchbar changes the width.
blocklyDropDownContent.style.width = getComputedStyle(blocklyDropDownContent).width;
const searchBar = document.createElement("input");
searchBar.type = "text";
searchBar.addEventListener("input", handleInputEvent);
searchBar.addEventListener("keydown", handleKeyDownEvent);
searchBar.classList.add("u-dropdown-searchbar");
blocklyDropdownMenu.insertBefore(searchBar, blocklyDropdownMenu.firstChild);
// Lock the height of the dropdown after adding the search bar.
blocklyDropDownContent.style.height = getComputedStyle(blocklyDropDownContent).height;
// Compensate for the scroll bar sometimes making the interface taller by pushing the whole dropdown up.
const hasScrollBar = blocklyDropDownContent.scrollHeight > blocklyDropDownContent.clientHeight;
if (!hasScrollBar) {
const blocklyDropDownArrow = blocklyDropDownDiv.querySelector(".blocklyDropDownArrow");
if (blocklyDropDownArrow.classList.contains("arrowBottom")) {
const searchBarHeight = searchBar.offsetHeight;
blocklyDropDownDiv.style.transform += ` translateY(-${searchBarHeight}px)`;
blocklyDropDownArrow.style.transform = `translateY(${searchBarHeight}px) ${blocklyDropDownArrow.style.transform}`;
}
}
searchBar.focus();
}
function cleanup() {
blocklyDropdownMenu = null;
// Reset all the things we changed about the dropdown menu.
// This matters because there's other types of dropdowns such as angle selectors where a search bar doesn't make sense.
blocklyDropDownContent.style.width = "";
blocklyDropDownContent.style.height = "";
}
function closeDropDown() {
document.querySelector(".blocklyToolboxDiv").dispatchEvent(new MouseEvent("mousedown"));
}
function selectItem(item, click) {
// You can't just use click() or focus() because Blockly uses mousedown and mouseup handlers, not click handlers.
item.dispatchEvent(new MouseEvent("mousedown", { relatedTarget: item, bubbles: true }));
if (click) {
item.dispatchEvent(new MouseEvent("mouseup", { relatedTarget: item, bubbles: true }));
}
// Scroll the item into view if it is offscreen.
const itemTop = item.offsetTop;
const itemEnd = itemTop + item.offsetHeight;
const scrollTop = blocklyDropDownContent.scrollTop;
const scrollHeight = blocklyDropDownContent.offsetHeight;
const scrollEnd = scrollTop + scrollHeight;
if (scrollTop > itemTop) {
blocklyDropDownContent.scrollTop = itemTop;
} else if (itemEnd > scrollEnd) {
blocklyDropDownContent.scrollTop = itemEnd - scrollHeight;
}
}
function handleInputEvent(event) {
const value = event.target.value.toLowerCase();
for (const item of getItems()) {
const text = item.textContent.toLowerCase();
const hidden = !text.includes(value);
item.hidden = hidden;
}
}
// This returns the Blockly block that is currently selected, or null.
function getSelectedBlock() {
const selected = document.querySelector(".blocklySelected");
if (!selected) {
return null;
}
const block = Blockly.getMainWorkspace().getBlockById(selected.dataset.id);
return block;
}
function handleKeyDownEvent(event) {
if (event.key === "Enter") {
// Reimplement enter to select item to account for hidden items and default to the top item.
event.stopPropagation();
event.preventDefault();
const selectedItem = blocklyDropdownMenu.querySelector(".goog-menuitem-highlight");
if (selectedItem && !selectedItem.hidden) {
selectItem(selectedItem, true);
return;
}
const selectedBlock = getSelectedBlock();
const items = getItems();
if (event.target.value === "" && selectedBlock) {
if (
selectedBlock.type === "event_broadcast" ||
selectedBlock.type === "event_broadcastandwait" ||
selectedBlock.type === "event_whenbroadcastreceived"
) {
// The top item of these dropdowns is always "New message"
// When pressing enter on an empty search bar, we close the dropdown instead of making a new broadcast.
closeDropDown();
return;
}
}
for (const item of items) {
if (!item.hidden) {
selectItem(item, true);
break;
}
}
// If there is no top value, just leave the dropdown open.
} else if (event.key === "Escape") {
closeDropDown();
} else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
// Reimplement keyboard navigation to account for hidden items.
event.preventDefault();
event.stopPropagation();
const items = getItems().filter((item) => !item.hidden);
if (items.length === 0) {
return;
}
let selectedIndex = -1;
for (let i = 0; i < items.length; i++) {
if (items[i].classList.contains("goog-menuitem-highlight")) {
selectedIndex = i;
break;
}
}
const lastIndex = items.length - 1;
let newIndex = 0;
if (event.key === "ArrowDown") {
if (selectedIndex === -1 || selectedIndex === lastIndex) {
newIndex = 0;
} else {
newIndex = selectedIndex + 1;
}
} else {
if (selectedIndex === -1 || selectedIndex === 0) {
newIndex = lastIndex;
} else {
newIndex = selectedIndex - 1;
}
}
selectItem(items[newIndex], false);
}
}
function getItems() {
if (blocklyDropdownMenu) {
return Array.from(blocklyDropdownMenu.children).filter((child) => child.tagName !== "INPUT");
}
return [];
}
function findBlocklyDropDownDiv() {
return addon.tab.waitForElement(".blocklyDropDownDiv").then(() => document.querySelector(".blocklyDropDownDiv"));
}
blocklyDropDownDiv = await findBlocklyDropDownDiv();
blocklyDropDownContent = blocklyDropDownDiv.querySelector(".blocklyDropDownContent");
const observer = new MutationObserver((mutationList) => {
for (const mutation of mutationList) {
if (mutation.type === "childList") {
// Look for a dropdown being created.
for (const node of mutation.addedNodes) {
if (node.classList && node.classList.contains("blocklyDropdownMenu")) {
createSearchBar(node);
break;
}
}
// Look for a dropdown being removed.
for (const node of mutation.removedNodes) {
if (node.classList && node.classList.contains("blocklyDropdownMenu")) {
cleanup();
break;
}
}
}
}
});
observer.observe(blocklyDropDownContent, {
childList: true,
});
}
+7
View File
@@ -0,0 +1,7 @@
const addStlye = css => {
const style = document.createElement('style');
style.innerText = css;
document.head.appendChild(style);
};
export default addStlye;
+257
View File
@@ -0,0 +1,257 @@
/* eslint-disable */
/**
* This file is imported from https://github.com/LLK/scratch-blocks/
* It has been cleaned up and unnecessary functions have been removed.
* Original license is below.
*
* @license
* Visual Blocks Editor
*
* Copyright 2012 Google Inc.
* https://developers.google.com/blockly/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const INPUT_VALUE = 1;
const NEXT_STATEMENT = 3;
const DUMMY_INPUT = 5;
// Partially implements goog.dom.createDom.
const createDom = function (tagName, /* unused */ _params, children) {
const element = document.createElement(tagName);
if (children !== undefined) {
if (!Array.isArray(children)) {
children = [children];
}
for (const child of children) {
if (typeof child === "string") {
element.appendChild(document.createTextNode(child));
} else {
element.appendChild(child);
}
}
}
return element;
};
// Partially implements goog.dom.removeNode
const removeNode = (node) => {
if (node.parentNode) {
node.parentNode.removeChild(node);
}
};
const fieldToDomVariable_ = function (field) {
var id = field.getValue();
// The field had not been initialized fully before being serialized.
// This can happen if a block is created directly through a call to
// workspace.newBlock instead of from XML.
// The new block will be serialized for the first time when firing a block
// creation event.
if (id == null) {
field.initModel();
id = field.getValue();
}
// Get the variable directly from the field, instead of doing a lookup. This
// will work even if the variable has already been deleted. This can happen
// because the flyout defers deleting blocks until the next time the flyout is
// opened.
var variable = field.getVariable();
if (!variable) {
throw Error("Tried to serialize a variable field with no variable.");
}
var container = createDom("field", null, variable.name);
container.setAttribute("name", field.name);
container.setAttribute("id", variable.getId());
container.setAttribute("variabletype", variable.type);
return container;
};
const fieldToDom_ = function (field) {
if (field.name && field.SERIALIZABLE) {
if (field.referencesVariables()) {
return fieldToDomVariable_(field);
} else {
var container = createDom("field", null, field.getValue());
container.setAttribute("name", field.name);
return container;
}
}
return null;
};
const allFieldsToDom_ = function (block, element) {
for (var i = 0, input; (input = block.inputList[i]); i++) {
for (var j = 0, field; (field = input.fieldRow[j]); j++) {
var fieldDom = fieldToDom_(field);
if (fieldDom) {
element.appendChild(fieldDom);
}
}
}
};
const blockToDom = function (block, opt_noId) {
var element = createDom(block.isShadow() ? "shadow" : "block");
element.setAttribute("type", block.type);
if (!opt_noId) {
element.setAttribute("id", block.id);
}
if (block.mutationToDom) {
// Custom data for an advanced block.
var mutation = block.mutationToDom();
if (mutation && (mutation.hasChildNodes() || mutation.hasAttributes())) {
element.appendChild(mutation);
}
}
allFieldsToDom_(block, element);
scratchCommentToDom_(block, element);
if (block.data) {
var dataElement = createDom("data", null, block.data);
element.appendChild(dataElement);
}
for (var i = 0, input; (input = block.inputList[i]); i++) {
var container;
var empty = true;
if (input.type == DUMMY_INPUT) {
continue;
} else {
var childBlock = input.connection.targetBlock();
if (input.type == INPUT_VALUE) {
container = createDom("value");
} else if (input.type == NEXT_STATEMENT) {
container = createDom("statement");
}
var shadow = input.connection.getShadowDom();
if (shadow && (!childBlock || !childBlock.isShadow())) {
var shadowClone = cloneShadow_(shadow);
// Remove the ID from the shadow dom clone if opt_noId
// is specified to true.
if (opt_noId && shadowClone.getAttribute("id")) {
shadowClone.removeAttribute("id");
}
container.appendChild(shadowClone);
}
if (childBlock) {
container.appendChild(blockToDom(childBlock, opt_noId));
empty = false;
}
}
container.setAttribute("name", input.name);
if (!empty) {
element.appendChild(container);
}
}
if (block.inputsInlineDefault != block.inputsInline) {
element.setAttribute("inline", block.inputsInline);
}
if (block.isCollapsed()) {
element.setAttribute("collapsed", true);
}
if (block.disabled) {
element.setAttribute("disabled", true);
}
if (!block.isDeletable() && !block.isShadow()) {
element.setAttribute("deletable", false);
}
if (!block.isMovable() && !block.isShadow()) {
element.setAttribute("movable", false);
}
if (!block.isEditable()) {
element.setAttribute("editable", false);
}
var nextBlock = block.getNextBlock();
if (nextBlock) {
var container = createDom("next", null, blockToDom(nextBlock, opt_noId));
element.appendChild(container);
}
var shadow = block.nextConnection && block.nextConnection.getShadowDom();
if (shadow && (!nextBlock || !nextBlock.isShadow())) {
container.appendChild(cloneShadow_(shadow));
}
return element;
};
const scratchCommentToDom_ = function (block, element) {
var commentText = block.getCommentText();
if (commentText) {
var commentElement = createDom("comment", null, commentText);
if (typeof block.comment == "object") {
commentElement.setAttribute("id", block.comment.id);
commentElement.setAttribute("pinned", block.comment.isVisible());
var hw;
// TODO: scratch-blocks uses `block.comment instanceof Blockly.ScratchBlockComment`
if (block.comment.getHeightWidth) {
hw = block.comment.getHeightWidth();
} else {
hw = block.comment.getBubbleSize();
}
commentElement.setAttribute("h", hw.height);
commentElement.setAttribute("w", hw.width);
var xy = block.comment.getXY();
commentElement.setAttribute("x", xy.x);
commentElement.setAttribute("y", xy.y);
commentElement.setAttribute("minimized", block.comment.isMinimized());
}
element.appendChild(commentElement);
}
};
const cloneShadow_ = function (shadow) {
shadow = shadow.cloneNode(true);
// Walk the tree looking for whitespace. Don't prune whitespace in a tag.
var node = shadow;
var textNode;
while (node) {
if (node.firstChild) {
node = node.firstChild;
} else {
while (node && !node.nextSibling) {
textNode = node;
node = node.parentNode;
if (textNode.nodeType == 3 && textNode.data.trim() == "" && node.firstChild != textNode) {
// Prune whitespace after a tag.
removeNode(textNode);
}
}
if (node) {
textNode = node;
node = node.nextSibling;
if (textNode.nodeType == 3 && textNode.data.trim() == "") {
// Prune whitespace before a tag.
removeNode(textNode);
}
}
}
}
return shadow;
};
const blockToDomWithXY = (block) => {
const xml = blockToDom(block, false);
const position = block.getRelativeToSurfaceXY();
xml.setAttribute("x", Math.round(block.workspace.RTL ? -position.x : position.x));
xml.setAttribute("y", Math.round(position.y));
return xml;
};
export default blockToDomWithXY;
+81
View File
@@ -0,0 +1,81 @@
import translations from './l10n/en.json';
class Tab extends EventTarget {
waitForElement (selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
return;
}
const observer = new MutationObserver(() => {
const el = document.querySelector(selector);
if (el) {
resolve(el);
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
get editorMode () {
if (location.pathname.includes('editor')) return 'editor';
if (location.pathname.includes('fullscreen')) return 'fullscreen';
if (location.pathname.includes('editor')) return 'editor';
return 'projectpage';
}
}
class Addon {
constructor () {
this.tab = new Tab();
}
get settings () {
throw new Error('not implemented');
}
}
const addon = new Addon();
const emitUrlChange = () => {
setTimeout(() => {
addon.tab.dispatchEvent(new CustomEvent('urlChange'));
});
};
const originalReplaceState = history.replaceState;
history.replaceState = function (...args) {
originalReplaceState.apply(this, args);
emitUrlChange();
};
const originalPushState = history.pushState;
history.pushState = function (...args) {
originalPushState.apply(this, args);
emitUrlChange();
};
class API {
constructor (id) {
this._id = id;
this.global = global;
this.console = console;
this.addon = addon;
this.msg = this.msg.bind(this);
}
msg (key) {
const namespacedKey = `${this._id}/${key}`;
if (translations[namespacedKey]) {
return translations[namespacedKey];
}
return key;
}
}
export default API;
+11
View File
@@ -0,0 +1,11 @@
import API from './api';
import addons from './addons.json';
for (const addonId of addons) {
if (addonId.startsWith('//')) {
continue;
}
const api = new API(addonId);
const module = require(`./addons/${addonId}`);
module.default(api);
}
+63
View File
@@ -0,0 +1,63 @@
{
"block-switching/event_broadcast": "broadcast",
"block-switching/event_broadcastandwait": "broadcast and wait",
"block-switching/control_if": "if",
"block-switching/control_if_else": "if... else",
"block-switching/control_repeat_until": "repeat until",
"block-switching/control_forever": "forever",
"block-switching/control_wait_until": "wait until",
"block-switching/data_changevariableby": "change variable",
"block-switching/data_setvariableto": "set variable",
"block-switching/data_showvariable": "show variable",
"block-switching/data_hidevariable": "hide variable",
"block-switching/data_showlist": "show list",
"block-switching/data_hidelist": "hide list",
"block-switching/data_replaceitemoflist": "replace item",
"block-switching/data_insertatlist": "insert item",
"block-switching/looks_changeeffectby": "change effect",
"block-switching/looks_seteffectto": "set effect",
"block-switching/looks_changesizeby": "change size",
"block-switching/looks_setsizeto": "set size",
"block-switching/looks_costumenumbername": "costume number or name",
"block-switching/looks_backdropnumbername": "backdrop number or name",
"block-switching/looks_show": "show",
"block-switching/looks_hide": "hide",
"block-switching/looks_nextcostume": "next costume",
"block-switching/looks_nextbackdrop": "next backdrop",
"block-switching/motion_turnright": "turn right",
"block-switching/motion_turnleft": "turn left",
"block-switching/motion_setx": "set x",
"block-switching/motion_changexby": "change x",
"block-switching/motion_sety": "set y",
"block-switching/motion_changeyby": "change y",
"block-switching/motion_xposition": "x position",
"block-switching/motion_yposition": "y position",
"block-switching/operator_equals": "=",
"block-switching/operator_gt": ">",
"block-switching/operator_lt": "<",
"block-switching/operator_add": "+",
"block-switching/operator_subtract": "-",
"block-switching/operator_multiply": "*",
"block-switching/operator_divide": "/",
"block-switching/operator_mod": "mod",
"block-switching/operator_and": "and",
"block-switching/operator_or": "or",
"block-switching/pen_penDown": "pen down",
"block-switching/pen_penUp": "pen up",
"block-switching/pen_setPenColorParamTo": "set parameter",
"block-switching/pen_changePenColorParamBy": "change parameter",
"block-switching/pen_changePenHueBy": "change hue",
"block-switching/pen_setPenHueToNumber": "set hue",
"block-switching/pen_changePenShadeBy": "change shade",
"block-switching/pen_setPenShadeToNumber": "set shade",
"block-switching/pen_changePenSizeBy": "change size",
"block-switching/pen_setPenSizeTo": "set size",
"block-switching/sensing_mousex": "mouse x",
"block-switching/sensing_mousey": "mouse y",
"block-switching/sound_play": "play",
"block-switching/sound_playuntildone": "play until done",
"block-switching/sound_changeeffectby": "change effect",
"block-switching/sound_seteffectto": "set effect",
"block-switching/sound_setvolumeto": "set volume",
"block-switching/sound_changevolumeby": "change volume"
}
+16
View File
@@ -0,0 +1,16 @@
let loaded = false;
const load = () => {
// import(/* webpackChunkName: "addons" */ './index');
};
const loadAddons = () => {
if (loaded) {
return;
}
loaded = true;
setTimeout(load, 0);
};
export default loadAddons;
+5 -3
View File
@@ -15,6 +15,7 @@
padding-right: 1rem;
margin-bottom: 7px;
min-height: 1.5rem;
pointer-events: all;
}
.alert.warn {
@@ -24,9 +25,10 @@
}
.alert.success {
background: $extensions-light;
border: 1px solid $extensions-tertiary;
box-shadow: 0px 0px 0px 2px $extensions-light;
/* tw: hardcode these colors because we change extensions-* colors to be something that looks weird here */
background: hsla(163, 57%, 85%, 1);
border: 1px solid hsla(163, 85%, 30%, 1);
box-shadow: 0px 0px 0px 2px hsla(163, 57%, 85%, 1);
}
.alert-spinner {
+18 -2
View File
@@ -28,7 +28,9 @@ const AlertComponent = ({
onDownload,
onSaveNow,
onReconnect,
showReconnect
onRecover,
showReconnect,
showRecover
}) => (
<Box
className={classNames(styles.alert, styles[level])}
@@ -101,6 +103,18 @@ const AlertComponent = ({
/>
</button>
)}
{showRecover && (
<button
className={styles.alertConnectionButton}
onClick={onRecover}
>
<FormattedMessage
defaultMessage="Recover (BETA)"
description="Button to recover project"
id="tw.alerts.recover"
/>
</button>
)}
{closeButton && (
<Box
className={styles.alertCloseButtonContainer}
@@ -128,9 +142,11 @@ AlertComponent.propTypes = {
onDownload: PropTypes.func,
onReconnect: PropTypes.func,
onSaveNow: PropTypes.func,
onRecover: PropTypes.func,
showDownload: PropTypes.func,
showReconnect: PropTypes.bool,
showSaveNow: PropTypes.bool
showSaveNow: PropTypes.bool,
showRecover: PropTypes.bool
};
AlertComponent.defaultProps = {
+1
View File
@@ -31,6 +31,7 @@ const AlertsComponent = ({
showDownload={a.showDownload}
showReconnect={a.showReconnect}
showSaveNow={a.showSaveNow}
showRecover={a.showRecover}
onCloseAlert={onCloseAlert}
/>
))}
@@ -11,7 +11,8 @@
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="sound" fill="#4C97FF" fill-rule="evenodd" xlink:href="#path-1"></use>
<!-- tw: update fill -->
<use id="sound" fill="#FF4D4D" fill-rule="evenodd" xlink:href="#path-1"></use>
<g id="Color/Gray" mask="url(#mask-2)" fill="#575E75" fill-rule="evenodd">
<rect id="Color" x="0" y="0" width="100" height="100"></rect>
</g>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -8,9 +8,11 @@
</defs>
<g id="Bottom-Left-Handle" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Bottom-Left" transform="translate(17.000000, 17.000000) scale(1, -1) translate(-17.000000, -17.000000) ">
<use stroke="#4D97FF33" stroke-width="8" xlink:href="#path-1"></use>
<!-- tw: update stroke -->
<use stroke="#FF4D4D33" stroke-width="8" xlink:href="#path-1"></use>
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use stroke="#3D73CC" stroke-width="1" fill="#4D97FF" fill-rule="evenodd" xlink:href="#path-1"></use>
<!-- tw: update stroke, fill -->
<use stroke="#FF3D3D" stroke-width="1" fill="#FF4D4D" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

+28 -3
View File
@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import {FormattedMessage} from 'react-intl';
import {FormattedMessage, defineMessages, injectIntl, intlShape} from 'react-intl';
import DragConstants from '../../lib/drag-constants';
import {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx';
import SpriteSelectorItem from '../../containers/sprite-selector-item.jsx';
@@ -17,6 +17,29 @@ const dragTypeMap = { // Keys correspond with the backpack-server item types
sprite: DragConstants.BACKPACK_SPRITE
};
const labelMap = defineMessages({
costume: {
id: 'gui.backpack.costumeLabel',
defaultMessage: 'costume',
description: 'Label for costume backpack item'
},
sound: {
id: 'gui.backpack.soundLabel',
defaultMessage: 'sound',
description: 'Label for sound backpack item'
},
script: {
id: 'gui.backpack.scriptLabel',
defaultMessage: 'script',
description: 'Label for script backpack item'
},
sprite: {
id: 'gui.backpack.spriteLabel',
defaultMessage: 'sprite',
description: 'Label for sprite backpack item'
}
});
const Backpack = ({
blockDragOver,
containerRef,
@@ -24,6 +47,7 @@ const Backpack = ({
dragOver,
error,
expanded,
intl,
loading,
showMore,
onToggle,
@@ -94,7 +118,7 @@ const Backpack = ({
dragType={dragTypeMap[item.type]}
id={item.id}
key={item.id}
name={item.type}
name={intl.formatMessage(labelMap[item.type])}
selected={false}
onClick={noop}
onDeleteButtonClick={onDelete}
@@ -141,6 +165,7 @@ Backpack.propTypes = {
dragOver: PropTypes.bool,
error: PropTypes.bool,
expanded: PropTypes.bool,
intl: intlShape,
loading: PropTypes.bool,
onDelete: PropTypes.func,
onMore: PropTypes.func,
@@ -161,4 +186,4 @@ Backpack.defaultProps = {
onToggle: null
};
export default Backpack;
export default injectIntl(Backpack);
+4
View File
@@ -6,6 +6,7 @@ import {defineMessages, injectIntl, intlShape} from 'react-intl';
import GreenFlag from '../green-flag/green-flag.jsx';
import StopAll from '../stop-all/stop-all.jsx';
import TurboMode from '../turbo-mode/turbo-mode.jsx';
import FramerateIndicator from '../tw-framerate-indicator/framerate-indicator.jsx';
import styles from './controls.css';
@@ -30,6 +31,7 @@ const Controls = function (props) {
onGreenFlagClick,
onStopAllClick,
turbo,
framerate,
...componentProps
} = props;
return (
@@ -50,6 +52,7 @@ const Controls = function (props) {
{turbo ? (
<TurboMode />
) : null}
<FramerateIndicator framerate={framerate} />
</div>
);
};
@@ -60,6 +63,7 @@ Controls.propTypes = {
intl: intlShape.isRequired,
onGreenFlagClick: PropTypes.func.isRequired,
onStopAllClick: PropTypes.func.isRequired,
framerate: PropTypes.number,
turbo: PropTypes.bool
};
@@ -11,7 +11,7 @@
align-items: center;
}
.body {
width: 35%;
width: 50%;
color: white;
text-align: center;
}
@@ -26,3 +26,7 @@
font-size: 0.875rem;
cursor: pointer;
}
.error-message {
font-family: monospace;
}
@@ -22,13 +22,18 @@ const CrashMessage = props => (
</h2>
<p>
<FormattedMessage
defaultMessage={'We are so sorry, but it looks like Scratch has crashed. This bug has been' +
' automatically reported to the Scratch Team. Please refresh your page to try' +
defaultMessage={'We are so sorry, but it looks like TurboWarp has crashed.' +
' Please refresh your page to try' +
' again.'}
description="Message to inform the user that page has crashed."
id="gui.crashMessage.description"
id="tw.gui.crashMessage.description"
/>
</p>
{props.errorMessage && (
<p className={styles.errorMessage}>
{props.errorMessage}
</p>
)}
{props.eventId && (
<p>
<FormattedMessage
@@ -57,6 +62,7 @@ const CrashMessage = props => (
CrashMessage.propTypes = {
eventId: PropTypes.string,
errorMessage: PropTypes.string,
onReload: PropTypes.func.isRequired
};
@@ -5,6 +5,7 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="all-around-active" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M16.8786199,10.6231329 L14.6209769,14.1433441 C14.3320842,14.6034325 13.6687009,14.6034325 13.3691085,14.1433441 L11.1221651,10.6231329 C10.8011732,10.1309454 11.1542643,9.47826182 11.7427495,9.47826182 L13.0267171,9.47826182 C12.7806233,7.4453131 11.0579667,5.87245277 8.9704494,5.87245277 C6.71387632,5.87245277 4.87245277,7.71280635 4.87245277,9.9704494 C4.87245277,12.2280925 6.71387632,14.068446 8.9704494,14.068446 C9.48510642,14.068446 9.90132592,14.4846655 9.90132592,14.9993226 C9.90132592,15.5236093 9.48510642,15.9408988 8.9704494,15.9408988 C5.67493253,15.9408988 3,13.2659663 3,9.9704494 C3,6.68563226 5.67493253,4 8.9704494,4 C12.0947706,4 14.6637758,6.41813901 14.9098696,9.47826182 L16.2580356,9.47826182 C16.8465207,9.47826182 17.1996118,10.1309454 16.8786199,10.6231329" id="Rotate" fill="#4C97FF"></path>
<!-- tw: update fill -->
<path d="M16.8786199,10.6231329 L14.6209769,14.1433441 C14.3320842,14.6034325 13.6687009,14.6034325 13.3691085,14.1433441 L11.1221651,10.6231329 C10.8011732,10.1309454 11.1542643,9.47826182 11.7427495,9.47826182 L13.0267171,9.47826182 C12.7806233,7.4453131 11.0579667,5.87245277 8.9704494,5.87245277 C6.71387632,5.87245277 4.87245277,7.71280635 4.87245277,9.9704494 C4.87245277,12.2280925 6.71387632,14.068446 8.9704494,14.068446 C9.48510642,14.068446 9.90132592,14.4846655 9.90132592,14.9993226 C9.90132592,15.5236093 9.48510642,15.9408988 8.9704494,15.9408988 C5.67493253,15.9408988 3,13.2659663 3,9.9704494 C3,6.68563226 5.67493253,4 8.9704494,4 C12.0947706,4 14.6637758,6.41813901 14.9098696,9.47826182 L16.2580356,9.47826182 C16.8465207,9.47826182 17.1996118,10.1309454 16.8786199,10.6231329" id="Rotate" fill="#FF4D4D"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -1 +1,2 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="112" height="112" viewBox="0 0 112 112"><defs><style>.cls-1{opacity:0.25;}.cls-2{fill:#4c97ff;}.cls-3{fill:#3d79cc;}.cls-4{opacity:0.15;}.cls-5{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;}</style></defs><title>dial-face</title><g class="cls-1"><circle class="cls-2" cx="56" cy="56" r="55.5"/><path class="cls-3" d="M56,1A55,55,0,1,1,1,56,55.06,55.06,0,0,1,56,1m0-1a56,56,0,1,0,56,56A56,56,0,0,0,56,0Z"/></g><g class="cls-4"><line class="cls-5" x1="56" y1="14.86" x2="56" y2="20.73"/><line class="cls-5" x1="56" y1="91.27" x2="56" y2="97.14"/><line class="cls-5" x1="45.35" y1="16.26" x2="46.87" y2="21.94"/><line class="cls-5" x1="65.13" y1="90.06" x2="66.65" y2="95.74"/><line class="cls-5" x1="35.43" y1="20.37" x2="38.37" y2="25.46"/><line class="cls-5" x1="73.63" y1="86.54" x2="76.57" y2="91.63"/><line class="cls-5" x1="26.91" y1="26.91" x2="31.06" y2="31.06"/><line class="cls-5" x1="80.94" y1="80.94" x2="85.09" y2="85.09"/><line class="cls-5" x1="20.37" y1="35.43" x2="25.46" y2="38.37"/><line class="cls-5" x1="86.54" y1="73.63" x2="91.63" y2="76.57"/><line class="cls-5" x1="16.26" y1="45.35" x2="21.94" y2="46.87"/><line class="cls-5" x1="90.06" y1="65.13" x2="95.74" y2="66.65"/><line class="cls-5" x1="14.86" y1="56" x2="20.73" y2="56"/><line class="cls-5" x1="91.27" y1="56" x2="97.14" y2="56"/><line class="cls-5" x1="16.26" y1="66.65" x2="21.94" y2="65.13"/><line class="cls-5" x1="90.06" y1="46.87" x2="95.74" y2="45.35"/><line class="cls-5" x1="20.37" y1="76.57" x2="25.46" y2="73.63"/><line class="cls-5" x1="86.54" y1="38.37" x2="91.63" y2="35.43"/><line class="cls-5" x1="26.91" y1="85.09" x2="31.06" y2="80.94"/><line class="cls-5" x1="80.94" y1="31.06" x2="85.09" y2="26.91"/><line class="cls-5" x1="35.43" y1="91.63" x2="38.37" y2="86.54"/><line class="cls-5" x1="73.63" y1="25.46" x2="76.57" y2="20.37"/><line class="cls-5" x1="45.35" y1="95.74" x2="46.87" y2="90.06"/><line class="cls-5" x1="65.13" y1="21.94" x2="66.65" y2="16.26"/></g><circle class="cls-2" cx="56" cy="56" r="2"/></svg>
<!-- tw: update fill -->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="112" height="112" viewBox="0 0 112 112"><defs><style>.cls-1{opacity:0.25;}.cls-2{fill:#FF4D4D;}.cls-3{fill:#FF3D3D;}.cls-4{opacity:0.15;}.cls-5{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;}</style></defs><title>dial-face</title><g class="cls-1"><circle class="cls-2" cx="56" cy="56" r="55.5"/><path class="cls-3" d="M56,1A55,55,0,1,1,1,56,55.06,55.06,0,0,1,56,1m0-1a56,56,0,1,0,56,56A56,56,0,0,0,56,0Z"/></g><g class="cls-4"><line class="cls-5" x1="56" y1="14.86" x2="56" y2="20.73"/><line class="cls-5" x1="56" y1="91.27" x2="56" y2="97.14"/><line class="cls-5" x1="45.35" y1="16.26" x2="46.87" y2="21.94"/><line class="cls-5" x1="65.13" y1="90.06" x2="66.65" y2="95.74"/><line class="cls-5" x1="35.43" y1="20.37" x2="38.37" y2="25.46"/><line class="cls-5" x1="73.63" y1="86.54" x2="76.57" y2="91.63"/><line class="cls-5" x1="26.91" y1="26.91" x2="31.06" y2="31.06"/><line class="cls-5" x1="80.94" y1="80.94" x2="85.09" y2="85.09"/><line class="cls-5" x1="20.37" y1="35.43" x2="25.46" y2="38.37"/><line class="cls-5" x1="86.54" y1="73.63" x2="91.63" y2="76.57"/><line class="cls-5" x1="16.26" y1="45.35" x2="21.94" y2="46.87"/><line class="cls-5" x1="90.06" y1="65.13" x2="95.74" y2="66.65"/><line class="cls-5" x1="14.86" y1="56" x2="20.73" y2="56"/><line class="cls-5" x1="91.27" y1="56" x2="97.14" y2="56"/><line class="cls-5" x1="16.26" y1="66.65" x2="21.94" y2="65.13"/><line class="cls-5" x1="90.06" y1="46.87" x2="95.74" y2="45.35"/><line class="cls-5" x1="20.37" y1="76.57" x2="25.46" y2="73.63"/><line class="cls-5" x1="86.54" y1="38.37" x2="91.63" y2="35.43"/><line class="cls-5" x1="26.91" y1="85.09" x2="31.06" y2="80.94"/><line class="cls-5" x1="80.94" y1="31.06" x2="85.09" y2="26.91"/><line class="cls-5" x1="35.43" y1="91.63" x2="38.37" y2="86.54"/><line class="cls-5" x1="73.63" y1="25.46" x2="76.57" y2="20.37"/><line class="cls-5" x1="45.35" y1="95.74" x2="46.87" y2="90.06"/><line class="cls-5" x1="65.13" y1="21.94" x2="66.65" y2="16.26"/></g><circle class="cls-2" cx="56" cy="56" r="2"/></svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -5,6 +5,7 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="dont-rotate-active" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12.5888771,8.06902644 L13.86349,6.56266574 C14.4487406,7.40331746 14.8232375,8.40101099 14.9098696,9.47826182 L16.2580356,9.47826182 C16.8465207,9.47826182 17.1996118,10.1309454 16.8786199,10.6231329 L14.6209769,14.1433441 C14.3320842,14.6034325 13.6687009,14.6034325 13.3691085,14.1433441 L11.1221651,10.6231329 C10.8011732,10.1309454 11.1542643,9.47826182 11.7427495,9.47826182 L13.0267171,9.47826182 C12.9657526,8.97464215 12.8141722,8.49925787 12.5888771,8.06902644 Z M14.9322936,3.75140819 L4.41830686,16.1770289 C4.39906741,16.1997664 4.38220902,16.2237219 4.3677064,16.2485918 L3.88169314,16.8229711 C3.70332112,17.0337744 3.38783218,17.0600652 3.17702888,16.8816931 C2.96622558,16.7033211 2.93993483,16.3878322 3.11830686,16.1770289 L4.77600701,14.2179287 C3.67971789,13.1352279 3,11.6316859 3,9.9704494 C3,6.68563226 5.67493253,4 8.9704494,4 C10.2739544,4 11.4807977,4.42091588 12.4626123,5.13375885 L14.1183069,3.17702888 C14.2966789,2.96622558 14.6121678,2.93993483 14.8229711,3.11830686 C15.0110369,3.27743943 15.052247,3.54570491 14.9322936,3.75140819 Z M6.41391759,15.3667059 L7.68705488,13.8620891 C8.09106584,13.9959518 8.52258095,14.068446 8.9704494,14.068446 C9.48510642,14.068446 9.90132592,14.4846655 9.90132592,14.9993226 C9.90132592,15.5236093 9.48510642,15.9408988 8.9704494,15.9408988 C8.05583315,15.9408988 7.1890173,15.7348626 6.41391759,15.3667059 Z M11.2481962,6.56897787 C10.5973184,6.12907251 9.81364832,5.87245277 8.9704494,5.87245277 C6.71387632,5.87245277 4.87245277,7.71280635 4.87245277,9.9704494 C4.87245277,11.0565658 5.29863553,12.0461039 5.99219528,12.7806153 L11.2481962,6.56897787 Z" id="Combined-Shape" fill="#4D97FF"></path>
<!-- tw: update fill -->
<path d="M12.5888771,8.06902644 L13.86349,6.56266574 C14.4487406,7.40331746 14.8232375,8.40101099 14.9098696,9.47826182 L16.2580356,9.47826182 C16.8465207,9.47826182 17.1996118,10.1309454 16.8786199,10.6231329 L14.6209769,14.1433441 C14.3320842,14.6034325 13.6687009,14.6034325 13.3691085,14.1433441 L11.1221651,10.6231329 C10.8011732,10.1309454 11.1542643,9.47826182 11.7427495,9.47826182 L13.0267171,9.47826182 C12.9657526,8.97464215 12.8141722,8.49925787 12.5888771,8.06902644 Z M14.9322936,3.75140819 L4.41830686,16.1770289 C4.39906741,16.1997664 4.38220902,16.2237219 4.3677064,16.2485918 L3.88169314,16.8229711 C3.70332112,17.0337744 3.38783218,17.0600652 3.17702888,16.8816931 C2.96622558,16.7033211 2.93993483,16.3878322 3.11830686,16.1770289 L4.77600701,14.2179287 C3.67971789,13.1352279 3,11.6316859 3,9.9704494 C3,6.68563226 5.67493253,4 8.9704494,4 C10.2739544,4 11.4807977,4.42091588 12.4626123,5.13375885 L14.1183069,3.17702888 C14.2966789,2.96622558 14.6121678,2.93993483 14.8229711,3.11830686 C15.0110369,3.27743943 15.052247,3.54570491 14.9322936,3.75140819 Z M6.41391759,15.3667059 L7.68705488,13.8620891 C8.09106584,13.9959518 8.52258095,14.068446 8.9704494,14.068446 C9.48510642,14.068446 9.90132592,14.4846655 9.90132592,14.9993226 C9.90132592,15.5236093 9.48510642,15.9408988 8.9704494,15.9408988 C8.05583315,15.9408988 7.1890173,15.7348626 6.41391759,15.3667059 Z M11.2481962,6.56897787 C10.5973184,6.12907251 9.81364832,5.87245277 8.9704494,5.87245277 C6.71387632,5.87245277 4.87245277,7.71280635 4.87245277,9.9704494 C4.87245277,11.0565658 5.29863553,12.0461039 5.99219528,12.7806153 L11.2481962,6.56897787 Z" id="Combined-Shape" fill="#FF4D4D"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -1 +1,2 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><defs><style>.cls-1,.cls-2{fill:#4c97ff;}.cls-1{opacity:0.15;}.cls-3{fill:#fff;}</style></defs><title>01_Dial Elements</title><circle class="cls-1" cx="20" cy="20" r="20"/><circle class="cls-2" cx="20" cy="20" r="16"/><path class="cls-3" d="M20.53,12.44l5,5A.74.74,0,0,1,25,18.68H22.37L21,26.86a1.08,1.08,0,0,1-2.13,0l-1.34-8.18H15a.74.74,0,0,1-.52-1.26l5-5A.77.77,0,0,1,20.53,12.44Z"/></svg>
<!-- tw: update fill -->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><defs><style>.cls-1,.cls-2{fill:#FF4D4D;}.cls-1{opacity:0.15;}.cls-3{fill:#fff;}</style></defs><title>01_Dial Elements</title><circle class="cls-1" cx="20" cy="20" r="20"/><circle class="cls-2" cx="20" cy="20" r="16"/><path class="cls-3" d="M20.53,12.44l5,5A.74.74,0,0,1,25,18.68H22.37L21,26.86a1.08,1.08,0,0,1-2.13,0l-1.34-8.18H15a.74.74,0,0,1-.52-1.26l5-5A.77.77,0,0,1,20.53,12.44Z"/></svg>

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 534 B

@@ -6,9 +6,10 @@
<defs></defs>
<g id="left-right-active" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Flip-Left-Right" transform="translate(2.000000, 4.000000)">
<path d="M4.66453333,2.41690667 L4.66453333,9.60624 C4.66453333,10.08224 4.08853333,10.3209067 3.7512,9.98357333 L0.156533333,6.38890667 C-0.0514666667,6.17957333 -0.0514666667,5.84090667 0.156533333,5.63290667 L3.7512,2.03824 C4.08853333,1.70090667 4.66453333,1.93957333 4.66453333,2.41690667" id="Fill-1" fill="#4D97FF" transform="translate(2.332533, 6.010929) scale(-1, 1) translate(-2.332533, -6.010929) "></path>
<path d="M7.87546667,11.7567733 C7.70213333,11.7567733 7.54213333,11.6901067 7.4088,11.5581067 C7.35546667,11.5047733 7.30213333,11.42344 7.26213333,11.34344 C7.2368,11.2647733 7.2088,11.18344 7.2088,11.0901067 C7.2088,11.0101067 7.2368,10.9167733 7.26213333,10.8381067 C7.30213333,10.7567733 7.35546667,10.6767733 7.4088,10.62344 C7.59546667,10.4381067 7.89013333,10.3701067 8.14213333,10.4767733 C8.22346667,10.5167733 8.29013333,10.5581067 8.35546667,10.62344 C8.4088,10.6767733 8.46213333,10.7567733 8.50346667,10.8381067 C8.5288,10.9167733 8.5568,11.0101067 8.5568,11.0901067 C8.5568,11.18344 8.5288,11.2647733 8.50346667,11.34344 C8.46213333,11.42344 8.42213333,11.5047733 8.35546667,11.5581067 C8.2368,11.6901067 8.06346667,11.7567733 7.87546667,11.7567733 Z M7.22306667,3.27757333 C7.22306667,2.90424 7.5164,2.61090667 7.88973333,2.61090667 C8.24973333,2.61090667 8.5564,2.90424 8.5564,3.27757333 C8.5564,3.63757333 8.24973333,3.94424 7.88973333,3.94424 C7.5164,3.94424 7.22306667,3.63757333 7.22306667,3.27757333 Z M7.22306667,5.87757333 C7.22306667,5.50424 7.5164,5.21090667 7.88973333,5.21090667 C8.24973333,5.21090667 8.5564,5.50424 8.5564,5.87757333 C8.5564,6.24957333 8.24973333,6.54424 7.88973333,6.54424 C7.5164,6.54424 7.22306667,6.24957333 7.22306667,5.87757333 Z M7.22306667,8.49090667 C7.22306667,8.11757333 7.5164,7.82424 7.88973333,7.82424 C8.24973333,7.82424 8.5564,8.11757333 8.5564,8.49090667 C8.5564,8.85090667 8.24973333,9.15757333 7.88973333,9.15757333 C7.5164,9.15757333 7.22306667,8.85090667 7.22306667,8.49090667 Z M7.87546667,1.33104 C7.79546667,1.33104 7.70213333,1.31770667 7.62346667,1.29104 C7.54213333,1.24970667 7.47546667,1.19637333 7.4088,1.14304 C7.35546667,1.07770667 7.30213333,0.997706667 7.26213333,0.916373333 C7.2368,0.837706667 7.2088,0.756373333 7.2088,0.664373333 C7.2088,0.58304 7.2368,0.49104 7.26213333,0.41104 C7.30213333,0.33104 7.35546667,0.249706667 7.4088,0.196373333 C7.59546667,0.01104 7.89013333,-0.0556266667 8.14213333,0.05104 C8.22346667,0.0897066667 8.29013333,0.13104 8.35546667,0.196373333 C8.47546667,0.317706667 8.5568,0.49104 8.5568,0.664373333 C8.5568,0.756373333 8.5288,0.837706667 8.50346667,0.916373333 C8.46213333,0.997706667 8.42213333,1.07770667 8.35546667,1.14304 C8.22346667,1.26437333 8.06346667,1.33104 7.87546667,1.33104 Z" id="Combined-Shape" fill-opacity="0.25" fill="#575E75"></path>
<path d="M11.102,9.60570667 L11.102,2.41637333 C11.102,1.93904 11.6793333,1.70037333 12.0166667,2.03770667 L15.61,5.63370667 C15.8193333,5.84170667 15.8193333,6.18037333 15.61,6.38970667 L12.0166667,9.98304 C11.6793333,10.3203733 11.102,10.0817067 11.102,9.60570667" id="Fill-3" fill="#4D97FF" transform="translate(13.434500, 6.010396) scale(-1, 1) translate(-13.434500, -6.010396) "></path>
<!-- tw: update fill x3 -->
<path d="M4.66453333,2.41690667 L4.66453333,9.60624 C4.66453333,10.08224 4.08853333,10.3209067 3.7512,9.98357333 L0.156533333,6.38890667 C-0.0514666667,6.17957333 -0.0514666667,5.84090667 0.156533333,5.63290667 L3.7512,2.03824 C4.08853333,1.70090667 4.66453333,1.93957333 4.66453333,2.41690667" id="Fill-1" fill="#FF4D4D" transform="translate(2.332533, 6.010929) scale(-1, 1) translate(-2.332533, -6.010929) "></path>
<path d="M7.87546667,11.7567733 C7.70213333,11.7567733 7.54213333,11.6901067 7.4088,11.5581067 C7.35546667,11.5047733 7.30213333,11.42344 7.26213333,11.34344 C7.2368,11.2647733 7.2088,11.18344 7.2088,11.0901067 C7.2088,11.0101067 7.2368,10.9167733 7.26213333,10.8381067 C7.30213333,10.7567733 7.35546667,10.6767733 7.4088,10.62344 C7.59546667,10.4381067 7.89013333,10.3701067 8.14213333,10.4767733 C8.22346667,10.5167733 8.29013333,10.5581067 8.35546667,10.62344 C8.4088,10.6767733 8.46213333,10.7567733 8.50346667,10.8381067 C8.5288,10.9167733 8.5568,11.0101067 8.5568,11.0901067 C8.5568,11.18344 8.5288,11.2647733 8.50346667,11.34344 C8.46213333,11.42344 8.42213333,11.5047733 8.35546667,11.5581067 C8.2368,11.6901067 8.06346667,11.7567733 7.87546667,11.7567733 Z M7.22306667,3.27757333 C7.22306667,2.90424 7.5164,2.61090667 7.88973333,2.61090667 C8.24973333,2.61090667 8.5564,2.90424 8.5564,3.27757333 C8.5564,3.63757333 8.24973333,3.94424 7.88973333,3.94424 C7.5164,3.94424 7.22306667,3.63757333 7.22306667,3.27757333 Z M7.22306667,5.87757333 C7.22306667,5.50424 7.5164,5.21090667 7.88973333,5.21090667 C8.24973333,5.21090667 8.5564,5.50424 8.5564,5.87757333 C8.5564,6.24957333 8.24973333,6.54424 7.88973333,6.54424 C7.5164,6.54424 7.22306667,6.24957333 7.22306667,5.87757333 Z M7.22306667,8.49090667 C7.22306667,8.11757333 7.5164,7.82424 7.88973333,7.82424 C8.24973333,7.82424 8.5564,8.11757333 8.5564,8.49090667 C8.5564,8.85090667 8.24973333,9.15757333 7.88973333,9.15757333 C7.5164,9.15757333 7.22306667,8.85090667 7.22306667,8.49090667 Z M7.87546667,1.33104 C7.79546667,1.33104 7.70213333,1.31770667 7.62346667,1.29104 C7.54213333,1.24970667 7.47546667,1.19637333 7.4088,1.14304 C7.35546667,1.07770667 7.30213333,0.997706667 7.26213333,0.916373333 C7.2368,0.837706667 7.2088,0.756373333 7.2088,0.664373333 C7.2088,0.58304 7.2368,0.49104 7.26213333,0.41104 C7.30213333,0.33104 7.35546667,0.249706667 7.4088,0.196373333 C7.59546667,0.01104 7.89013333,-0.0556266667 8.14213333,0.05104 C8.22346667,0.0897066667 8.29013333,0.13104 8.35546667,0.196373333 C8.47546667,0.317706667 8.5568,0.49104 8.5568,0.664373333 C8.5568,0.756373333 8.5288,0.837706667 8.50346667,0.916373333 C8.46213333,0.997706667 8.42213333,1.07770667 8.35546667,1.14304 C8.22346667,1.26437333 8.06346667,1.33104 7.87546667,1.33104 Z" id="Combined-Shape" fill-opacity="0.25" fill="#FF4D4D"></path>
<path d="M11.102,9.60570667 L11.102,2.41637333 C11.102,1.93904 11.6793333,1.70037333 12.0166667,2.03770667 L15.61,5.63370667 C15.8193333,5.84170667 15.8193333,6.18037333 15.61,6.38970667 L12.0166667,9.98304 C11.6793333,10.3203733 11.102,10.0817067 11.102,9.60570667" id="Fill-3" fill="#FF4D4D" transform="translate(13.434500, 6.010396) scale(-1, 1) translate(-13.434500, -6.010396) "></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

+2 -1
View File
@@ -9,7 +9,8 @@
left: 0;
top: 0;
width: 100%;
height: 100%
height: 100%;
direction: ltr;
}
.image-wrapper {
+2 -1
View File
@@ -1,3 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14.5" height="14.6" viewBox="0 0 14.5 14.6">
<path fill="#4C97FF" d="M10.4 9.2l-.8-.1-.2-.2c.5-.5.8-1 1-1.6.2-.6.3-1.2.3-1.9 0-1-.2-1.9-.7-2.7-.4-.9-1.1-1.5-1.9-2C7.3.2 6.3 0 5.4 0c-.9 0-1.9.2-2.7.7-.9.5-1.5 1.2-2 2S0 4.4 0 5.4s.2 1.9.7 2.8c.5.8 1.2 1.4 2 1.9s1.7.7 2.7.7c.7 0 1.3-.1 1.9-.3.6-.3 1.1-.6 1.6-1l.2.3v.6l4.1 4.2 1.3-1.3-4.1-4.1zM8.7 7.3c-.4.6-.8 1.1-1.4 1.4-.6.3-1.2.5-1.9.5-.6 0-1.3-.2-1.8-.5-.6-.4-1.1-.8-1.4-1.4-.3-.6-.5-1.2-.5-1.9s.2-1.4.5-1.9.8-1 1.4-1.3c.5-.4 1.1-.5 1.8-.5s1.3.1 1.9.5c.6.3 1 .8 1.4 1.3.3.6.5 1.2.5 1.9S9 6.7 8.7 7.3z"/>
<!-- tw: update filter -->
<path fill="#FF4D4D" d="M10.4 9.2l-.8-.1-.2-.2c.5-.5.8-1 1-1.6.2-.6.3-1.2.3-1.9 0-1-.2-1.9-.7-2.7-.4-.9-1.1-1.5-1.9-2C7.3.2 6.3 0 5.4 0c-.9 0-1.9.2-2.7.7-.9.5-1.5 1.2-2 2S0 4.4 0 5.4s.2 1.9.7 2.8c.5.8 1.2 1.4 2 1.9s1.7.7 2.7.7c.7 0 1.3-.1 1.9-.3.6-.3 1.1-.6 1.6-1l.2.3v.6l4.1 4.2 1.3-1.3-4.1-4.1zM8.7 7.3c-.4.6-.8 1.1-1.4 1.4-.6.3-1.2.5-1.9.5-.6 0-1.3-.2-1.8-.5-.6-.4-1.1-.8-1.4-1.4-.3-.6-.5-1.2-.5-1.9s.2-1.4.5-1.9.8-1 1.4-1.3c.5-.4 1.1-.5 1.8-.5s1.3.1 1.9.5c.6.3 1 .8 1.4 1.3.3.6.5 1.2.5 1.9S9 6.7 8.7 7.3z"/>
</svg>

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 642 B

+2 -1
View File
@@ -1,3 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="9" height="8" viewBox="0 0 9 8">
<path fill="none" stroke="#4C97FF" stroke-width="2" d="M1 7.333L7.333 1M1 1L7.333 7.333" stroke-linecap="round" stroke-linejoin="round"/>
<!-- tw: update stroke -->
<path fill="none" stroke="#FF4D4D" stroke-width="2" d="M1 7.333L7.333 1M1 1L7.333 7.333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 256 B

+2
View File
@@ -26,6 +26,8 @@ const GreenFlagComponent = function (props) {
src={greenFlagIcon}
title={title}
onClick={onClick}
// tw: also fire click when opening context menu (right click on all systems and alt+click on chromebooks)
onContextMenu={onClick}
{...componentProps}
/>
);
+24 -15
View File
@@ -34,7 +34,17 @@
}
.editor-wrapper {
flex-basis: 600px;
/*
This is carefully balanced-- the minimum width at which the GUI will be displayed is 1024px.
At that size, the stage pane is 408px wide, with $space of padding to each side.
However, we must also add the border width to the stage pane. All-in-all, the stage pane's final width is
408px + ($space + $stage-standard-border-width * 2) (one border & padding per left/right side).
@todo This is in place to prevent "doubling up" of horizontal scrollbars in narrow windows, but there are likely
much better ways to solve that (e.g. undo #2124, remove this flex-basis entirely). However, they run their own
risks of breaking things, so let's just leave this as-is for the time being.
*/
flex-basis: calc(1024px - 408px - (($space + $stage-standard-border-width) * 2));
flex-grow: 1;
flex-shrink: 0;
position: relative;
@@ -197,21 +207,9 @@
/* pad entire wrapper to the left and right; allow children to fill width */
padding-left: $space;
padding-right: $space;
}
.stage-and-target-wrapper.large {
/* Fix the max width to max large stage size (defined in layout_constants.js) + gutter size */
max-width: calc(480px + calc($space * 2));
}
.stage-and-target-wrapper.large-constrained {
/* Fix the max width to max largeConstrained stage size (defined in layout_constants.js) + gutter size */
max-width: calc(408px + calc($space * 2));
}
.stage-and-target-wrapper.small {
/* Fix the max width to max small stage size (defined in layout_constants.js) + gutter size */
max-width: calc(240px + calc($space * 2));
/* this will only ever be as wide as the stage */
flex-basis: 0;
}
.target-wrapper {
@@ -309,6 +307,7 @@ $fade-out-distance: 15px;
z-index: $z-index-alerts;
position: absolute;
margin-top: 53px;
pointer-events: none;
}
/*
@@ -318,3 +317,13 @@ $fade-out-distance: 15px;
:global(.ReactModal__Body--open) {
overflow: hidden;
}
/* tw: tw: when window is fullscreen, put a solid white background behind the stage */
.fullscreen-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: white;
}
+30 -11
View File
@@ -82,13 +82,16 @@ const GUIComponent = props => {
enableCommunity,
intl,
isCreating,
isEmbedded,
isFullScreen,
isPlayerOnly,
isRtl,
isShared,
isWindowFullScreen,
loading,
logo,
renderLogin,
onClickAbout,
onClickAccountNav,
onCloseAccountNav,
onLogOut,
@@ -105,6 +108,7 @@ const GUIComponent = props => {
onRequestCloseTelemetryModal,
onSeeCommunity,
onShare,
onShowPrivacyPolicy,
onTelemetryModalCancel,
onTelemetryModalOptIn,
onTelemetryModalOptOut,
@@ -138,18 +142,25 @@ const GUIComponent = props => {
const stageSize = resolveStageSize(stageSizeMode, isFullSize);
return isPlayerOnly ? (
<StageWrapper
isFullScreen={isFullScreen}
isRendererSupported={isRendererSupported}
isRtl={isRtl}
loading={loading}
stageSize={STAGE_SIZE_MODES.large}
vm={vm}
>
{alertsVisible ? (
<Alerts className={styles.alertsContainer} />
<React.Fragment>
{/* tw: when window is fullscreen, put a solid white background behind the stage */}
{isWindowFullScreen ? (
<div className={styles.fullscreenBackground} />
) : null}
</StageWrapper>
<StageWrapper
isFullScreen={isFullScreen}
isEmbedded={isEmbedded}
isRendererSupported={isRendererSupported}
isRtl={isRtl}
loading={loading}
stageSize={STAGE_SIZE_MODES.large}
vm={vm}
>
{alertsVisible ? (
<Alerts className={styles.alertsContainer} />
) : null}
</StageWrapper>
</React.Fragment>
) : (
<Box
className={styles.pageWrapper}
@@ -162,6 +173,7 @@ const GUIComponent = props => {
onOptIn={onTelemetryModalOptIn}
onOptOut={onTelemetryModalOptOut}
onRequestClose={onRequestCloseTelemetryModal}
onShowPrivacyPolicy={onShowPrivacyPolicy}
/>
) : null}
{loading ? (
@@ -218,6 +230,7 @@ const GUIComponent = props => {
logo={logo}
renderLogin={renderLogin}
showComingSoon={showComingSoon}
onClickAbout={onClickAbout}
onClickAccountNav={onClickAccountNav}
onClickLogo={onClickLogo}
onCloseAccountNav={onCloseAccountNav}
@@ -332,6 +345,7 @@ const GUIComponent = props => {
<Box className={classNames(styles.stageAndTargetWrapper, styles[stageSize])}>
<StageWrapper
isFullScreen={isFullScreen}
isRendererSupported={isRendererSupported}
isRtl={isRtl}
stageSize={stageSize}
@@ -379,15 +393,18 @@ GUIComponent.propTypes = {
enableCommunity: PropTypes.bool,
intl: intlShape.isRequired,
isCreating: PropTypes.bool,
isEmbedded: PropTypes.bool,
isFullScreen: PropTypes.bool,
isPlayerOnly: PropTypes.bool,
isRtl: PropTypes.bool,
isShared: PropTypes.bool,
isWindowFullScreen: PropTypes.bool,
loading: PropTypes.bool,
logo: PropTypes.string,
onActivateCostumesTab: PropTypes.func,
onActivateSoundsTab: PropTypes.func,
onActivateTab: PropTypes.func,
onClickAbout: PropTypes.func,
onClickAccountNav: PropTypes.func,
onClickLogo: PropTypes.func,
onCloseAccountNav: PropTypes.func,
@@ -399,6 +416,7 @@ GUIComponent.propTypes = {
onRequestCloseTelemetryModal: PropTypes.func,
onSeeCommunity: PropTypes.func,
onShare: PropTypes.func,
onShowPrivacyPolicy: PropTypes.func,
onTabSelect: PropTypes.func,
onTelemetryModalCancel: PropTypes.func,
onTelemetryModalOptIn: PropTypes.func,
@@ -435,6 +453,7 @@ GUIComponent.defaultProps = {
};
const mapStateToProps = state => ({
isWindowFullScreen: state.scratchGui.tw.isWindowFullScreen,
// This is the button's mode, as opposed to the actual current state
stageSizeMode: state.scratchGui.stageSize.stageSize
});
+2 -1
View File
@@ -5,6 +5,7 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Code-V2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M15,14.51 C15,14.786 14.776,15.01 14.5,15.01 L9.197,15.01 C9.064,15.01 8.937,15.062 8.844,15.156 L8.146,15.854 C8.053,15.947 7.926,16 7.793,16 L6.207,16 C6.074,16 5.947,15.947 5.854,15.854 L5.156,15.156 C5.062,15.062 4.936,15.01 4.803,15.01 L3.5,15.01 C3.224,15.01 3,14.786 3,14.51 L3,11.5 C3,11.224 3.224,11 3.5,11 L4.793,11 C4.926,11 5.053,11.053 5.146,11.146 L5.854,11.854 C5.947,11.947 6.074,12 6.207,12 L7.793,12 C7.926,12 8.053,11.947 8.146,11.854 L8.854,11.146 C8.947,11.053 9.074,11 9.207,11 L14.5,11 C14.776,11 15,11.224 15,11.5 L15,14.51 Z M17,9.51 C17,9.786 16.776,10.01 16.5,10.01 L9.197,10.01 C9.064,10.01 8.937,10.062 8.844,10.156 L8.146,10.854 C8.053,10.947 7.926,11 7.793,11 L6.207,11 C6.074,11 5.947,10.947 5.854,10.854 L5.156,10.156 C5.062,10.062 4.936,10.01 4.803,10.01 L3.5,10.01 C3.224,10.01 3,9.786 3,9.51 L3,6.5 C3,6.224 3.224,6 3.5,6 L4.793,6 C4.926,6 5.053,6.053 5.146,6.146 L5.854,6.854 C5.947,6.947 6.074,7 6.207,7 L7.793,7 C7.926,7 8.053,6.947 8.146,6.854 L8.854,6.146 C8.947,6.053 9.074,6 9.207,6 L16.5,6 C16.776,6 17,6.224 17,6.5 L17,9.51 Z" id="Code" fill="#4C97FF"></path>
<!-- tw: fill color changed -->
<path d="M15,14.51 C15,14.786 14.776,15.01 14.5,15.01 L9.197,15.01 C9.064,15.01 8.937,15.062 8.844,15.156 L8.146,15.854 C8.053,15.947 7.926,16 7.793,16 L6.207,16 C6.074,16 5.947,15.947 5.854,15.854 L5.156,15.156 C5.062,15.062 4.936,15.01 4.803,15.01 L3.5,15.01 C3.224,15.01 3,14.786 3,14.51 L3,11.5 C3,11.224 3.224,11 3.5,11 L4.793,11 C4.926,11 5.053,11.053 5.146,11.146 L5.854,11.854 C5.947,11.947 6.074,12 6.207,12 L7.793,12 C7.926,12 8.053,11.947 8.146,11.854 L8.854,11.146 C8.947,11.053 9.074,11 9.207,11 L14.5,11 C14.776,11 15,11.224 15,11.5 L15,14.51 Z M17,9.51 C17,9.786 16.776,10.01 16.5,10.01 L9.197,10.01 C9.064,10.01 8.937,10.062 8.844,10.156 L8.146,10.854 C8.053,10.947 7.926,11 7.793,11 L6.207,11 C6.074,11 5.947,10.947 5.854,10.854 L5.156,10.156 C5.062,10.062 4.936,10.01 4.803,10.01 L3.5,10.01 C3.224,10.01 3,9.786 3,9.51 L3,6.5 C3,6.224 3.224,6 3.5,6 L4.793,6 C4.926,6 5.053,6.053 5.146,6.146 L5.854,6.854 C5.947,6.947 6.074,7 6.207,7 L7.793,7 C7.926,7 8.053,6.947 8.146,6.854 L8.854,6.146 C8.947,6.053 9.074,6 9.207,6 L16.5,6 C16.776,6 17,6.224 17,6.5 L17,9.51 Z" id="Code" fill="#FF4D4D"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

+2 -1
View File
@@ -5,6 +5,7 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Paint-Editor-V1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M16.1998226,6.58685277 C15.5417294,7.94213763 14.5662678,9.50539101 13.6457617,10.6638734 C12.8750097,11.639511 12.2567593,12.2117734 11.6659868,12.4909258 C11.5972923,12.5341944 11.5299717,12.5481521 11.4461644,12.5481521 C11.3912089,12.5481521 11.3362533,12.5341944 11.2675588,12.5048834 C11.1439087,12.4644063 11.0339976,12.366703 10.979042,12.2410844 C10.8141752,11.8628329 10.580614,11.5432035 10.2659932,11.2905705 C9.94862474,11.053291 9.59141344,10.871842 9.18062043,10.7741386 C9.05559648,10.7462234 8.93194641,10.6638734 8.86325193,10.5368591 C8.79455745,10.4251981 8.76845354,10.2856219 8.79455745,10.1474415 C8.9594242,9.50539101 9.38532999,8.75167956 10.1272304,7.81651905 C11.5849273,5.94480227 14.4975733,3.16863175 15.9113058,3.01370218 C16.2959949,2.9578717 16.5158172,3.08349028 16.6532062,3.19515123 C17.0117914,3.50221886 17.3690027,4.17358036 16.1998226,6.58685277 Z M10.2654437,13.9990466 C10.3478771,14.6969276 10.1692714,15.3808509 9.74199174,15.9251981 C9.37241543,16.412319 8.85033737,16.7486977 8.25956482,16.8882738 C8.23208703,16.9022315 8.19087034,16.9161891 8.16339255,16.9161891 L8.0246297,16.9301467 C7.76496455,16.9720196 7.51766442,16.9999348 7.2689904,16.9999348 C5.29196321,16.9999348 3.90296079,15.6586076 3.35477883,14.7806733 C3.14732149,14.4317328 2.83270076,13.7896823 3.10747869,13.3849114 C3.17617317,13.287208 3.36714383,13.0778437 3.77931072,13.1615894 C5.08450588,13.4407418 5.55162835,12.8545218 5.63543562,12.7428609 C6.51472499,11.5843784 8.14965365,11.3750141 9.27486926,12.2403866 C9.82579901,12.6730728 10.1816364,13.3011656 10.2654437,13.9990466 Z" id="Fill-4" fill="#4C97FF"></path>
<!-- tw: fill color changed -->
<path d="M16.1998226,6.58685277 C15.5417294,7.94213763 14.5662678,9.50539101 13.6457617,10.6638734 C12.8750097,11.639511 12.2567593,12.2117734 11.6659868,12.4909258 C11.5972923,12.5341944 11.5299717,12.5481521 11.4461644,12.5481521 C11.3912089,12.5481521 11.3362533,12.5341944 11.2675588,12.5048834 C11.1439087,12.4644063 11.0339976,12.366703 10.979042,12.2410844 C10.8141752,11.8628329 10.580614,11.5432035 10.2659932,11.2905705 C9.94862474,11.053291 9.59141344,10.871842 9.18062043,10.7741386 C9.05559648,10.7462234 8.93194641,10.6638734 8.86325193,10.5368591 C8.79455745,10.4251981 8.76845354,10.2856219 8.79455745,10.1474415 C8.9594242,9.50539101 9.38532999,8.75167956 10.1272304,7.81651905 C11.5849273,5.94480227 14.4975733,3.16863175 15.9113058,3.01370218 C16.2959949,2.9578717 16.5158172,3.08349028 16.6532062,3.19515123 C17.0117914,3.50221886 17.3690027,4.17358036 16.1998226,6.58685277 Z M10.2654437,13.9990466 C10.3478771,14.6969276 10.1692714,15.3808509 9.74199174,15.9251981 C9.37241543,16.412319 8.85033737,16.7486977 8.25956482,16.8882738 C8.23208703,16.9022315 8.19087034,16.9161891 8.16339255,16.9161891 L8.0246297,16.9301467 C7.76496455,16.9720196 7.51766442,16.9999348 7.2689904,16.9999348 C5.29196321,16.9999348 3.90296079,15.6586076 3.35477883,14.7806733 C3.14732149,14.4317328 2.83270076,13.7896823 3.10747869,13.3849114 C3.17617317,13.287208 3.36714383,13.0778437 3.77931072,13.1615894 C5.08450588,13.4407418 5.55162835,12.8545218 5.63543562,12.7428609 C6.51472499,11.5843784 8.14965365,11.3750141 9.27486926,12.2403866 C9.82579901,12.6730728 10.1816364,13.3011656 10.2654437,13.9990466 Z" id="Fill-4" fill="#FF4D4D"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

+2 -1
View File
@@ -5,6 +5,7 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Sounds-V1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12.6307801,13.637142 C12.480284,13.637142 12.3255684,13.5975477 12.1849178,13.5141169 C11.7671856,13.2652385 11.6279416,12.7236452 11.8754866,12.303663 C12.346666,11.5004646 12.346666,10.5049512 11.8754866,9.70316691 C11.6279416,9.28177059 11.7671856,8.74017733 12.1849178,8.49129896 C12.6068695,8.24524876 13.1441547,8.38382876 13.3888867,8.80239692 C14.1863754,10.1599153 14.1863754,11.8455006 13.3888867,13.2030189 C13.225732,13.4830071 12.9317723,13.637142 12.6307801,13.637142 Z M15.2566363,15.0553244 C15.1061402,15.0553244 14.950018,15.0157301 14.810774,14.9322993 C14.3930418,14.683421 14.2537977,14.1418277 14.5013427,13.7218455 C15.4873032,12.0447447 15.4873032,9.96038836 14.5013427,8.28470164 C14.2537977,7.8647194 14.3930418,7.32171206 14.810774,7.07283369 C15.2299126,6.82819757 15.7671978,6.96536349 16.0147428,7.38393165 C17.3284191,9.61535244 17.3284191,12.3897806 16.0147428,14.6212014 C15.8501816,14.9011895 15.5576285,15.0553244 15.2566363,15.0553244 Z M10.3785286,6.67858774 L10.3785286,15.3200405 C10.3785286,16.3438356 9.17174676,16.8797725 8.41926624,16.1897007 L6.79475223,14.6978446 C6.21949142,14.1703921 5.46982391,13.8776773 4.69061978,13.8776773 L4.40650564,13.8776773 C3.63011453,13.8776773 3,13.2455828 3,12.4635956 L3,9.5505875 C3,8.77001445 3.63011453,8.13650589 4.40650564,8.13650589 L4.67514822,8.13650589 C5.45435235,8.13650589 6.20401986,7.84379099 6.77928066,7.31633855 L8.41926624,5.81034163 C9.17174676,5.1202698 10.3785286,5.65620673 10.3785286,6.67858774 Z" id="Combined-Shape" fill="#4C97FF"></path>
<!-- tw: fill color changed -->
<path d="M12.6307801,13.637142 C12.480284,13.637142 12.3255684,13.5975477 12.1849178,13.5141169 C11.7671856,13.2652385 11.6279416,12.7236452 11.8754866,12.303663 C12.346666,11.5004646 12.346666,10.5049512 11.8754866,9.70316691 C11.6279416,9.28177059 11.7671856,8.74017733 12.1849178,8.49129896 C12.6068695,8.24524876 13.1441547,8.38382876 13.3888867,8.80239692 C14.1863754,10.1599153 14.1863754,11.8455006 13.3888867,13.2030189 C13.225732,13.4830071 12.9317723,13.637142 12.6307801,13.637142 Z M15.2566363,15.0553244 C15.1061402,15.0553244 14.950018,15.0157301 14.810774,14.9322993 C14.3930418,14.683421 14.2537977,14.1418277 14.5013427,13.7218455 C15.4873032,12.0447447 15.4873032,9.96038836 14.5013427,8.28470164 C14.2537977,7.8647194 14.3930418,7.32171206 14.810774,7.07283369 C15.2299126,6.82819757 15.7671978,6.96536349 16.0147428,7.38393165 C17.3284191,9.61535244 17.3284191,12.3897806 16.0147428,14.6212014 C15.8501816,14.9011895 15.5576285,15.0553244 15.2566363,15.0553244 Z M10.3785286,6.67858774 L10.3785286,15.3200405 C10.3785286,16.3438356 9.17174676,16.8797725 8.41926624,16.1897007 L6.79475223,14.6978446 C6.21949142,14.1703921 5.46982391,13.8776773 4.69061978,13.8776773 L4.40650564,13.8776773 C3.63011453,13.8776773 3,13.2455828 3,12.4635956 L3,9.5505875 C3,8.77001445 3.63011453,8.13650589 4.40650564,8.13650589 L4.67514822,8.13650589 C5.45435235,8.13650589 6.20401986,7.84379099 6.77928066,7.31633855 L8.41926624,5.81034163 C9.17174676,5.1202698 10.3785286,5.65620673 10.3785286,6.67858774 Z" id="Combined-Shape" fill="#FF4D4D"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

+2 -2
View File
@@ -217,9 +217,9 @@ class LibraryComponent extends React.Component {
extensionId={dataItem.extensionId}
featured={dataItem.featured}
hidden={dataItem.hidden}
iconMd5={dataItem.md5}
iconMd5={dataItem.costumes ? dataItem.costumes[0].md5ext : dataItem.md5ext}
iconRawURL={dataItem.rawURL}
icons={dataItem.json && dataItem.json.costumes}
icons={dataItem.costumes}
id={index}
insetIconURL={dataItem.insetIconURL}
internetConnectionRequired={dataItem.internetConnectionRequired}
+21
View File
@@ -17,6 +17,11 @@
color: white;
}
/* tw: dark theme */
[theme="dark"] .background {
background-color: $motion-primary-dark;
}
.fullscreen {
/* Break out of the layout using position: fixed to cover the whole screen */
position: fixed;
@@ -180,3 +185,19 @@
height: 20px;
margin: 5px 0;
}
.tw-progress-outer {
position: relative;
width: 250px;
height: 5px;
border: 1px solid white;
margin: auto;
}
.tw-progress-inner {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 0;
background-color: white;
}
+61 -126
View File
@@ -1,104 +1,25 @@
import React from 'react';
import {FormattedMessage} from 'react-intl';
import {defineMessages, FormattedMessage, intlShape, injectIntl} from 'react-intl';
import classNames from 'classnames';
import styles from './loader.css';
import PropTypes from 'prop-types';
import bindAll from 'lodash.bindall';
import topBlock from './top-block.svg';
import middleBlock from './middle-block.svg';
import bottomBlock from './bottom-block.svg';
const messages = [
{
message: (
<FormattedMessage
defaultMessage="Creating blocks …"
description="One of the loading messages"
id="gui.loader.message1"
/>
),
weight: 50
},
{
message: (
<FormattedMessage
defaultMessage="Loading sprites …"
description="One of the loading messages"
id="gui.loader.message2"
/>
),
weight: 50
},
{
message: (
<FormattedMessage
defaultMessage="Loading sounds …"
description="One of the loading messages"
id="gui.loader.message3"
/>
),
weight: 50
},
{
message: (
<FormattedMessage
defaultMessage="Loading extensions …"
description="One of the loading messages"
id="gui.loader.message4"
/>
),
weight: 50
},
{
message: (
<FormattedMessage
defaultMessage="Creating blocks …"
description="One of the loading messages"
id="gui.loader.message1"
/>
),
weight: 20
},
{
message: (
<FormattedMessage
defaultMessage="Herding cats …"
description="One of the loading messages"
id="gui.loader.message5"
/>
),
weight: 1
},
{
message: (
<FormattedMessage
defaultMessage="Transmitting nanos …"
description="One of the loading messages"
id="gui.loader.message6"
/>
),
weight: 1
},
{
message: (
<FormattedMessage
defaultMessage="Inflating gobos …"
description="One of the loading messages"
id="gui.loader.message7"
/>
),
weight: 1
},
{
message: (
<FormattedMessage
defaultMessage="Preparing emojis …"
description="One of the loading messages"
id="gui.loader.message8"
/>
),
weight: 1
}
];
// tw:
// we make some rather large changes here:
// - remove random message, replaced with message dependent on what is actually being loaded
// - add a progress bar
// - bring in intl so that we can translate everything
// The way of doing this is extremely unusual and weird compared to how things are typically done for performance.
// This is because react updates are too performance crippling to handle the progress bar rapidly updating.
// tw:
// progress bar logic removed entirely as it is unneeded in desktop build
const mainMessages = {
'gui.loader.headline': (
<FormattedMessage
@@ -116,34 +37,56 @@ const mainMessages = {
)
};
const messages = defineMessages({
generic: {
defaultMessage: 'Loading project …',
description: 'Initial generic loading message',
id: 'tw.loader.generic'
},
projectData: {
defaultMessage: 'Loading project data …',
description: 'Appears when loading project data',
id: 'tw.loader.data'
},
assetsKnown: {
defaultMessage: 'Loading assets ({complete}/{total}) …',
description: 'Appears when loading project assets and amount of assets is known',
id: 'tw.loader.assets.known'
},
assetsUnknown: {
defaultMessage: 'Loading assets …',
description: 'Appears when loading project assets but amount of assets is unknown',
id: 'tw.loader.assets.unknown'
}
});
class LoaderComponent extends React.Component {
constructor (props) {
super(props);
this.state = {
messageNumber: this.chooseRandomMessage()
};
this._state = 0;
bindAll(this, [
'messageRef'
]);
}
componentDidMount () {
// Start an interval to choose a new message every 5 seconds
this.intervalId = setInterval(() => {
this.setState({messageNumber: this.chooseRandomMessage()});
}, 5000);
this.updateMessage();
}
componentWillUnmount () {
clearInterval(this.intervalId);
}
chooseRandomMessage () {
let messageNumber;
const sum = messages.reduce((acc, m) => acc + m.weight, 0);
let rand = sum * Math.random();
for (let i = 0; i < messages.length; i++) {
rand -= messages[i].weight;
if (rand <= 0) {
messageNumber = i;
break;
}
updateMessage () {
if (this._state === 0) {
this.message.textContent = this.props.intl.formatMessage(messages.generic);
} else if (this._state === 1) {
this.message.textContent = this.props.intl.formatMessage(messages.projectData);
} else if (this.total > 0) {
this.message.textContent = this.props.intl.formatMessage(messages.assetsKnown, {
complete: this.complete,
total: this.total
});
} else {
this.message.textContent = this.props.intl.formatMessage(messages.assetsUnknown);
}
return messageNumber;
}
messageRef (element) {
this.message = element;
}
render () {
return (
@@ -173,17 +116,8 @@ class LoaderComponent extends React.Component {
<div className={styles.messageContainerOuter}>
<div
className={styles.messageContainerInner}
style={{transform: `translate(0, -${this.state.messageNumber * 25}px)`}}
>
{messages.map((m, i) => (
<div
className={styles.message}
key={i}
>
{m.message}
</div>
))}
</div>
ref={this.messageRef}
/>
</div>
</div>
</div>
@@ -193,6 +127,7 @@ class LoaderComponent extends React.Component {
LoaderComponent.propTypes = {
isFullScreen: PropTypes.bool,
intl: intlShape.isRequired,
messageId: PropTypes.string
};
LoaderComponent.defaultProps = {
@@ -200,4 +135,4 @@ LoaderComponent.defaultProps = {
messageId: 'gui.loader.headline'
};
export default LoaderComponent;
export default injectIntl(LoaderComponent);
@@ -0,0 +1,111 @@
// This file implements some extremely terrible tricks to monitor project loading progress.
// Please don't use this as a reference for "good JS code"
let total = 0;
let complete = 0;
// 0 - none
// 1 - load json
// 2 - load assets
let state = 0;
let currentProgress = 0;
let progressHandler = (state, progress, complete, total) => {};
export const setProgressHandler = newHandler => {
progressHandler = newHandler;
progressHandler(state, currentProgress, complete, total);
};
let progressHandlerTimeout = null;
const fireProgressHandler = () => {
progressHandler(state, currentProgress, complete, total);
progressHandlerTimeout = null;
};
const queueProgressHandlerUpdate = () => {
if (progressHandlerTimeout === null) {
progressHandlerTimeout = requestAnimationFrame(fireProgressHandler);
}
};
const setProgress = progress => {
if (progress < 0) {
progress = 0;
}
if (progress > 1) {
progress = 1;
}
currentProgress = progress;
queueProgressHandlerUpdate();
};
const setState = newState => {
if (state === newState) {
return;
}
state = newState;
complete = 0;
total = 0;
setProgress(0);
};
export const fetchWithProgress = url => {
setState(1);
return new Promise((resolve, reject) => {
// fetch() does not support progress, so we use XMLHttpRequest
const xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = () => {
resolve(new Response(xhr.response, {
status: xhr.status,
statusText: xhr.statusText
}));
};
xhr.onloadend = () => setProgress(1);
xhr.onerror = () => reject(new Error('[tw-progress-monitor] xhr failed'));
xhr.onprogress = e => {
if (e.lengthComputable) {
setProgress(e.loaded / e.total);
}
};
xhr.open('GET', url);
xhr.send();
});
};
// Scratch uses fetch() to download the project JSON, so we override it to monitor when the project is being downloaded.
const originalFetch = window.fetch;
window.fetch = (url, opts) => {
const isGET = typeof opts === 'object' && opts && opts.method === 'GET';
const isProjectURL = typeof url === 'string' && /^https:\/\/projects\.scratch\.mit\.edu\/\d+$/.test(url);
if (isGET && isProjectURL) {
return fetchWithProgress(url);
}
return originalFetch(url, opts);
};
const handleWorkerMessage = e => {
const data = e.data;
if (Array.isArray(data)) {
complete += data.length;
setProgress(complete / total);
}
};
let downloadWorker = null;
const originalPostMessage = window.Worker.prototype.postMessage;
window.Worker.prototype.postMessage = function (message) {
if (downloadWorker === null) {
if (message && message.url && message.id && message.options) {
downloadWorker = this;
downloadWorker.addEventListener('message', handleWorkerMessage);
}
}
if (downloadWorker === this) {
setState(2);
total++;
}
originalPostMessage.call(this, message);
};
+8
View File
@@ -37,3 +37,11 @@
.username {
font-weight: bold;
}
.username-link, .project-link {
color: $ui-white !important;
text-decoration: none;
}
.username-link:hover, .project-link:hover {
text-decoration: underline;
}
+42 -8
View File
@@ -6,9 +6,11 @@ import UserAvatar from './user-avatar.jsx';
import styles from './author-info.css';
// tw: make author username and avatar clickable, as well as make the project title link link to the project itself
const AuthorInfo = ({
className,
imageUrl,
projectId,
projectTitle,
// TODO: use userId to link to user's profile
userId, // eslint-disable-line no-unused-vars
@@ -20,14 +22,38 @@ const AuthorInfo = ({
styles.authorInfo
)}
>
<UserAvatar
className={styles.avatar}
imageUrl={imageUrl}
/>
<a
className={styles.usernameLink}
href={`https://scratch.mit.edu/users/${username}/`}
target="_blank"
rel="noreferrer"
>
<UserAvatar
className={styles.avatar}
imageUrl={imageUrl}
/>
</a>
<div className={styles.titleAuthor}>
<span className={styles.projectTitle}>
{projectTitle}
</span>
{projectId ? (
<a
className={styles.projectLink}
href={`https://scratch.mit.edu/projects/${projectId}/`}
target="_blank"
rel="noreferrer"
>
{/* tw: full project title as hover text */}
<span
className={styles.projectTitle}
title={projectTitle}
>
{projectTitle}
</span>
</a>
) : (
<span className={styles.projectTitle}>
{projectTitle}
</span>
)}
<div>
<span className={styles.usernameLine}>
<FormattedMessage
@@ -35,7 +61,14 @@ const AuthorInfo = ({
description="Shows that a project was created by this user"
id="gui.authorInfo.byUser"
values={{
username: <span className={styles.username}>{username}</span>
username: <span className={styles.username}>
<a
className={styles.usernameLink}
href={`https://scratch.mit.edu/users/${username}/`}
target="_blank"
rel="noreferrer"
>{username}</a>
</span>
}}
/>
</span>
@@ -47,6 +80,7 @@ const AuthorInfo = ({
AuthorInfo.propTypes = {
className: PropTypes.string,
imageUrl: PropTypes.string,
projectId: PropTypes.string,
projectTitle: PropTypes.string,
userId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
username: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
+1
View File
@@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M10 2c4.418 0 8 3.582 8 8s-3.582 8-8 8-8-3.582-8-8 3.582-8 8-8zm-.072 10.42c-.256 0-.472.076-.648.227-.176.151-.264.338-.264.56 0 .25.091.445.273.584.182.139.395.209.639.209.236 0 .444-.07.624-.211s.27-.335.27-.581c0-.222-.086-.409-.258-.56-.172-.151-.384-.227-.636-.227zm.144-6.42c-.624 0-1.17.113-1.638.338-.468.225-.824.51-1.068.853-.244.343-.366.683-.366 1.017 0 .162.077.313.231.452.154.139.343.209.567.209.38 0 .638-.199.774-.597.144-.38.32-.668.528-.864.208-.196.532-.293.972-.293.376 0 .683.097.921.291.238.194.357.432.357.713 0 .144-.039.278-.117.402-.078.123-.174.235-.288.336-.114.1-.299.249-.555.446-.292.225-.524.42-.696.584-.172.164-.31.354-.414.571-.104.217-.156.473-.156.769 0 .236.071.414.213.534.142.12.317.18.525.18.4 0 .638-.183.714-.55l.099-.362.093-.206.183-.227.327-.288c.492-.387.833-.663 1.023-.827.19-.164.354-.358.492-.584.138-.225.207-.488.207-.787 0-.38-.121-.733-.363-1.057-.242-.324-.585-.58-1.029-.769-.444-.188-.956-.283-1.536-.283z" id="a"/></defs><g transform="translate(-2 -2)" fill="none"><mask><use xlink:href="#a"/></mask><use fill="#fff" xlink:href="#a"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+23 -2
View File
@@ -31,6 +31,11 @@
color: $ui-white;
}
/* tw: dark theme */
[theme="dark"] .menu-bar {
background-color: $motion-primary-dark;
}
.main-menu {
display: flex;
flex-direction: row;
@@ -116,9 +121,13 @@
}
.feedback-link {
color: $motion-primary;
color: $motion-primary !important;
text-decoration: none;
}
/* tw: dark theme */
[theme="dark"] .feedback-link {
color: $motion-primary-dark !important;
}
.feedback-button {
background-color: $ui-white;
@@ -216,5 +225,17 @@
}
.mystuff > a {
background-image: url("/images/mystuff.png");
/* background-image: url("/images/mystuff.png"); */
}
.about-icon {
height: 1.25rem;
margin: 0.5rem;
vertical-align: middle;
}
/* tw: styles to override <a> styles */
.menu-item-link {
color: $ui-white !important;
text-decoration: none;
}
+462 -166
View File
@@ -16,20 +16,25 @@ import ShareButton from './share-button.jsx';
import {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx';
import Divider from '../divider/divider.jsx';
import LanguageSelector from '../../containers/language-selector.jsx';
import SaveStatus from './save-status.jsx';
import SBFileUploader from '../../containers/sb-file-uploader.jsx';
import ProjectWatcher from '../../containers/project-watcher.jsx';
import MenuBarMenu from './menu-bar-menu.jsx';
import {MenuItem, MenuSection} from '../menu/menu.jsx';
import ProjectTitleInput from './project-title-input.jsx';
import AuthorInfo from './author-info.jsx';
import AccountNav from '../../containers/account-nav.jsx';
import LoginDropdown from './login-dropdown.jsx';
import SB3Downloader from '../../containers/sb3-downloader.jsx';
import DeletionRestorer from '../../containers/deletion-restorer.jsx';
import TurboMode from '../../containers/turbo-mode.jsx';
import MenuBarHOC from '../../containers/menu-bar-hoc.jsx';
import FramerateChanger from '../../containers/tw-framerate-changer.jsx';
import HighQualityPen from '../../containers/tw-high-quality-pen.jsx';
import ChangeUsername from '../../containers/tw-change-username.jsx';
import CloudVariablesToggler from '../../containers/tw-cloud-toggler.jsx';
import VMOptions from '../../containers/tw-vm-options.jsx';
import TWAutoSaveLoader from '../../containers/tw-autosave-loader.jsx';
import TWSaveStatus from './tw-save-status.jsx';
import {openTipsLibrary} from '../../reducers/modals';
import {setPlayer} from '../../reducers/mode';
import {
@@ -51,6 +56,15 @@ import {
openEditMenu,
closeEditMenu,
editMenuOpen,
openSettingsMenu,
closeSettingMenu,
settingsMenuOpen,
openHelpMenu,
closeHelpMenu,
helpMenuOpen,
openErrorsMenu,
closeErrorsMenu,
errorsMenuOpen,
openLanguageMenu,
closeLanguageMenu,
languageMenuOpen,
@@ -69,11 +83,15 @@ import profileIcon from './icon--profile.png';
import remixIcon from './icon--remix.svg';
import dropdownCaret from './dropdown-caret.svg';
import languageIcon from '../language-selector/language-icon.svg';
import aboutIcon from './icon--about.svg';
import errorIcon from './tw-error.svg';
import scratchLogo from './scratch-logo.svg';
import sharedMessages from '../../lib/shared-messages';
import SeeInsideButton from './tw-see-inside.jsx';
const ariaMessages = defineMessages({
language: {
id: 'gui.menuBar.LanguageSelector',
@@ -87,6 +105,14 @@ const ariaMessages = defineMessages({
}
});
const twMessages = defineMessages({
compileError: {
id: 'tw.menuBar.compileError',
defaultMessage: '{sprite}: {error}',
description: 'Error message in error menu'
}
});
const MenuBarItemTooltip = ({
children,
className,
@@ -141,10 +167,43 @@ MenuItemTooltip.propTypes = {
isRtl: PropTypes.bool
};
const AboutButton = props => (
<Button
className={classNames(styles.menuBarItem, styles.hoverable)}
iconClassName={styles.aboutIcon}
iconSrc={aboutIcon}
onClick={props.onClick}
/>
);
AboutButton.propTypes = {
onClick: PropTypes.func.isRequired
};
// Unlike <MenuItem href="">, this uses an actual <a>
const MenuItemLink = props => (
<a
href={props.href}
// _blank is safe because of noopener
// eslint-disable-next-line react/jsx-no-target-blank
target="_blank"
rel="noopener"
className={styles.menuItemLink}
>
<MenuItem>{props.children}</MenuItem>
</a>
);
MenuItemLink.propTypes = {
children: PropTypes.node.isRequired,
href: PropTypes.string.isRequired
};
class MenuBar extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleClickSeeInside',
'handleClickNew',
'handleClickRemix',
'handleClickSave',
@@ -221,7 +280,7 @@ class MenuBar extends React.Component {
handleKeyPress (event) {
const modifier = bowser.mac ? event.metaKey : event.ctrlKey;
if (modifier && event.key === 's') {
this.props.onClickSave();
// tw: disable Ctrl+S for now until it can be hooked up to the proper API
event.preventDefault();
}
}
@@ -269,6 +328,9 @@ class MenuBar extends React.Component {
}
}
}
handleClickSeeInside () {
this.props.onClickSeeInside();
}
render () {
const saveNowMessage = (
<FormattedMessage
@@ -311,6 +373,8 @@ class MenuBar extends React.Component {
{remixMessage}
</Button>
);
// Show the About button only if we have a handler for it (like in the desktop app)
const aboutButton = this.props.onClickAbout ? <AboutButton onClick={this.props.onClickAbout} /> : null;
return (
<Box
className={classNames(
@@ -320,17 +384,19 @@ class MenuBar extends React.Component {
>
<div className={styles.mainMenu}>
<div className={styles.fileGroup}>
<div className={classNames(styles.menuBarItem)}>
<img
alt="Scratch"
className={classNames(styles.scratchLogo, {
[styles.clickable]: typeof this.props.onClickLogo !== 'undefined'
})}
draggable={false}
src={this.props.logo}
onClick={this.props.onClickLogo}
/>
</div>
{false && this.props.onClickLogo ? (
<div className={classNames(styles.menuBarItem)}>
<img
alt="Scratch"
className={classNames(styles.scratchLogo, {
[styles.clickable]: typeof this.props.onClickLogo !== 'undefined'
})}
draggable={false}
src={this.props.logo}
onClick={this.props.onClickLogo}
/>
</div>
) : null}
{(this.props.canChangeLanguage) && (<div
className={classNames(styles.menuBarItem, styles.hoverable, styles.languageMenu)}
>
@@ -346,6 +412,59 @@ class MenuBar extends React.Component {
</div>
<LanguageSelector label={this.props.intl.formatMessage(ariaMessages.language)} />
</div>)}
{/* tw: display compile errors */}
{this.props.compileErrors.length > 0 && <div className={styles.fileGroup}>
<div
className={classNames(styles.menuBarItem, styles.hoverable, {
[styles.active]: this.props.errorsMenuOpen
})}
onMouseUp={this.props.onClickErrors}
>
<div className={classNames(styles.errorsMenu)}>
<img
className={styles.languageIcon}
src={errorIcon}
/>
<img
className={styles.languageCaret}
src={dropdownCaret}
/>
</div>
<MenuBarMenu
className={classNames(styles.menuBarMenu)}
open={this.props.errorsMenuOpen}
place={this.props.isRtl ? 'left' : 'right'}
onRequestClose={this.props.onRequestCloseErrors}
>
<MenuSection>
<MenuItemLink href="https://scratch.mit.edu/users/GarboMuffin/#comments">
<FormattedMessage
defaultMessage="Some scripts could not be compiled."
description="Link in error menu"
id="tw.menuBar.reportError1"
/>
</MenuItemLink>
<MenuItemLink href="https://scratch.mit.edu/users/GarboMuffin/#comments">
<FormattedMessage
defaultMessage="This is a bug. Please report it."
description="Link in error menu"
id="tw.menuBar.reportError2"
/>
</MenuItemLink>
</MenuSection>
<MenuSection>
{this.props.compileErrors.map(({id, sprite, error}) => (
<MenuItem key={id}>
{this.props.intl.formatMessage(twMessages.compileError, {
sprite,
error
})}
</MenuItem>
))}
</MenuSection>
</MenuBarMenu>
</div>
</div>}
{(this.props.canManageFiles) && (
<div
className={classNames(styles.menuBarItem, styles.hoverable, {
@@ -408,18 +527,47 @@ class MenuBar extends React.Component {
</MenuItem>
)}
</SBFileUploader>
<SB3Downloader>{(className, downloadProjectCallback) => (
<SB3Downloader>{(_className, downloadProject, extended) => (
<React.Fragment>
{extended.available && (
<React.Fragment>
{extended.name !== null && (
<MenuItem onClick={this.getSaveToComputerHandler(extended.saveToLastFile)}>
<FormattedMessage
defaultMessage="Save as {file}"
description="Menu bar item to save project to an existing file on the user's computer"
id="tw.menuBar.saveAs"
values={{
file: extended.name
}}
/>
</MenuItem>
)}
<MenuItem onClick={this.getSaveToComputerHandler(extended.saveAsNew)}>
<FormattedMessage
defaultMessage="Save to your computer"
description="Menu bar item for downloading a project to your computer" // eslint-disable-line max-len
id="gui.menuBar.downloadToComputer"
/>
</MenuItem>
</React.Fragment>
)}
</React.Fragment>
)}</SB3Downloader>
</MenuSection>
<MenuSection>
<TWAutoSaveLoader>{(className, loadAutoSave) => (
<MenuItem
className={className}
onClick={this.getSaveToComputerHandler(downloadProjectCallback)}
onClick={loadAutoSave}
>
<FormattedMessage
defaultMessage="Save to your computer"
description="Menu bar item for downloading a project to your computer" // eslint-disable-line max-len
id="gui.menuBar.downloadToComputer"
defaultMessage="Load restore point (BETA)"
description="Menu bar item for loading a restore point"
id="tw.menuBar.loadAutoSave"
/>
</MenuItem>
)}</SB3Downloader>
)}</TWAutoSaveLoader>
</MenuSection>
</MenuBarMenu>
</div>
@@ -443,14 +591,16 @@ class MenuBar extends React.Component {
place={this.props.isRtl ? 'left' : 'right'}
onRequestClose={this.props.onRequestCloseEdit}
>
<DeletionRestorer>{(handleRestore, {restorable, deletedItem}) => (
<MenuItem
className={classNames({[styles.disabled]: !restorable})}
onClick={this.handleRestoreOption(handleRestore)}
>
{this.restoreOptionMessage(deletedItem)}
</MenuItem>
)}</DeletionRestorer>
{this.props.isPlayerOnly ? null : (
<DeletionRestorer>{(handleRestore, {restorable, deletedItem}) => (
<MenuItem
className={classNames({[styles.disabled]: !restorable})}
onClick={this.handleRestoreOption(handleRestore)}
>
{this.restoreOptionMessage(deletedItem)}
</MenuItem>
)}</DeletionRestorer>
)}
<MenuSection>
<TurboMode>{(toggleTurboMode, {turboMode}) => (
<MenuItem onClick={toggleTurboMode}>
@@ -469,21 +619,231 @@ class MenuBar extends React.Component {
)}
</MenuItem>
)}</TurboMode>
<FramerateChanger>{(changeFramerate, {framerate}) => (
<MenuItem onClick={changeFramerate}>
{framerate === 60 ? (
<FormattedMessage
defaultMessage="Turn off 60 FPS Mode"
description="Menu bar item for turning off 60 FPS mode"
id="tw.menuBar.60off"
/>
) : (
<FormattedMessage
defaultMessage="Turn on 60 FPS Mode"
description="Menu bar item for turning on 60 FPS mode"
id="tw.menuBar.60on"
/>
)}
</MenuItem>
)}</FramerateChanger>
<ChangeUsername>{changeUsername => (
<MenuItem onClick={changeUsername}>
<FormattedMessage
defaultMessage="Change Username"
description="Menu bar item for changing the username"
id="tw.menuBar.changeUsername"
/>
</MenuItem>
)}</ChangeUsername>
<CloudVariablesToggler>{(toggleCloudVariables, {enabled, canUseCloudVariables}) => (
<MenuItem
className={classNames({[styles.disabled]: !canUseCloudVariables})}
onClick={toggleCloudVariables}
>
{canUseCloudVariables ? (
enabled ? (
<FormattedMessage
defaultMessage="Disable Cloud Variables"
description="Menu bar item for disabling cloud variables"
id="tw.menuBar.cloudOff"
/>
) : (
<FormattedMessage
defaultMessage="Enable Cloud Variables"
description="Menu bar item for enabling cloud variables"
id="tw.menuBar.cloudOn"
/>
)
) : (
<FormattedMessage
defaultMessage="Cloud Variables are not Available"
description="Menu bar item for when cloud variables are not available"
id="tw.menuBar.cloudUnavailable"
/>
)}
</MenuItem>
)}</CloudVariablesToggler>
</MenuSection>
</MenuBarMenu>
</div>
</div>
<Divider className={classNames(styles.divider)} />
<div
aria-label={this.props.intl.formatMessage(ariaMessages.tutorials)}
className={classNames(styles.menuBarItem, styles.hoverable)}
onClick={this.props.onOpenTipLibrary}
>
<img
className={styles.helpIcon}
src={helpIcon}
/>
<FormattedMessage {...ariaMessages.tutorials} />
<div className={styles.fileGroup}>
<div
className={classNames(styles.menuBarItem, styles.hoverable, {
[styles.active]: this.props.settingsMenuOpen
})}
onMouseUp={this.props.onClickSettings}
>
<div className={classNames(styles.settingsMenu)}>
<FormattedMessage
defaultMessage="Advanced"
description="Text for advanced settings dropdown menu"
id="tw.menuBar.advanced"
/>
</div>
<MenuBarMenu
className={classNames(styles.menuBarMenu)}
open={this.props.settingsMenuOpen}
place={this.props.isRtl ? 'left' : 'right'}
onRequestClose={this.props.onRequestCloseSettings}
>
<MenuSection>
<MenuItemLink href="https://github.com/TurboWarp/scratch-gui/wiki/Advanced-Settings">
<FormattedMessage
defaultMessage="Advanced Settings Help"
description="Menu bar item for advanced settings help"
id="tw.menuBar.advancedHelp"
/>
</MenuItemLink>
</MenuSection>
<MenuSection>
{/* Wrap the top item in a div so that it gets a border */}
<div>
<HighQualityPen>{(toggleHighQualityPen, {highQualityPen}) => (
<MenuItem onClick={toggleHighQualityPen}>
{highQualityPen ? (
<FormattedMessage
defaultMessage="Turn off High Quality Pen"
description="Menu bar item for turning off high quality pen"
id="tw.menuBar.hqpOff"
/>
) : (
<FormattedMessage
defaultMessage="Turn on High Quality Pen"
description="Menu bar item for turning on high quality pen"
id="tw.menuBar.hqpOn"
/>
)}
</MenuItem>
)}</HighQualityPen>
</div>
<VMOptions>{({
compilerEnabled,
toggleCompilerEnabled,
warpTimer,
toggleWarpTimer,
infiniteClones,
toggleInfiniteClones
}) => (
<React.Fragment>
<MenuItem onClick={toggleInfiniteClones}>
{infiniteClones ? (
<FormattedMessage
defaultMessage="Turn off Infinite Clones"
description="Menu bar item for turning off Infinite Clones"
id="tw.menuBar.infiniteClonesOff"
/>
) : (
<FormattedMessage
defaultMessage="Turn on Infinite Clones"
description="Menu bar item for turning on Infinite Clones"
id="tw.menuBar.infiniteClonesOn"
/>
)}
</MenuItem>
<MenuItem onClick={toggleWarpTimer}>
{warpTimer ? (
<FormattedMessage
defaultMessage="Turn off Warp Timer"
description="Menu bar item for turning off Warp Timer"
id="tw.menuBar.warpTimerOff"
/>
) : (
<FormattedMessage
defaultMessage="Turn on Warp Timer"
description="Menu bar item for turning on Warp Timer"
id="tw.menuBar.warpTimerOn"
/>
)}
</MenuItem>
<MenuItem onClick={toggleCompilerEnabled}>
{compilerEnabled ? (
<FormattedMessage
defaultMessage="Disable Compiler"
description="Menu bar item for disabling the compiler"
id="tw.menuBar.compilerOff"
/>
) : (
<FormattedMessage
defaultMessage="Enable Compiler"
description="Menu bar item for enabling the compiler"
id="tw.menuBar.compilerOn"
/>
)}
</MenuItem>
</React.Fragment>
)}</VMOptions>
</MenuSection>
</MenuBarMenu>
</div>
<div
className={classNames(styles.menuBarItem, styles.hoverable, {
[styles.active]: this.props.helpMenuOpen
})}
onMouseUp={this.props.onClickHelp}
>
<div className={classNames(styles.helpMenu)}>
<FormattedMessage
defaultMessage="Help"
description="Text for TurboWarp Help dropdown menu"
id="tw.menuBar.help"
/>
</div>
<MenuBarMenu
className={classNames(styles.menuBarMenu)}
open={this.props.helpMenuOpen}
place={this.props.isRtl ? 'left' : 'right'}
onRequestClose={this.props.onRequestCloseHelp}
>
<MenuSection>
<MenuItem onClick={this.props.onClickLogo}>
<FormattedMessage
defaultMessage="About, credits, license"
description="Link to about in desktop"
id="tw.desktop.about"
/>
</MenuItem>
<MenuItemLink href="https://github.com/TurboWarp">
<FormattedMessage
defaultMessage="Source Code"
description="Link to source code"
id="tw.code"
/>
</MenuItemLink>
<MenuItemLink href="https://desktop.turbowarp.org">
<FormattedMessage
defaultMessage="Website"
description="Link to website in desktop"
id="tw.desktop.website"
/>
</MenuItemLink>
<MenuItemLink href="https://github.com/TurboWarp/scratch-gui/wiki/TurboWarp-blocks">
<FormattedMessage
defaultMessage="TurboWarp Blocks"
description="Menu bar item for TurboWarp blocks link"
id="tw.menuBar.blocks"
/>
</MenuItemLink>
<MenuItemLink href="https://github.com/TurboWarp/translations/blob/master/CONTRIBUTING.md#readme">
<FormattedMessage
defaultMessage="Help Translate TurboWarp"
description="Menu bar item for translating TurboWarp link"
id="tw.menuBar.translate"
/>
</MenuItemLink>
</MenuSection>
</MenuBarMenu>
</div>
</div>
<Divider className={classNames(styles.divider)} />
{this.props.canEditTitle ? (
@@ -501,6 +861,7 @@ class MenuBar extends React.Component {
<AuthorInfo
className={styles.authorInfo}
imageUrl={this.props.authorThumbnailUrl}
projectId={this.props.projectId}
projectTitle={this.props.projectTitle}
userId={this.props.authorId}
username={this.props.authorUsername}
@@ -556,145 +917,48 @@ class MenuBar extends React.Component {
<MenuBarItemTooltip id="community-button">
<CommunityButton className={styles.menuBarButton} />
</MenuBarItemTooltip>
) : [])}
) : (this.props.enableSeeInside ? (
<SeeInsideButton
className={styles.menuBarButton}
onClick={this.handleClickSeeInside}
/>
) : []))}
</div>
{/* tw: add a feedback button */}
<div className={styles.menuBarItem}>
<a
className={styles.feedbackLink}
href="https://scratch.mit.edu/users/GarboMuffin/#comments"
rel="noopener noreferrer"
target="_blank"
>
{/* todo: icon */}
<Button className={styles.feedbackButton}>
<FormattedMessage
defaultMessage="TurboWarp Feedback"
description="Button to give feedback in the menu bar"
id="tw.feedbackButton"
/>
</Button>
</a>
</div>
</div>
{/* show the proper UI in the account menu, given whether the user is
logged in, and whether a session is available to log in with */}
<div className={styles.accountInfoGroup}>
<div className={styles.menuBarItem}>
{this.props.canSave && (
<SaveStatus />
)}
<TWSaveStatus />
</div>
{this.props.sessionExists ? (
this.props.username ? (
// ************ user is logged in ************
<React.Fragment>
<a href="/mystuff/">
<div
className={classNames(
styles.menuBarItem,
styles.hoverable,
styles.mystuffButton
)}
>
<img
className={styles.mystuffIcon}
src={mystuffIcon}
/>
</div>
</a>
<AccountNav
className={classNames(
styles.menuBarItem,
styles.hoverable,
{[styles.active]: this.props.accountMenuOpen}
)}
isOpen={this.props.accountMenuOpen}
isRtl={this.props.isRtl}
menuBarMenuClassName={classNames(styles.menuBarMenu)}
onClick={this.props.onClickAccount}
onClose={this.props.onRequestCloseAccount}
onLogOut={this.props.onLogOut}
/>
</React.Fragment>
) : (
// ********* user not logged in, but a session exists
// ********* so they can choose to log in
<React.Fragment>
<div
className={classNames(
styles.menuBarItem,
styles.hoverable
)}
key="join"
onMouseUp={this.props.onOpenRegistration}
>
<FormattedMessage
defaultMessage="Join Scratch"
description="Link for creating a Scratch account"
id="gui.menuBar.joinScratch"
/>
</div>
<div
className={classNames(
styles.menuBarItem,
styles.hoverable
)}
key="login"
onMouseUp={this.props.onClickLogin}
>
<FormattedMessage
defaultMessage="Sign in"
description="Link for signing in to your Scratch account"
id="gui.menuBar.signIn"
/>
<LoginDropdown
className={classNames(styles.menuBarMenu)}
isOpen={this.props.loginMenuOpen}
isRtl={this.props.isRtl}
renderLogin={this.props.renderLogin}
onClose={this.props.onRequestCloseLogin}
/>
</div>
</React.Fragment>
)
) : (
// ******** no login session is available, so don't show login stuff
<React.Fragment>
{this.props.showComingSoon ? (
<React.Fragment>
<MenuBarItemTooltip id="mystuff">
<div
className={classNames(
styles.menuBarItem,
styles.hoverable,
styles.mystuffButton
)}
>
<img
className={styles.mystuffIcon}
src={mystuffIcon}
/>
</div>
</MenuBarItemTooltip>
<MenuBarItemTooltip
id="account-nav"
place={this.props.isRtl ? 'right' : 'left'}
>
<div
className={classNames(
styles.menuBarItem,
styles.hoverable,
styles.accountNavMenu
)}
>
<img
className={styles.profileIcon}
src={profileIcon}
/>
<span>
{'scratch-cat'}
</span>
<img
className={styles.dropdownCaretIcon}
src={dropdownCaret}
/>
</div>
</MenuBarItemTooltip>
</React.Fragment>
) : []}
</React.Fragment>
)}
</div>
{aboutButton}
</Box>
);
}
}
MenuBar.propTypes = {
enableSeeInside: PropTypes.bool,
onClickSeeInside: PropTypes.func,
accountMenuOpen: PropTypes.bool,
authorId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
authorThumbnailUrl: PropTypes.string,
@@ -709,11 +973,17 @@ MenuBar.propTypes = {
canSave: PropTypes.bool,
canShare: PropTypes.bool,
className: PropTypes.string,
compileErrors: PropTypes.arrayOf(PropTypes.shape({
sprite: PropTypes.string,
error: PropTypes.string,
id: PropTypes.number
})),
confirmReadyToReplaceProject: PropTypes.func,
editMenuOpen: PropTypes.bool,
enableCommunity: PropTypes.bool,
fileMenuOpen: PropTypes.bool,
intl: intlShape,
isPlayerOnly: PropTypes.bool,
isRtl: PropTypes.bool,
isShared: PropTypes.bool,
isShowingProject: PropTypes.bool,
@@ -722,6 +992,7 @@ MenuBar.propTypes = {
locale: PropTypes.string.isRequired,
loginMenuOpen: PropTypes.bool,
logo: PropTypes.string,
onClickAbout: PropTypes.func,
onClickAccount: PropTypes.func,
onClickEdit: PropTypes.func,
onClickFile: PropTypes.func,
@@ -732,6 +1003,12 @@ MenuBar.propTypes = {
onClickRemix: PropTypes.func,
onClickSave: PropTypes.func,
onClickSaveAsCopy: PropTypes.func,
onClickSettings: PropTypes.func,
onRequestCloseSettings: PropTypes.func,
onClickHelp: PropTypes.func,
onRequestCloseHelp: PropTypes.func,
onClickErrors: PropTypes.func,
onRequestCloseErrors: PropTypes.func,
onLogOut: PropTypes.func,
onOpenRegistration: PropTypes.func,
onOpenTipLibrary: PropTypes.func,
@@ -744,9 +1021,13 @@ MenuBar.propTypes = {
onSeeCommunity: PropTypes.func,
onShare: PropTypes.func,
onToggleLoginOpen: PropTypes.func,
projectId: PropTypes.string,
projectTitle: PropTypes.string,
renderLogin: PropTypes.func,
sessionExists: PropTypes.bool,
settingsMenuOpen: PropTypes.bool,
helpMenuOpen: PropTypes.bool,
errorsMenuOpen: PropTypes.bool,
shouldSaveBeforeTransition: PropTypes.func,
showComingSoon: PropTypes.bool,
userOwnsProject: PropTypes.bool,
@@ -764,16 +1045,24 @@ const mapStateToProps = (state, ownProps) => {
const user = state.session && state.session.session && state.session.session.user;
return {
accountMenuOpen: accountMenuOpen(state),
authorThumbnailUrl: state.scratchGui.tw.author.thumbnail,
authorUsername: state.scratchGui.tw.author.username,
compileErrors: state.scratchGui.tw.compileErrors,
fileMenuOpen: fileMenuOpen(state),
editMenuOpen: editMenuOpen(state),
isPlayerOnly: state.scratchGui.mode.isPlayerOnly,
isRtl: state.locales.isRtl,
isUpdating: getIsUpdating(loadingState),
isShowingProject: getIsShowingProject(loadingState),
languageMenuOpen: languageMenuOpen(state),
locale: state.locales.locale,
loginMenuOpen: loginMenuOpen(state),
projectId: state.scratchGui.projectState.projectId,
projectTitle: state.scratchGui.projectTitle,
sessionExists: state.session && typeof state.session.session !== 'undefined',
settingsMenuOpen: settingsMenuOpen(state),
helpMenuOpen: helpMenuOpen(state),
errorsMenuOpen: errorsMenuOpen(state),
username: user ? user.username : null,
userOwnsProject: ownProps.authorUsername && user &&
(ownProps.authorUsername === user.username),
@@ -782,6 +1071,7 @@ const mapStateToProps = (state, ownProps) => {
};
const mapDispatchToProps = dispatch => ({
onClickSeeInside: () => dispatch(setPlayer(false)),
autoUpdateProject: () => dispatch(autoUpdateProject()),
onOpenTipLibrary: () => dispatch(openTipsLibrary()),
onClickAccount: () => dispatch(openAccountMenu()),
@@ -794,6 +1084,12 @@ const mapDispatchToProps = dispatch => ({
onRequestCloseLanguage: () => dispatch(closeLanguageMenu()),
onClickLogin: () => dispatch(openLoginMenu()),
onRequestCloseLogin: () => dispatch(closeLoginMenu()),
onClickSettings: () => dispatch(openSettingsMenu()),
onRequestCloseSettings: () => dispatch(closeSettingMenu()),
onClickHelp: () => dispatch(openHelpMenu()),
onRequestCloseHelp: () => dispatch(closeHelpMenu()),
onClickErrors: () => dispatch(openErrorsMenu()),
onRequestCloseErrors: () => dispatch(closeErrorsMenu()),
onClickNew: needSave => dispatch(requestNewProject(needSave)),
onClickRemix: () => dispatch(remixProject()),
onClickSave: () => dispatch(manualUpdateProject()),
+3 -1
View File
@@ -1 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" viewBox="0 0 66.1 24.7"><style>.st0{fill:#fff}.st1{fill:#f9a83a}</style><switch><g><g><g><path d="M60.2 24.1c-.8.1-1.3.1-1.5.2-.4.2-1.3.4-2.4.4-1.4 0-2.7-.5-3.8-1.3h-.8c-.3 0-.5 0-.8-.1-1.1.4-2.1.4-2.7.4H48c-1.4.1-2.8-.2-4-.8-.6.2-1.1.3-1.7.3l-3.7.1c-1.7 0-3.2-.6-4.4-1.7-.5 0-1-.1-1.4-.2-.6.7-1.4 1.3-2.4 1.8-1.9.9-4 1-6 .2-.2-.1-.5-.2-.7-.3l-2.3.3h-.7c-.3.1-.5.3-.7.4-1.5.7-2.9.7-3.5.7H16c-1.7 0-3.4-.5-4.7-1.4-.4.1-.9.2-1.3.2-.9.6-2 1-3.2 1.1h-.4c-3.3 0-6-2.5-6.3-5.8v-.1c0-.5-.1-1.6 0-2.8 0-.6.1-1.5.1-1.7 0-.8.2-1.6.5-2.4-.2-.8-.1-1.6 0-2.4v-.3c.1-.7.3-2.1 1-3.5C3 3 5.4 1.5 8.1 1.5 9 1 9.9.8 10.9.8h.3c2 .1 3.8 1.1 4.9 2.7.9-.8 2-1.3 3.2-1.5 2.4-.3 4.4-.4 6.1-.1.9-.8 2.1-1.4 3.3-1.5l2.6-.4h.8c1.5 0 3 .6 4.2 1.6h.2l3.8-.1c1.6 0 3-.1 3.3-.1h.5c1.4 0 2.9.5 4 1.4 1.1-.8 2.4-1.2 3.8-1.2h1.3c1-.6 2.1-1 3.3-1l3.2-.1h.1c3.4 0 6.2 2.8 6.3 6.2 0 1.6-.5 3-1.5 4.2v2.9c.9 1 1.4 2.3 1.5 3.7.2 3.4-2.4 6.3-5.9 6.6z" class="st0"/></g><path d="M60 20.5c-1.3.1-2.1.2-2.3.3l-.1.1c-.3.1-.7.3-1.2.3-.6 0-1.3-.2-1.8-.7-.2-.2-.4-.4-.5-.6h-2.3c-.4 0-.8-.1-1.1-.3-.1.1-.3.1-.4.2-.8.4-1.5.4-2 .4h-.5c-1.5 0-2.7-.5-3.5-1.4-.5.5-1.2.8-1.9.8l-3.7.1c-1.3 0-2.5-1-2.7-2.2-.5.3-1 .5-1.6.5-.6 0-1.2-.2-1.7-.5-.1-.1-.2-.2-.3-.2-.3.2-.7.2-1.1.2H31c-.4 1.2-1.1 2-2.2 2.5-.5.2-1.1.4-1.6.4s-1.1-.1-1.6-.3c-.5-.2-.9-.5-1.2-.8-.2.1-.4.1-.6.2l-2.9.4h-.4c-.3 0-.5 0-.8-.1-.4.4-.9.6-1.3.8-.8.4-1.5.4-2 .4h-.5c-1.8 0-3.2-.8-4-1.9-.8.5-1.8.8-2.7.8h-.6c0 .1-.1.1-.1.2-.5.5-1.2.9-1.9.9h-.2c-1.4 0-2.6-1.1-2.7-2.6v-.1c0-.5-.1-1.4 0-2.4 0-.7.1-1.8.1-1.8 0-.7.3-1.3.7-1.8-.4-.8-.5-1.7-.3-2.7v-.2c.1-.6.2-1.5.6-2.4.7-1.3 2-2 3.5-2H9c.5-.4 1.1-.7 1.8-.7 1.5 0 2.7 1.3 2.7 2.8v1.1c.5-.2 1.1-.3 1.7-.3.3 0 .5 0 .8.1.4-.5 1-.8 1.6-.9.1-.2.2-.3.3-.5.4-.6 1.1-1 1.8-1.1.6-.1 1.8-.2 3.2-.2 1.6 0 2.9.2 3.9.7.3-1.1 1.1-1.9 2.3-2.1l2.6-.4h.4c.8 0 1.5.3 2 .9.2.2.5.6.6.9l.1.3c.5-.3 1-.5 1.6-.5l3.9-.1c1.9 0 3.6-.1 3.6-.2h.2c.7 0 1.5.3 2 .8.4.4.7.9.8 1.5h.2c.3 0 .5 0 .8.1.4-.5 1-.8 1.6-.9.5-.7 1.4-1.3 2.4-1.3h2.6c.5-.6 1.2-1 2.1-1h3.2c1.5 0 2.7 1.2 2.8 2.7 0 1.1-.6 2.1-1.5 2.5v6.1c.8.4 1.4 1.3 1.5 2.3.1 1.5-1.1 2.8-2.6 2.9z" class="st1"/><path d="M32.3 8.5l-.7 3.6 2-.3z" class="st1"/><path d="M8.4 12c-.7-.1-1.1-.6-.9-2v-.2c.2-1.2.3-1.5.9-1.5.2 0 .4.1.6.3.2.2.6.5.8 1.1.2.4.2.7.3 1v.4c0 .2.2.4.5.5.3.1.6-.2.7-.5 0 0 .2-3.8.2-3.9 0-.3-.3-.6-.6-.6s-.6.3-.6.6v1.1c-.5-.5-1.1-1-1.8-1C6.6 7 6.4 8.7 6.3 9.7v.2c-.2 1.9.4 3.1 1.9 3.4 1.6.3 2.7.6 2.7 1.6 0 .4-.2.8-.6 1.1-.4.4-1 .5-1.6.4-.2 0-.3-.1-.5-.1-.2-.1-.8-.4-1-.8-.1-.4-.2-.9-.2-1.2v-.2c0-.3-.3-.6-.6-.6s-.6.3-.6.6c0 0 0 1.2-.1 1.9-.1 1.2 0 2.1 0 2.2 0 .3.3.6.6.6s.6-.3.6-.6v-1.1c.4.3 1 .6 1.7.7.9.2 1.8-.1 2.5-.7.6-.5 1-1.3 1-2 0-2.5-2.5-2.9-3.7-3.1M25.2 10.3c-.1.1-.2.2-.4.3-.1.1-.4.2-.5.2l-.3.1c-.4.2-1 .3-1.6.4V8.5c1.6 0 3 .1 3.3.6v.2c0 .2-.2.6-.5 1m3.5 5.4c-.3-.1-.7.1-.8.4-.2.7-.4.7-.5.8-.1.1-.3 0-.6-.1 0 0-.1-.2-.2-.3-.1-.2-.2-1-.2-1.5 0-1.8-.4-2.8-.9-3.3.3-.2.6-.5.6-.5.7-1 .9-1.8.5-2.5-1-1.7-5.3-1.2-6.7-1-.3 0-.6.4-.5.7 0 .3.4.6.7.5.3 0 .6-.1.9-.1v2.8h-.3c-.3 0-.6.3-.6.6s.3.6.6.6h.3v3.5l-.8.1c-.3 0-.6.4-.5.7 0 .3.4.6.7.5l2.9-.4c.3 0 .6-.4.5-.7 0-.3-.4-.6-.7-.5l-.9.1v-3.5c.6-.1 1.1-.2 1.6-.4h.2c.2 0 .4.1.5.3.2.3.4.9.5 2.4 0 .3.1 1.5.3 2 .1.2.4.7.9.9.4.1.9.3 1.5 0 .5-.3.9-.6 1.1-1.5.4-.2.2-.5-.1-.6M50.5 13.8c-.3 0-.6.3-.6.6v.8c0 .3-.1.7-.2.8-.1.2-.2.3-.4.5-.1.1-.3.2-.5.3-.2.1-.3.1-.7.1h-.4c-1.6.1-1.8-1.2-1.8-1.5v-2.6c.1-1 .3-1.7.7-2 .3-.2.7-.1 1.4.1.8.3 1.3 1.2 1.4 1.2.1.2.4.3.7.3.3-.1.4-.3.4-.6V9.1c0-.3-.3-.6-.6-.6s-.6.3-.6.6v1.1c-.2-.2-.5-.3-.8-.5-.3-.2-1.5-.7-2.4-.1-.7.5-1.2 1.4-1.3 2.9v2.8c.1.9.8 2.7 3 2.7h.3c.4 0 .8 0 1.2-.2.3-.1.6-.3.9-.6.2-.2.3-.4.5-.7.2-.4.3-1.1.4-1.3v-1c0-.2-.3-.4-.6-.4M60.4 17.8c0-.3-.3-.6-.6-.6-.2 0-.5 0-.8.1 0-1 0-3.1-.1-9.9h.9c.3 0 .6-.3.6-.6s-.3-.6-.6-.6l-3.2.1c-.3 0-.6.3-.6.6s.3.6.6.6h1v4.2l-3.6.6V8.5h1c.3 0 .6-.3.6-.6s-.3-.6-.6-.6h-3.2c-.3 0-.6.3-.6.6s.3.6.6.6h1v8.1h-1c-.3 0-.6.3-.6.6s.3.6.6.6l3.3.1c.3 0 .6-.3.6-.6s-.3-.6-.6-.6h-1v-3.1l3.6-.6v4.6c-.8.2-1.4.2-1.7.6-.2.2-.2.6.1.8.2.2.5.1.9 0 .3-.2 1.5-.3 2.9-.4.3-.2.5-.5.5-.8" class="st0"/><path d="M31.6 12.1l.7-3.6 1.3 3.3-2 .3zm5.3 1c-.2.1-.5.2-1.1.5l-.8-1.9-2.3-5.5c0-.1-.1-.3-.2-.3-.1-.1-.3-.2-.5-.2l-2.6.3c-.3 0-.6.3-.5.7 0 .3.3.6.7.5 0 0 1-.1 1.8-.2-.2 1.1-1.1 5.6-1.4 7l-1.8-.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6l3 .1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6l.1-.9 2.8-.5.6 1.5c-.5.3-.7.4-1 .7-.2.3-.1.6.1.8.3.2.7.1.9-.1.3-.4 1.4-.9 2.5-1.3.3-.1.5-.5.4-.8-.1-.2-.4-.4-.7-.3" class="st0"/><path d="M44.1 7s-1.8.1-3.8.2l-3.9.1c-.2 0-.3.1-.5.2-.1.1-.2.3-.1.5l.5 3c0 .3.4.6.7.5.3 0 .5-.3.5-.6 0 0-.2-1.6-.4-2.4h2.6v7.9h-1.3c-.3 0-.6.3-.6.6s.3.6.6.6l3.7-.1c.3 0 .6-.3.6-.6s-.3-.6-.6-.6h-1.2V8.4c1 0 1.9-.1 2.5-.1v1.2c0 .6.1.8.1.9.2.3.5.4.8.2.2-.1.3-.4.3-.6 0 0 0-1.4.1-2.2 0-.2 0-.3-.2-.5 0-.2-.2-.3-.4-.3M18.6 14.4c-.3 0-.6.3-.6.6V15.9c0 .2-.1.6-.2.8-.1.2-.2.3-.4.5-.1.1-.3.2-.5.3-.2.1-.3.1-.7.1h-.4c-1.6 0-1.8-1.2-1.8-1.5v-2.6c.1-1 .3-1.7.7-2 .3-.2.7-.1 1.4.1.8.3 1.4 1.2 1.4 1.2.1.2.4.3.7.3.3-.1.4-.3.4-.6V9.8c0-.3-.3-.6-.6-.6s-.6.3-.6.6v1.Line truncated
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="1" height="1">
<!-- help design me! -->
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 114 B

+2
View File
@@ -0,0 +1,2 @@
<!-- From https://github.com/google/material-design-icons -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="24px" height="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>

After

Width:  |  Height:  |  Size: 268 B

@@ -0,0 +1,61 @@
import {connect} from 'react-redux';
import {FormattedMessage} from 'react-intl';
import PropTypes from 'prop-types';
import React from 'react';
import InlineMessages from '../../containers/inline-messages.jsx';
import SB3Downloader from '../../containers/sb3-downloader.jsx';
import {filterInlineAlerts} from '../../reducers/alerts';
import styles from './save-status.css';
const TWSaveStatus = ({
alertsList,
fileHandle,
projectChanged
}) => (
filterInlineAlerts(alertsList).length > 0 ? (
<InlineMessages />
) : projectChanged && (
<SB3Downloader>{(_className, _downloadProjectCallback, {smartSave}) => (
<div
onClick={smartSave}
className={styles.saveNow}
>
{fileHandle ? (
<FormattedMessage
defaultMessage="Save as {file}"
description="Menu bar item to save project to an existing file on the user's computer"
id="tw.menuBar.saveAs"
values={{
file: fileHandle.name
}}
/>
) : (
<FormattedMessage
defaultMessage="Save to your computer"
description="Menu bar item for downloading a project to your computer"
id="gui.menuBar.downloadToComputer"
/>
)}
</div>
)}</SB3Downloader>
));
TWSaveStatus.propTypes = {
alertsList: PropTypes.arrayOf(PropTypes.object),
fileHandle: PropTypes.shape({
name: PropTypes.string
}),
projectChanged: PropTypes.bool
};
const mapStateToProps = state => ({
alertsList: state.scratchGui.alerts.alertsList,
fileHandle: state.scratchGui.tw.fileHandle,
projectChanged: state.scratchGui.projectChanged
});
export default connect(
mapStateToProps,
() => ({})
)(TWSaveStatus);
+11
View File
@@ -0,0 +1,11 @@
@import "../../css/colors.css";
/* this class must contain "see-inside-button" somewhere for the s3 dev tools to be able to reinject itself */
/* https://github.com/griffpatch/Scratch3-Dev-Tools/blob/0.2.4/inject3.js#L1804-L1807 */
.see-inside-button {
box-shadow: 0 0 0 1px $ui-black-transparent;
}
.see-inside-button-icon {
height: 1.25rem;
}
+40
View File
@@ -0,0 +1,40 @@
import classNames from 'classnames';
import {FormattedMessage} from 'react-intl';
import PropTypes from 'prop-types';
import React from 'react';
import Button from '../button/button.jsx';
import communityIcon from './icon--see-community.svg';
import styles from './tw-see-inside.css';
const SeeInsideButton = ({
className,
onClick
}) => (
<Button
className={classNames(
className,
styles.seeInsideButton
)}
iconClassName={styles.seeInsideButtonIcon}
iconSrc={communityIcon}
onClick={onClick}
>
<FormattedMessage
defaultMessage="See inside"
description="Label for see inside button"
id="tw.menuBar.seeInside"
/>
</Button>
);
SeeInsideButton.propTypes = {
className: PropTypes.string,
onClick: PropTypes.func
};
SeeInsideButton.defaultProps = {
onClick: () => {}
};
export default SeeInsideButton;
+7 -1
View File
@@ -8,12 +8,18 @@
padding: 0;
margin: 0;
min-width: 186px;
max-width: 260px;
/* tw: no max width */
/* max-width: 260px; */
overflow: visible;
color: $ui-white;
box-shadow: 0 8px 8px 0 $ui-black-transparent;
}
/* tw: dark theme */
[theme="dark"] .menu {
background-color: $motion-primary-dark;
}
.menu.left {
right: 0;
}
+1
View File
@@ -13,6 +13,7 @@
transition: box-shadow 0.2s;
pointer-events: all;
overflow: hidden;
color: #575e75; /* tw: explicitly set color to match Scratch */
}
.monitor:hover {
@@ -4,6 +4,7 @@
<title>Sound/General/Copy to New</title>
<desc>Created with Sketch.</desc>
<g id="Sound/General/Copy-to-New" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M15,11.0967026 L15,4 C15,3.44771525 14.5522847,3 14,3 L4,3 C3.44771525,3 3,3.44771525 3,4 L3,12 L12.6616037,12 L11.5236347,13.0430331 C11.1882084,13.3580017 11,13.7827132 11,14.2302292 C11,14.6767472 11.187801,15.1005394 11.5128606,15.4074032 L12.1595777,16 L4,16 C2.8954305,16 2,15.1045695 2,14 L2,4 C2,2.8954305 2.8954305,2 4,2 L14,2 C15.1045695,2 16,2.8954305 16,4 L16,12.0333493 C15.8307357,11.617882 15.4895036,11.283542 15.0505738,11.115203 C15.0337809,11.1087625 15.0169209,11.1025961 15,11.0967026 Z M10.3153901,9.43844107 C10.240142,9.43844107 10.1627842,9.41684419 10.0924589,9.37133647 C9.88359282,9.23558464 9.81397079,8.94017013 9.93774329,8.71108891 C10.173333,8.27298072 10.173333,7.72997337 9.93774329,7.2926365 C9.81397079,7.06278396 9.88359282,6.76736945 10.0924589,6.63161762 C10.3034348,6.49740842 10.5720773,6.57299751 10.6944433,6.80130741 C11.0931877,7.54177197 11.0931877,8.46118212 10.6944433,9.20164668 C10.612866,9.35436749 10.4658862,9.43844107 10.3153901,9.43844107 Z M11.6283181,10.2119951 C11.5530701,10.2119951 11.475009,10.1903983 11.405387,10.1448905 C11.1965209,10.0091387 11.1268989,9.7137242 11.2506714,9.48464298 C11.7436516,8.56986072 11.7436516,7.4329391 11.2506714,6.51892817 C11.1268989,6.28984695 11.1965209,5.99366112 11.405387,5.85790929 C11.6149563,5.7244714 11.8835989,5.79928918 12.0073714,6.02759908 C12.6642095,7.2447377 12.6642095,8.75806213 12.0073714,9.97520074 C11.9250908,10.1279216 11.7788142,10.2119951 11.6283181,10.2119951 Z M9.1892643,5.64286604 L9.1892643,10.3563857 C9.1892643,10.9148194 8.58587338,11.2071486 8.20963312,10.8307458 L7.39737611,10.0170061 C7.10974571,9.72930481 6.73491195,9.56964214 6.34530989,9.56964214 L6.20325282,9.56964214 C5.81505726,9.56964214 5.5,9.22486333 5.5,8.79832489 L5.5,7.20941137 C5.5,6.78364425 5.81505726,6.43809412 6.20325282,6.43809412 L6.33757411,6.43809412 C6.72717617,6.43809412 7.10200993,6.27843145 7.38964033,5.99073012 L8.20963312,5.16927725 C8.58587338,4.79287444 9.1892643,5.08520367 9.1892643,5.64286604 Z M13.937674,12.1868928 C14.1369962,12.0038895 14.4343459,11.9498886 14.6924846,12.0488903 C14.9506233,12.1478921 15.1172698,12.3758962 15.1172698,12.6339008 L15.1172698,13.2759122 C15.2675784,13.3119129 15.44076,13.3599137 15.6237444,13.428915 C15.9439671,13.545917 16.2968655,13.7259203 16.6236234,13.9686246 C16.7053128,14.0319257 16.7837347,14.0949268 16.8621566,14.1639281 C16.9307757,14.2239291 17.0418734,14.325931 17.0908871,14.385932 C17.2215902,14.5209344 17.3555609,14.6949375 17.4699262,14.8569404 C17.6921215,15.1989465 17.8456977,15.5679531 17.9273871,15.9186594 C18.005809,16.2699656 18.0123442,16.6029716 17.9862036,16.8789765 C17.9567954,17.1579815 17.8979789,17.3709853 17.8424301,17.5389883 C17.8162895,17.6229898 17.7934164,17.6589904 17.7803461,17.6979911 L17.7574731,17.7519921 C17.6921215,17.9109949 17.5156723,18.0159968 17.3196176,17.9979965 C17.0876195,17.9769961 16.9177054,17.7849927 16.9405785,17.5719889 L16.9471136,17.5149878 C16.9503812,17.4819873 16.9634515,17.4159861 16.960184,17.3649852 C16.960184,17.2629833 16.9569164,17.0889802 16.920973,16.8999769 C16.8817621,16.7079734 16.8098753,16.4919696 16.6922425,16.2849659 C16.5746097,16.0809623 16.4144984,15.8889588 16.2282464,15.730256 C16.1269515,15.6519546 16.0387269,15.5859534 15.921094,15.5139521 C15.8492073,15.4686513 15.8328694,15.4719514 15.774053,15.4389508 C15.7217718,15.4149504 15.6694905,15.39365 15.6172092,15.3729496 C15.4374924,15.3069485 15.2675784,15.2679478 15.1172698,15.2529475 L15.1172698,15.8259577 C15.1172698,16.0839623 14.9506233,16.3119664 14.6924846,16.4109681 C14.4343459,16.5099699 14.1369962,16.4559689 13.937674,16.2729657 L12.1993223,14.6802373 C12.0718867,14.5599351 12,14.3979322 12,14.2302292 C12,14.0619262 12.0718867,13.8999234 12.1993223,13.7802212 L13.937674,12.1868928 Z" id="Copy-to-New" fill="#4D97FF" fill-rule="nonzero"></path>
<!-- tw: update fill -->
<path d="M15,11.0967026 L15,4 C15,3.44771525 14.5522847,3 14,3 L4,3 C3.44771525,3 3,3.44771525 3,4 L3,12 L12.6616037,12 L11.5236347,13.0430331 C11.1882084,13.3580017 11,13.7827132 11,14.2302292 C11,14.6767472 11.187801,15.1005394 11.5128606,15.4074032 L12.1595777,16 L4,16 C2.8954305,16 2,15.1045695 2,14 L2,4 C2,2.8954305 2.8954305,2 4,2 L14,2 C15.1045695,2 16,2.8954305 16,4 L16,12.0333493 C15.8307357,11.617882 15.4895036,11.283542 15.0505738,11.115203 C15.0337809,11.1087625 15.0169209,11.1025961 15,11.0967026 Z M10.3153901,9.43844107 C10.240142,9.43844107 10.1627842,9.41684419 10.0924589,9.37133647 C9.88359282,9.23558464 9.81397079,8.94017013 9.93774329,8.71108891 C10.173333,8.27298072 10.173333,7.72997337 9.93774329,7.2926365 C9.81397079,7.06278396 9.88359282,6.76736945 10.0924589,6.63161762 C10.3034348,6.49740842 10.5720773,6.57299751 10.6944433,6.80130741 C11.0931877,7.54177197 11.0931877,8.46118212 10.6944433,9.20164668 C10.612866,9.35436749 10.4658862,9.43844107 10.3153901,9.43844107 Z M11.6283181,10.2119951 C11.5530701,10.2119951 11.475009,10.1903983 11.405387,10.1448905 C11.1965209,10.0091387 11.1268989,9.7137242 11.2506714,9.48464298 C11.7436516,8.56986072 11.7436516,7.4329391 11.2506714,6.51892817 C11.1268989,6.28984695 11.1965209,5.99366112 11.405387,5.85790929 C11.6149563,5.7244714 11.8835989,5.79928918 12.0073714,6.02759908 C12.6642095,7.2447377 12.6642095,8.75806213 12.0073714,9.97520074 C11.9250908,10.1279216 11.7788142,10.2119951 11.6283181,10.2119951 Z M9.1892643,5.64286604 L9.1892643,10.3563857 C9.1892643,10.9148194 8.58587338,11.2071486 8.20963312,10.8307458 L7.39737611,10.0170061 C7.10974571,9.72930481 6.73491195,9.56964214 6.34530989,9.56964214 L6.20325282,9.56964214 C5.81505726,9.56964214 5.5,9.22486333 5.5,8.79832489 L5.5,7.20941137 C5.5,6.78364425 5.81505726,6.43809412 6.20325282,6.43809412 L6.33757411,6.43809412 C6.72717617,6.43809412 7.10200993,6.27843145 7.38964033,5.99073012 L8.20963312,5.16927725 C8.58587338,4.79287444 9.1892643,5.08520367 9.1892643,5.64286604 Z M13.937674,12.1868928 C14.1369962,12.0038895 14.4343459,11.9498886 14.6924846,12.0488903 C14.9506233,12.1478921 15.1172698,12.3758962 15.1172698,12.6339008 L15.1172698,13.2759122 C15.2675784,13.3119129 15.44076,13.3599137 15.6237444,13.428915 C15.9439671,13.545917 16.2968655,13.7259203 16.6236234,13.9686246 C16.7053128,14.0319257 16.7837347,14.0949268 16.8621566,14.1639281 C16.9307757,14.2239291 17.0418734,14.325931 17.0908871,14.385932 C17.2215902,14.5209344 17.3555609,14.6949375 17.4699262,14.8569404 C17.6921215,15.1989465 17.8456977,15.5679531 17.9273871,15.9186594 C18.005809,16.2699656 18.0123442,16.6029716 17.9862036,16.8789765 C17.9567954,17.1579815 17.8979789,17.3709853 17.8424301,17.5389883 C17.8162895,17.6229898 17.7934164,17.6589904 17.7803461,17.6979911 L17.7574731,17.7519921 C17.6921215,17.9109949 17.5156723,18.0159968 17.3196176,17.9979965 C17.0876195,17.9769961 16.9177054,17.7849927 16.9405785,17.5719889 L16.9471136,17.5149878 C16.9503812,17.4819873 16.9634515,17.4159861 16.960184,17.3649852 C16.960184,17.2629833 16.9569164,17.0889802 16.920973,16.8999769 C16.8817621,16.7079734 16.8098753,16.4919696 16.6922425,16.2849659 C16.5746097,16.0809623 16.4144984,15.8889588 16.2282464,15.730256 C16.1269515,15.6519546 16.0387269,15.5859534 15.921094,15.5139521 C15.8492073,15.4686513 15.8328694,15.4719514 15.774053,15.4389508 C15.7217718,15.4149504 15.6694905,15.39365 15.6172092,15.3729496 C15.4374924,15.3069485 15.2675784,15.2679478 15.1172698,15.2529475 L15.1172698,15.8259577 C15.1172698,16.0839623 14.9506233,16.3119664 14.6924846,16.4109681 C14.4343459,16.5099699 14.1369962,16.4559689 13.937674,16.2729657 L12.1993223,14.6802373 C12.0718867,14.5599351 12,14.3979322 12,14.2302292 C12,14.0619262 12.0718867,13.8999234 12.1993223,13.7802212 L13.937674,12.1868928 Z" id="Copy-to-New" fill="#FF4D4D" fill-rule="nonzero"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

+4 -2
View File
@@ -4,10 +4,12 @@
<title>Sound/General/Copy</title>
<desc>Created with Sketch.</desc>
<g id="Sound/General/Copy" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Secondary-Color" opacity="0.25" transform="translate(2.000000, 4.000000)" fill="#4D97FF">
<!-- tw: update fill -->
<g id="Secondary-Color" opacity="0.25" transform="translate(2.000000, 4.000000)" fill="#FF4D4D">
<rect id="selection" x="0" y="0" width="16" height="12"></rect>
</g>
<g id="Primary-Color" transform="translate(0.000000, 2.000000)" fill="#4D97FF" fill-rule="nonzero">
<!-- tw: update fill -->
<g id="Primary-Color" transform="translate(0.000000, 2.000000)" fill="#FF4D4D" fill-rule="nonzero">
<path d="M1.5,3.93699126 C0.637386394,3.71496986 0,2.93191971 0,2 C0,0.8954305 0.8954305,0 2,0 C3.1045695,0 4,0.8954305 4,2 C4,2.93191971 3.36261361,3.71496986 2.5,3.93699126 L2.5,12.0630087 C3.36261361,12.2850301 4,13.0680803 4,14 C4,15.1045695 3.1045695,16 2,16 C0.8954305,16 0,15.1045695 0,14 C0,13.0680803 0.637386394,12.2850301 1.5,12.0630087 L1.5,3.93699126 Z M17.5,12.0630087 L17.5,3.93699126 C16.6373864,3.71496986 16,2.93191971 16,2 C16,0.8954305 16.8954305,0 18,0 C19.1045695,0 20,0.8954305 20,2 C20,2.93191971 19.3626136,3.71496986 18.5,3.93699126 L18.5,12.0630087 C19.3626136,12.2850301 20,13.0680803 20,14 C20,15.1045695 19.1045695,16 18,16 C16.8954305,16 16,15.1045695 16,14 C16,13.0680803 16.6373864,12.2850301 17.5,12.0630087 Z M11,7 L12,7 C12.5522847,7 13,7.44771525 13,8 C13,8.55228475 12.5522847,9 12,9 L11,9 L11,10 C11,10.5522847 10.5522847,11 10,11 C9.44771525,11 9,10.5522847 9,10 L9,9 L8,9 C7.44771525,9 7,8.55228475 7,8 C7,7.44771525 7.44771525,7 8,7 L9,7 L9,6 C9,5.44771525 9.44771525,5 10,5 C10.5522847,5 11,5.44771525 11,6 L11,7 Z" id="handles-and-plus"></path>
</g>
</g>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

+2 -1
View File
@@ -11,7 +11,8 @@
<use xlink:href="#path-1"></use>
</mask>
<use id="Mask" fill="#575E75" xlink:href="#path-1"></use>
<g id="Blue/1_Blue" mask="url(#mask-2)" fill="#4D97FF">
<!-- tw: update fill -->
<g id="Blue/1_Blue" mask="url(#mask-2)" fill="#FF4D4D">
<rect id="Primary-Blue" x="0" y="0" width="20" height="20"></rect>
</g>
</g>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

+2 -1
View File
@@ -4,6 +4,7 @@
<title>Sound/General/Paste</title>
<desc>Created with Sketch.</desc>
<g id="Sound/General/Paste" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M2.39776184,8.69699508 C2.82037272,8.57348907 3.12697047,8.23068036 3.44607843,7.63235294 C3.50283588,7.52593273 3.70653958,7.12084014 3.75472041,7.03050109 C4.03665487,6.50187397 4.27845388,6.25 4.66666667,6.25 C5.08719776,6.25 5.31070056,6.3254322 5.67812087,6.53210612 C5.97736723,6.7004322 6.1242348,6.75 6.44444444,6.75 C6.611898,6.75 6.70455317,6.61444047 6.85968251,6.13575567 C6.89349476,6.03068757 6.91177802,5.97409653 6.92949584,5.92094306 C7.19192893,5.1336438 7.51873661,4.75 8.22222222,4.75 C8.89163675,4.75 9.21925695,5.04485818 9.76356813,5.86132495 C10.2192569,6.54485818 10.4471923,6.75 10.8888889,6.75 C11.3661624,6.75 11.5487705,6.64281697 11.7364319,6.36132495 C11.7692531,6.31129826 11.7692531,6.31129826 11.8038172,6.25761214 C12.0332099,5.90369189 12.2433073,5.75 12.6666667,5.75 C13.1851992,5.75 13.4061497,6.04828312 13.7840084,6.89846538 C14.0728163,7.54828312 14.2222362,7.75 14.4444444,7.75 C14.7687569,7.75 14.9402848,7.69488783 15.2489243,7.52961059 L15.2905031,7.50732887 C15.6361057,7.32238348 15.857036,7.25 16.2222222,7.25 C16.6365912,7.25 16.8489777,7.46586974 17.1158999,7.96477614 C17.1606386,8.04903257 17.1606386,8.04903257 17.2045543,8.13123692 C17.3511621,8.40280419 17.4762139,8.57093888 17.631381,8.6621791 C17.7227849,8.5624959 17.8540941,8.5 18,8.5 C18.2761424,8.5 18.5,8.72385763 18.5,9 C18.5,9.27614237 18.2761424,9.5 18,9.5 C17.8540941,9.5 17.7227849,9.4375041 17.631381,9.3378209 C17.4762139,9.42906112 17.3511621,9.59719581 17.2045543,9.86876308 C17.1606386,9.95096743 17.1606386,9.95096743 17.1158999,10.0352239 C16.8489777,10.5341303 16.6365912,10.75 16.2222222,10.75 C15.857036,10.75 15.6361057,10.6776165 15.2905031,10.4926711 L15.2489243,10.4703894 C14.9402848,10.3051122 14.7687569,10.25 14.4444444,10.25 C14.2222362,10.25 14.0728163,10.4517169 13.7840084,11.1015346 C13.4061497,11.9517169 13.1851992,12.25 12.6666667,12.25 C12.2433073,12.25 12.0332099,12.0963081 11.8038172,11.7423879 C11.7692531,11.6887017 11.7692531,11.6887017 11.7364319,11.638675 C11.5487705,11.357183 11.3661624,11.25 10.8888889,11.25 C10.4471923,11.25 10.2192569,11.4551418 9.76356813,12.138675 C9.21925695,12.9551418 8.89163675,13.25 8.22222222,13.25 C7.51873661,13.25 7.19192893,12.8663562 6.92949584,12.0790569 C6.91177802,12.0259035 6.89349476,11.9693124 6.85968251,11.8642443 C6.70455317,11.3855595 6.611898,11.25 6.44444444,11.25 C6.1242348,11.25 5.97736723,11.2995678 5.67812087,11.4678939 C5.31070056,11.6745678 5.08719776,11.75 4.66666667,11.75 C4.2576716,11.75 4.07414298,11.4976192 3.8822771,10.9321841 L3.78515608,10.639352 C3.74630783,10.5239258 3.71290663,10.4315854 3.67737933,10.3436452 C3.42795496,9.72624902 3.07265238,9.37546644 2.4155666,9.27813036 C2.32583908,9.41193093 2.17320436,9.5 2,9.5 C1.72385763,9.5 1.5,9.27614237 1.5,9 C1.5,8.72385763 1.72385763,8.5 2,8.5 C2.16222865,8.5 2.306412,8.5772611 2.39776184,8.69699508 Z M9,15 L9.7763932,13.4472136 C9.80058413,13.3988317 9.83981475,13.3596011 9.8881966,13.3354102 C10.0116912,13.2736629 10.1618595,13.323719 10.2236068,13.4472136 L11,15 L12,15 C12.2761424,15 12.5,15.2238576 12.5,15.5 C12.5,15.6081851 12.4649111,15.7134519 12.4,15.8 L10.4,18.4666667 C10.2343146,18.6875806 9.9209139,18.7323521 9.7,18.5666667 C9.66209717,18.5382395 9.62842712,18.5045695 9.6,18.4666667 L7.6,15.8 C7.43431458,15.5790861 7.4790861,15.2656854 7.7,15.1 C7.78654809,15.0350889 7.89181489,15 8,15 L9,15 L9,15 Z M2,3.5 C1.72385763,3.5 1.5,3.27614237 1.5,3 C1.5,2.72385763 1.72385763,2.5 2,2.5 C2.27614237,2.5 2.5,2.72385763 2.5,3 C2.5,3.27614237 2.27614237,3.5 2,3.5 Z M4,3.5 C3.72385763,3.5 3.5,3.27614237 3.5,3 C3.5,2.72385763 3.72385763,2.5 4,2.5 C4.27614237,2.5 4.5,2.72385763 4.5,3 C4.5,3.27614237 4.27614237,3.5 4,3.5 Z M6,3.5 C5.72385763,3.5 5.5,3.27614237 5.5,3 C5.5,2.72385763 5.72385763,2.5 6,2.5 C6.27614237,2.5 6.5,2.72385763 6.5,3 C6.5,3.27614237 6.27614237,3.5 6,3.5 Z M8,3.5 C7.72385763,3.5 7.5,3.27614237 7.5,3 C7.5,2.72385763 7.72385763,2.5 8,2.5 C8.27614237,2.5 8.5,2.72385763 8.5,3 C8.5,3.27614237 8.27614237,3.5 8,3.5 Z M10,3.5 C9.72385763,3.5 9.5,3.27614237 9.5,3 C9.5,2.72385763 9.72385763,2.5 10,2.5 C10.2761424,2.5 10.5,2.72385763 10.5,3 C10.5,3.27614237 10.2761424,3.5 10,3.5 Z M12,3.5 C11.7238576,3.5 11.5,3.27614237 11.5,3 C11.5,2.72385763 11.7238576,2.5 12,2.5 C12.2761424,2.5 12.5,2.72385763 12.5,3 C12.5,3.27614237 12.2761424,3.5 12,3.5 Z M14,3.5 C13.7238576,3.5 13.5,3.27614237 13.5,3 C13.5,2.72385763 13.7238576,2.5 14,2.5 C14.2761424,2.5 14.5,2.72385763 14.5,3 C14.5,3.27614237 14.2761424,3.5 14,3.5 Z M16,3.5 C15.7238576,3.5 15.5,3.27614237 15.5,3 C15.5,2.72385763 15.7238576,2.5 16,2.5 C16.2761424,2.5 16.5,2.72385763 16.5,3 C16.5,3.27614237 16.2761424,3.5 16,3.5 Z M18,3.5 C17.7238576,3.5 17.5,3.27614237 17.5,3 C17.5,2.72385763 17.7238576,2.5 18,2.5 C18.2761424,2.5 18.5,2.72385763 18.5,3 C18.5,3.27614237 18.2761424,3.5 18,3.5 Z M18,5.5 C17.7238576,5.5 17.5,5.27614237 17.5,5 C17.5,4.72385763 17.7238576,4.5 18,4.5 C18.2761424,4.5 18.5,4.72385763 18.5,5 C18.5,Line truncated
<!-- tw: update fill -->
<path d="M2.39776184,8.69699508 C2.82037272,8.57348907 3.12697047,8.23068036 3.44607843,7.63235294 C3.50283588,7.52593273 3.70653958,7.12084014 3.75472041,7.03050109 C4.03665487,6.50187397 4.27845388,6.25 4.66666667,6.25 C5.08719776,6.25 5.31070056,6.3254322 5.67812087,6.53210612 C5.97736723,6.7004322 6.1242348,6.75 6.44444444,6.75 C6.611898,6.75 6.70455317,6.61444047 6.85968251,6.13575567 C6.89349476,6.03068757 6.91177802,5.97409653 6.92949584,5.92094306 C7.19192893,5.1336438 7.51873661,4.75 8.22222222,4.75 C8.89163675,4.75 9.21925695,5.04485818 9.76356813,5.86132495 C10.2192569,6.54485818 10.4471923,6.75 10.8888889,6.75 C11.3661624,6.75 11.5487705,6.64281697 11.7364319,6.36132495 C11.7692531,6.31129826 11.7692531,6.31129826 11.8038172,6.25761214 C12.0332099,5.90369189 12.2433073,5.75 12.6666667,5.75 C13.1851992,5.75 13.4061497,6.04828312 13.7840084,6.89846538 C14.0728163,7.54828312 14.2222362,7.75 14.4444444,7.75 C14.7687569,7.75 14.9402848,7.69488783 15.2489243,7.52961059 L15.2905031,7.50732887 C15.6361057,7.32238348 15.857036,7.25 16.2222222,7.25 C16.6365912,7.25 16.8489777,7.46586974 17.1158999,7.96477614 C17.1606386,8.04903257 17.1606386,8.04903257 17.2045543,8.13123692 C17.3511621,8.40280419 17.4762139,8.57093888 17.631381,8.6621791 C17.7227849,8.5624959 17.8540941,8.5 18,8.5 C18.2761424,8.5 18.5,8.72385763 18.5,9 C18.5,9.27614237 18.2761424,9.5 18,9.5 C17.8540941,9.5 17.7227849,9.4375041 17.631381,9.3378209 C17.4762139,9.42906112 17.3511621,9.59719581 17.2045543,9.86876308 C17.1606386,9.95096743 17.1606386,9.95096743 17.1158999,10.0352239 C16.8489777,10.5341303 16.6365912,10.75 16.2222222,10.75 C15.857036,10.75 15.6361057,10.6776165 15.2905031,10.4926711 L15.2489243,10.4703894 C14.9402848,10.3051122 14.7687569,10.25 14.4444444,10.25 C14.2222362,10.25 14.0728163,10.4517169 13.7840084,11.1015346 C13.4061497,11.9517169 13.1851992,12.25 12.6666667,12.25 C12.2433073,12.25 12.0332099,12.0963081 11.8038172,11.7423879 C11.7692531,11.6887017 11.7692531,11.6887017 11.7364319,11.638675 C11.5487705,11.357183 11.3661624,11.25 10.8888889,11.25 C10.4471923,11.25 10.2192569,11.4551418 9.76356813,12.138675 C9.21925695,12.9551418 8.89163675,13.25 8.22222222,13.25 C7.51873661,13.25 7.19192893,12.8663562 6.92949584,12.0790569 C6.91177802,12.0259035 6.89349476,11.9693124 6.85968251,11.8642443 C6.70455317,11.3855595 6.611898,11.25 6.44444444,11.25 C6.1242348,11.25 5.97736723,11.2995678 5.67812087,11.4678939 C5.31070056,11.6745678 5.08719776,11.75 4.66666667,11.75 C4.2576716,11.75 4.07414298,11.4976192 3.8822771,10.9321841 L3.78515608,10.639352 C3.74630783,10.5239258 3.71290663,10.4315854 3.67737933,10.3436452 C3.42795496,9.72624902 3.07265238,9.37546644 2.4155666,9.27813036 C2.32583908,9.41193093 2.17320436,9.5 2,9.5 C1.72385763,9.5 1.5,9.27614237 1.5,9 C1.5,8.72385763 1.72385763,8.5 2,8.5 C2.16222865,8.5 2.306412,8.5772611 2.39776184,8.69699508 Z M9,15 L9.7763932,13.4472136 C9.80058413,13.3988317 9.83981475,13.3596011 9.8881966,13.3354102 C10.0116912,13.2736629 10.1618595,13.323719 10.2236068,13.4472136 L11,15 L12,15 C12.2761424,15 12.5,15.2238576 12.5,15.5 C12.5,15.6081851 12.4649111,15.7134519 12.4,15.8 L10.4,18.4666667 C10.2343146,18.6875806 9.9209139,18.7323521 9.7,18.5666667 C9.66209717,18.5382395 9.62842712,18.5045695 9.6,18.4666667 L7.6,15.8 C7.43431458,15.5790861 7.4790861,15.2656854 7.7,15.1 C7.78654809,15.0350889 7.89181489,15 8,15 L9,15 L9,15 Z M2,3.5 C1.72385763,3.5 1.5,3.27614237 1.5,3 C1.5,2.72385763 1.72385763,2.5 2,2.5 C2.27614237,2.5 2.5,2.72385763 2.5,3 C2.5,3.27614237 2.27614237,3.5 2,3.5 Z M4,3.5 C3.72385763,3.5 3.5,3.27614237 3.5,3 C3.5,2.72385763 3.72385763,2.5 4,2.5 C4.27614237,2.5 4.5,2.72385763 4.5,3 C4.5,3.27614237 4.27614237,3.5 4,3.5 Z M6,3.5 C5.72385763,3.5 5.5,3.27614237 5.5,3 C5.5,2.72385763 5.72385763,2.5 6,2.5 C6.27614237,2.5 6.5,2.72385763 6.5,3 C6.5,3.27614237 6.27614237,3.5 6,3.5 Z M8,3.5 C7.72385763,3.5 7.5,3.27614237 7.5,3 C7.5,2.72385763 7.72385763,2.5 8,2.5 C8.27614237,2.5 8.5,2.72385763 8.5,3 C8.5,3.27614237 8.27614237,3.5 8,3.5 Z M10,3.5 C9.72385763,3.5 9.5,3.27614237 9.5,3 C9.5,2.72385763 9.72385763,2.5 10,2.5 C10.2761424,2.5 10.5,2.72385763 10.5,3 C10.5,3.27614237 10.2761424,3.5 10,3.5 Z M12,3.5 C11.7238576,3.5 11.5,3.27614237 11.5,3 C11.5,2.72385763 11.7238576,2.5 12,2.5 C12.2761424,2.5 12.5,2.72385763 12.5,3 C12.5,3.27614237 12.2761424,3.5 12,3.5 Z M14,3.5 C13.7238576,3.5 13.5,3.27614237 13.5,3 C13.5,2.72385763 13.7238576,2.5 14,2.5 C14.2761424,2.5 14.5,2.72385763 14.5,3 C14.5,3.27614237 14.2761424,3.5 14,3.5 Z M16,3.5 C15.7238576,3.5 15.5,3.27614237 15.5,3 C15.5,2.72385763 15.7238576,2.5 16,2.5 C16.2761424,2.5 16.5,2.72385763 16.5,3 C16.5,3.27614237 16.2761424,3.5 16,3.5 Z M18,3.5 C17.7238576,3.5 17.5,3.27614237 17.5,3 C17.5,2.72385763 17.7238576,2.5 18,2.5 C18.2761424,2.5 18.5,2.72385763 18.5,3 C18.5,3.27614237 18.2761424,3.5 18,3.5 Z M18,5.5 C17.7238576,5.5 17.5,5.27614237 17.5,5 C17.5,4.72385763 17.7238576,4.5 18,4.5 C18.2761424,4.5 18.5,4.72385763 18.5,5 C18.5,Line truncated
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

+2 -1
View File
@@ -5,7 +5,8 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="redo" fill="#4C97FF">
<!-- tw: update fill -->
<g id="redo" fill="#FF4D4D">
<path d="M17.5581635,12.7700651 L13.8403972,16.4941315 C13.5610922,16.7671364 13.1830854,16.9211391 12.7903784,16.9211391 C12.3990715,16.9211391 12.0210647,16.7671364 11.7403597,16.4941315 L8.02399342,12.7700651 C7.5969858,12.3430574 7.47098355,11.7060461 7.70198767,11.1530362 C7.93299179,10.6000263 8.46500128,10.24302 9.06701202,10.24302 L10.4040359,10.24302 C10.3690352,9.92101423 10.2780336,9.55700774 10.1240309,9.17200087 C10.07573,9.05999887 10.0260291,8.94799688 9.97002813,8.83599488 C9.89302676,8.70999263 9.90072689,8.67499201 9.79502501,8.52098926 C9.62702201,8.26898476 9.47301926,8.07998139 9.29031601,7.86297752 C8.9200094,7.4639704 8.47200141,7.12096429 7.99599292,6.86895979 C7.5129843,6.6169553 7.00897531,6.46295255 6.56096732,6.37895105 C6.11995945,6.30194968 5.71395221,6.29494955 5.47594796,6.29494955 C5.35694584,6.28794943 5.2029431,6.31594993 5.12594172,6.32295005 C5.04194022,6.32995018 4.99293935,6.3369503 4.99293935,6.3369503 C4.49593048,6.38595117 4.04792249,6.02194468 3.99892162,5.52493582 C3.95692087,5.10492832 4.20192524,4.72692158 4.57293186,4.58691908 C4.57293186,4.58691908 4.62193273,4.56591871 4.6989341,4.53791821 C4.78993573,4.50991771 4.87393723,4.46091684 5.06994072,4.40491584 C5.46194772,4.28591371 5.95895658,4.15991147 6.60996819,4.09691034 C7.25397968,4.04090934 8.03099354,4.05490959 8.85070816,4.22291259 C9.66902276,4.39791571 10.5300381,4.72692158 11.3280524,5.20293007 C11.7060591,5.44793444 12.1120663,5.73493956 12.427072,6.01494456 C12.5670745,6.11994643 12.8050787,6.35795068 12.9450812,6.5049533 C13.1060841,6.67295629 13.2530867,6.84095929 13.4007893,7.01596241 C13.9670994,7.7159749 14.3871069,8.47198839 14.6601118,9.15800062 C14.8211147,9.55000762 14.9331167,9.92101423 15.0171182,10.24302 L16.5151449,10.24302 C17.1171556,10.24302 17.6491651,10.6000263 17.8801692,11.1530362 C18.1111734,11.7060461 17.9851711,12.3430574 17.5581635,12.7700651" id="Fill-1" transform="translate(10.994247, 10.494247) rotate(-45.000000) translate(-10.994247, -10.494247) "></path>
</g>
</g>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

+2 -1
View File
@@ -5,7 +5,8 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="undo" fill="#4C97FF">
<!-- tw: update fill -->
<g id="undo" fill="#FF4D4D">
<path d="M15.5581635,12.7700651 L11.8403972,16.4941315 C11.5610922,16.7671364 11.1830854,16.9211391 10.7903784,16.9211391 C10.3990715,16.9211391 10.0210647,16.7671364 9.74035971,16.4941315 L6.02399342,12.7700651 C5.5969858,12.3430574 5.47098355,11.7060461 5.70198767,11.1530362 C5.93299179,10.6000263 6.46500128,10.24302 7.06701202,10.24302 L8.40403587,10.24302 C8.36903525,9.92101423 8.27803362,9.55700774 8.12403088,9.17200087 C8.07573002,9.05999887 8.02602913,8.94799688 7.97002813,8.83599488 C7.89302676,8.70999263 7.90072689,8.67499201 7.79502501,8.52098926 C7.62702201,8.26898476 7.47301926,8.07998139 7.29031601,7.86297752 C6.9200094,7.4639704 6.47200141,7.12096429 5.99599292,6.86895979 C5.5129843,6.6169553 5.00897531,6.46295255 4.56096732,6.37895105 C4.11995945,6.30194968 3.71395221,6.29494955 3.47594796,6.29494955 C3.35694584,6.28794943 3.2029431,6.31594993 3.12594172,6.32295005 C3.04194022,6.32995018 2.99293935,6.3369503 2.99293935,6.3369503 C2.49593048,6.38595117 2.04792249,6.02194468 1.99892162,5.52493582 C1.95692087,5.10492832 2.20192524,4.72692158 2.57293186,4.58691908 C2.57293186,4.58691908 2.62193273,4.56591871 2.6989341,4.53791821 C2.78993573,4.50991771 2.87393723,4.46091684 3.06994072,4.40491584 C3.46194772,4.28591371 3.95895658,4.15991147 4.60996819,4.09691034 C5.25397968,4.04090934 6.03099354,4.05490959 6.85070816,4.22291259 C7.66902276,4.39791571 8.53003812,4.72692158 9.32805235,5.20293007 C9.7060591,5.44793444 10.1120663,5.73493956 10.427072,6.01494456 C10.5670745,6.11994643 10.8050787,6.35795068 10.9450812,6.5049533 C11.1060841,6.67295629 11.2530867,6.84095929 11.4007893,7.01596241 C11.9670994,7.7159749 12.3871069,8.47198839 12.6601118,9.15800062 C12.8211147,9.55000762 12.9331167,9.92101423 13.0171182,10.24302 L14.5151449,10.24302 C15.1171556,10.24302 15.6491651,10.6000263 15.8801692,11.1530362 C16.1111734,11.7060461 15.9851711,12.3430574 15.5581635,12.7700651" id="Fill-1" transform="translate(8.994247, 10.494247) scale(-1, 1) rotate(-45.000000) translate(-8.994247, -10.494247) "></path>
</g>
</g>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

+2 -1
View File
@@ -5,7 +5,8 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="hide-icon-active" fill="#4C97FF">
<!-- tw: update fill -->
<g id="hide-icon-active" fill="#FF4D4D">
<g transform="translate(1.000000, 1.000000)" id="Combined-Shape">
<path d="M2.06675537,10.5669531 C0.999299947,9.6010063 0.49087044,8.63529009 0.49087044,8.63529009 C-0.150519518,7.7321443 -0.176597571,6.24678071 0.49087044,5.36470987 C0.49087044,5.36470987 2.52555986,1.5 6.99999999,1.5 C8.31672118,1.5 9.42216368,1.83467798 10.32665,2.30705842 L11.9737085,0.659999967 L12.6808152,1.36710675 L1.36710675,12.6808152 L0.659999967,11.9737085 L2.06675537,10.5669531 Z M9.06150447,3.57220396 C8.4592531,3.20897321 7.75347776,3 6.99889412,3 C4.7900605,3 2.99944706,4.79061344 2.99944706,6.99944706 C2.99944706,7.75403071 3.20842027,8.45980605 3.57165102,9.06205741 L5.07816645,7.55554198 C5.02727139,7.37916271 5,7.19276614 5,7 C5,5.8954305 5.8954305,5 7,5 C7.19276614,5 7.37916271,5.02727139 7.55554198,5.07816645 L9.06150447,3.57220396 Z M3.68757244,11.7003495 L4.95187601,10.4360459 C5.55070241,10.7935069 6.25081289,10.9988941 6.99889412,10.9988941 C9.2077277,10.9988941 10.9983412,9.20828068 10.9983412,6.99944706 C10.9983412,6.25136583 10.792954,5.55125535 10.435493,4.95242895 L11.9445897,3.44333221 C13.0043028,4.40583676 13.5091295,5.36470987 13.5091295,5.36470987 C14.1505195,6.26785566 14.1765976,7.75321925 13.5091295,8.63529009 C13.5091295,8.63529009 11.4744401,12.5 6.99999999,12.5 C5.69017232,12.5 4.58941688,12.1688172 3.68757244,11.7003495 Z M6.46130696,8.92661494 L8.92661494,6.46130696 C8.9744347,6.63269299 9,6.81336095 9,7 C9,8.1045695 8.1045695,9 7,9 C6.81336095,9 6.63269299,8.9744347 6.46130696,8.92661494 Z"></path>
</g>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

+2 -1
View File
@@ -5,7 +5,8 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="show-icon-active" fill-rule="nonzero" fill="#4C97FF">
<!-- tw: update fill -->
<g id="show-icon-active" fill-rule="nonzero" fill="#FF4D4D">
<g transform="translate(1.000000, 2.000000)">
<path d="M13.5091295,4.36470987 C14.1505195,5.26785566 14.1765976,6.75321925 13.5091295,7.63529009 C13.5091295,7.63529009 11.4744401,11.5 6.99999999,11.5 C2.52555986,11.5 0.49087044,7.63529009 0.49087044,7.63529009 C-0.150519518,6.7321443 -0.176597571,5.24678071 0.49087044,4.36470987 C0.49087044,4.36470987 2.52555986,0.5 6.99999999,0.5 C11.4744401,0.5 13.5091295,4.36470987 13.5091295,4.36470987 Z M6.99889412,9.99889412 C9.2077277,9.99889412 10.9983412,8.20828068 10.9983412,5.99944706 C10.9983412,3.79061344 9.2077277,2 6.99889412,2 C4.7900605,2 2.99944706,3.79061344 2.99944706,5.99944706 C2.99944706,8.20828068 4.7900605,9.99889412 6.99889412,9.99889412 Z" id="Combined-Shape"></path>
<circle id="Oval" cx="7" cy="6" r="2"></circle>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -120,7 +120,7 @@ const SpriteSelectorComponent = function (props) {
title: intl.formatMessage(messages.addSpriteFromFile),
img: fileUploadIcon,
onClick: onFileUploadClick,
fileAccept: '.svg, .png, .jpg, .jpeg, .sprite2, .sprite3, .gif',
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .sprite2, .sprite3, .gif',
fileChange: onSpriteUpload,
fileInput: spriteFileInput,
fileMultiple: true
@@ -5,10 +5,12 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Large-Stage-(active)" stroke="#4C97FF">
<!-- tw: update fill -->
<g id="Large-Stage-(active)" stroke="#FF4D4D">
<g id="large-stage-(inactive)" transform="translate(3.000000, 4.000000)">
<path d="M1,0 L7,0 L7,12 L1,12 L1,12 C0.44771525,12 6.76353751e-17,11.5522847 0,11 L0,1 L0,1 C-6.76353751e-17,0.44771525 0.44771525,1.01453063e-16 1,0 Z" id="Rectangle"></path>
<path d="M7,0 L13,0 L13,0 C13.5522847,-1.01453063e-16 14,0.44771525 14,1 L14,5.25 L7,5.25 L7,0 Z" id="Rectangle" fill="#4C97FF"></path>
<!-- tw: update fill -->
<path d="M7,0 L13,0 L13,0 C13.5522847,-1.01453063e-16 14,0.44771525 14,1 L14,5.25 L7,5.25 L7,0 Z" id="Rectangle" fill="#FF4D4D"></path>
<path d="M7,5 L14,5 L14,11 L14,11 C14,11.5522847 13.5522847,12 13,12 L7,12 L7,5 Z" id="Rectangle-Copy"></path>
</g>
</g>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -5,10 +5,12 @@
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Small-Stage-(inactive)" stroke="#4C97FF">
<!-- tw: update fill -->
<g id="Small-Stage-(inactive)" stroke="#FF4D4D">
<g id="small-stage-(inactive)" transform="translate(3.000000, 4.000000)">
<path d="M1,0 L10,0 L10,12 L1,12 L1,12 C0.44771525,12 6.76353751e-17,11.5522847 0,11 L0,1 L0,1 C-6.76353751e-17,0.44771525 0.44771525,1.01453063e-16 1,0 Z" id="Rectangle"></path>
<path d="M10,0 L13,0 L13,0 C13.5522847,-1.01453063e-16 14,0.44771525 14,1 L14,3 L10,3 L10,0 Z" id="Rectangle" fill="#4C97FF"></path>
<!-- tw: update fill -->
<path d="M10,0 L13,0 L13,0 C13.5522847,-1.01453063e-16 14,0.44771525 14,1 L14,3 L10,3 L10,0 Z" id="Rectangle" fill="#FF4D4D"></path>
<path d="M10,3 L14,3 L14,11 L14,11 C14,11.5522847 13.5522847,12 13,12 L10,12 L10,3 Z" id="Rectangle-Copy"></path>
</g>
</g>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -15,6 +15,16 @@
z-index: $z-index-stage-header;
}
/* tw: support dark mode */
[theme="dark"] .stage-header-wrapper-overlay {
background-color: #111;
}
/* tw: do not show color in header when embedded */
.embedded {
background-color: transparent;
}
.stage-menu-wrapper {
display: flex;
margin: auto;
+27 -18
View File
@@ -19,6 +19,8 @@ import unFullScreenIcon from './icon--unfullscreen.svg';
import scratchLogo from '../menu-bar/scratch-logo.svg';
import styles from './stage-header.css';
import FullscreenAPI from '../../lib/tw-fullscreen-api';
const messages = defineMessages({
largeStageSizeMessage: {
defaultMessage: 'Switch to large stage',
@@ -56,29 +58,18 @@ const StageHeaderComponent = function (props) {
onSetStageSmall,
onSetStageFull,
onSetStageUnFull,
showBranding,
isEmbedded,
stageSizeMode,
vm
} = props;
let header = null;
if (isFullScreen) {
if (isFullScreen || isEmbedded) {
const stageDimensions = getStageDimensions(null, true);
const stageButton = showBranding ? (
<div className={styles.embedScratchLogo}>
<a
href="https://scratch.mit.edu"
rel="noopener noreferrer"
target="_blank"
>
<img
alt="Scratch"
src={scratchLogo}
/>
</a>
</div>
) : (
const stageButton = isEmbedded && !FullscreenAPI.available() ? (
null
) : isFullScreen ? (
<Button
className={styles.stageButton}
onClick={onSetStageUnFull}
@@ -92,9 +83,27 @@ const StageHeaderComponent = function (props) {
title={props.intl.formatMessage(messages.fullscreenControl)}
/>
</Button>
) : (
<Button
className={styles.stageButton}
onClick={onSetStageFull}
>
<img
alt={props.intl.formatMessage(messages.fullStageSizeMessage)}
className={styles.stageButtonIcon}
draggable={false}
src={fullScreenIcon}
title={props.intl.formatMessage(messages.fullscreenControl)}
/>
</Button>
);
header = (
<Box className={styles.stageHeaderWrapperOverlay}>
<Box
className={classNames(styles.stageHeaderWrapperOverlay, {
[styles.embedded]: isEmbedded
})}
>
<Box
className={styles.stageMenuWrapper}
style={{width: stageDimensions.width}}
@@ -189,7 +198,7 @@ StageHeaderComponent.propTypes = {
onSetStageLarge: PropTypes.func.isRequired,
onSetStageSmall: PropTypes.func.isRequired,
onSetStageUnFull: PropTypes.func.isRequired,
showBranding: PropTypes.bool.isRequired,
isEmbedded: PropTypes.bool.isRequired,
stageSizeMode: PropTypes.oneOf(Object.keys(STAGE_SIZE_MODES)),
vm: PropTypes.instanceOf(VM).isRequired
};
@@ -102,7 +102,7 @@ const StageSelector = props => {
title: intl.formatMessage(messages.addBackdropFromFile),
img: fileUploadIcon,
onClick: onBackdropFileUploadClick,
fileAccept: '.svg, .png, .jpg, .jpeg, .gif',
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .gif',
fileChange: onBackdropFileUpload,
fileInput: fileInputRef,
fileMultiple: true
@@ -1,5 +1,11 @@
@import "../../css/units.css";
@import "../../css/colors.css";
@import "../../css/z-index.css";
/* tw: this changes the loading screen to be contained to the stage */
.stage-wrapper {
position: relative;
}
.stage-wrapper * {
box-sizing: border-box;
@@ -9,3 +15,31 @@
/* Hides negative space between edge of rounded corners + container, when selected */
user-select: none;
}
.stage-wrapper.full-screen {
position: fixed;
top: $stage-menu-height;
left: 0;
right: 0;
bottom: 0;
z-index: $z-index-stage-wrapper-overlay;
background-color: $ui-white;
/* spacing between stage and control bar (on the top), or between
stage and window edges (on left/right/bottom) */
padding: $stage-full-screen-stage-padding;
/* this centers the stage */
display: flex;
flex-direction: column;
align-items: center;
}
/* tw: support dark mode */
[theme="dark"] .stage-wrapper.full-screen {
background-color: #111;
}
/* tw: do not show color in embeds */
.stage-wrapper.embedded {
background-color: transparent;
}
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
import classNames from 'classnames';
import VM from 'scratch-vm';
import Box from '../box/box.jsx';
@@ -12,6 +13,7 @@ import styles from './stage-wrapper.css';
const StageWrapperComponent = function (props) {
const {
isEmbedded,
isFullScreen,
isRtl,
isRendererSupported,
@@ -22,7 +24,11 @@ const StageWrapperComponent = function (props) {
return (
<Box
className={styles.stageWrapper}
className={classNames(
styles.stageWrapper,
{[styles.embedded]: isEmbedded},
{[styles.fullScreen]: isFullScreen},
)}
dir={isRtl ? 'rtl' : 'ltr'}
>
<Box className={styles.stageMenuWrapper}>
@@ -49,6 +55,7 @@ const StageWrapperComponent = function (props) {
};
StageWrapperComponent.propTypes = {
isEmbedded: PropTypes.bool,
isFullScreen: PropTypes.bool,
isRendererSupported: PropTypes.bool.isRequired,
isRtl: PropTypes.bool.isRequired,
+22 -46
View File
@@ -21,6 +21,13 @@
/* Make sure border is not included in size calculation */
box-sizing: content-box !important;
/* enforce overflow + reset position of absolutely-positioned children */
position: relative;
}
.stage.full-screen {
/* tw: remove fullscreen border */
}
.with-color-picker {
@@ -43,63 +50,30 @@
position: relative;
}
.stage-wrapper-overlay {
position: fixed;
top: $stage-menu-height;
left: 0;
right: 0;
bottom: 0;
z-index: $z-index-stage-wrapper-overlay;
background-color: $ui-white;
/* spacing between stage and control bar (on the top), or between
stage and window edges (on left/right/bottom) */
padding: $stage-full-screen-stage-padding;
}
/* wraps only main content of overlay player, not monitors */
.stage-overlay-content {
outline: none;
margin: auto;
border: $stage-full-screen-border-width solid rgb(126, 133, 151);
padding: 0;
border-radius: $space;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.stage-overlay-content-border-override {
border: none;
}
/* adjust monitors when stage is standard size:
shift them down and right to compensate for the stage's border */
.stage-wrapper .monitor-wrapper {
/* we want stage overlays to all be positioned in the same spot as the stage, but can't put them inside the border
because we want their overflow to be visible, and the bordered element must have overflow: hidden set so that the
stage doesn't "spill" out from under its rounded corners. instead, shift these over by the border width. */
.stage-overlays {
position: absolute;
top: $stage-standard-border-width;
left: $stage-standard-border-width;
/* the overlay itself should not capture pointer events; only its child elements can do that */
pointer-events: none;
}
/* adjust monitors when stage is full screen:
.stage-wrapper-overlay uses position: fixed instead of relative, so we need
to adjust for the border using a different method */
.stage-wrapper-overlay .monitor-wrapper {
padding-top: calc($stage-full-screen-stage-padding + $stage-full-screen-border-width);
padding-bottom: calc($stage-full-screen-stage-padding + $stage-full-screen-border-width);
.stage-overlays.full-screen {
top: $stage-full-screen-border-width;
left: $stage-full-screen-border-width;
}
.monitor-wrapper,
.color-picker-wrapper,
.frame-wrapper,
.green-flag-overlay-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
}
.dragging-sprite {
@@ -108,7 +82,7 @@ to adjust for the border using a different method */
left: 0;
z-index: $z-index-dragging-sprite;
filter: drop-shadow(5px 5px 5px $ui-black-transparent);
}
}
.stage-bottom-wrapper {
position: absolute;
@@ -116,6 +90,7 @@ to adjust for the border using a different method */
flex-direction: column;
justify-content: flex-end;
top: 0;
left: 0;
overflow: hidden;
pointer-events: none;
}
@@ -133,7 +108,6 @@ to adjust for the border using a different method */
}
.frame {
box-sizing: content-box !important;
background: $motion-transparent;
border: 2px solid $motion-primary;
border-radius: 0.5rem;
@@ -143,6 +117,8 @@ to adjust for the border using a different method */
}
.green-flag-overlay-wrapper {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
+60 -61
View File
@@ -35,23 +35,17 @@ const StageComponent = props => {
const stageDimensions = getStageDimensions(stageSize, isFullScreen);
return (
<div>
<React.Fragment>
<Box
className={classNames({
[styles.stageWrapper]: !isFullScreen,
[styles.stageWrapperOverlay]: isFullScreen,
[styles.withColorPicker]: !isFullScreen && isColorPicking
})}
style={{
minHeight: stageDimensions.height,
minWidth: stageDimensions.width
}}
className={classNames(
styles.stageWrapper,
{[styles.withColorPicker]: !isFullScreen && isColorPicking})}
onDoubleClick={onDoubleClick}
>
<Box
className={classNames(
styles.stage,
{[styles.stageOverlayContent]: isFullScreen}
{[styles.fullScreen]: isFullScreen}
)}
style={{
height: stageDimensions.height,
@@ -66,18 +60,61 @@ const StageComponent = props => {
}}
{...boxProps}
/>
<Box className={styles.monitorWrapper}>
<MonitorList
draggable={useEditorDragStyle}
stageSize={stageDimensions}
/>
</Box>
<Box className={styles.frameWrapper}>
<TargetHighlight
className={styles.frame}
stageHeight={stageDimensions.height}
stageWidth={stageDimensions.width}
/>
</Box>
{isColorPicking && colorInfo ? (
<Loupe colorInfo={colorInfo} />
) : null}
</Box>
<Box className={styles.monitorWrapper}>
<MonitorList
draggable={useEditorDragStyle}
stageSize={stageDimensions}
/>
</Box>
<Box className={styles.frameWrapper}>
<TargetHighlight
className={styles.frame}
stageHeight={stageDimensions.height}
stageWidth={stageDimensions.width}
{/* `stageOverlays` is for items that should *not* have their overflow contained within the stage */}
<Box
className={classNames(
styles.stageOverlays,
{[styles.fullScreen]: isFullScreen}
)}
>
<div
className={styles.stageBottomWrapper}
style={{
width: stageDimensions.width,
height: stageDimensions.height
}}
>
{micIndicator ? (
<MicIndicator
className={styles.micIndicator}
stageSize={stageDimensions}
/>
) : null}
{question === null ? null : (
<div
className={styles.questionWrapper}
style={{width: stageDimensions.width}}
>
<Question
question={question}
onQuestionAnswered={onQuestionAnswered}
/>
</div>
)}
</div>
<canvas
className={styles.draggingSprite}
height={0}
ref={dragRef}
width={0}
/>
</Box>
{isStarted ? null : (
@@ -86,44 +123,6 @@ const StageComponent = props => {
wrapperClass={styles.greenFlagOverlayWrapper}
/>
)}
{isColorPicking && colorInfo ? (
<Box className={styles.colorPickerWrapper}>
<Loupe colorInfo={colorInfo} />
</Box>
) : null}
<div
className={styles.stageBottomWrapper}
style={{
width: stageDimensions.width,
height: stageDimensions.height,
left: '50%',
marginLeft: stageDimensions.width * -0.5
}}
>
{micIndicator ? (
<MicIndicator
className={styles.micIndicator}
stageSize={stageDimensions}
/>
) : null}
{question === null ? null : (
<div
className={styles.questionWrapper}
style={{width: stageDimensions.width}}
>
<Question
question={question}
onQuestionAnswered={onQuestionAnswered}
/>
</div>
)}
</div>
<canvas
className={styles.draggingSprite}
height={0}
ref={dragRef}
width={0}
/>
</Box>
{isColorPicking ? (
<Box
@@ -131,7 +130,7 @@ const StageComponent = props => {
onClick={onDeactivateColorPicker}
/>
) : null}
</div>
</React.Fragment>
);
};
StageComponent.propTypes = {
@@ -101,6 +101,9 @@ class TelemetryModal extends React.PureComponent {
privacyPolicyLink: (<a
className={styles.privacyPolicyLink}
href="https://scratch.mit.edu/privacy_policy/"
onClick={this.props.onShowPrivacyPolicy}
target="_blank"
rel="noopener noreferrer"
>
<FormattedMessage {...messages.privacyPolicyLink} />
</a>)
@@ -134,7 +137,8 @@ TelemetryModal.propTypes = {
onCancel: PropTypes.func,
onOptIn: PropTypes.func.isRequired,
onOptOut: PropTypes.func.isRequired,
onRequestClose: PropTypes.func
onRequestClose: PropTypes.func,
onShowPrivacyPolicy: PropTypes.func
};
export default injectIntl(TelemetryModal);
@@ -0,0 +1,29 @@
.description {
max-height: 220px;
overflow: auto;
white-space: pre-line;
overflow-wrap: break-word;
line-height: 1.5em;
padding: 0.5rem;
margin: 5px 0 8px 0;
border: 1px solid #b9d6ff;
background-color: #dbebff;
}
.description a {
font-weight: bold;
text-decoration: none;
}
[theme="dark"] .description {
border-color: #203652;
background-color: #16202c;
}
.header {
font-weight: bold;
}
.divider {
margin-top: 8px;
}
@@ -0,0 +1,81 @@
import React from 'react';
import PropTypes from 'prop-types';
import {FormattedMessage} from 'react-intl';
import styles from './description.css';
import reactStringReplace from 'react-string-replace';
const decorate = text => {
// https://github.com/LLK/scratch-www/blob/25232a06bcceeaddec8fcb24fb63a44d870cf1cf/src/lib/decorate-text.jsx
// Make @mentions clickable
text = reactStringReplace(text, /@([\w-]+)/, (match, i) => (
<a
href={`https://scratch.mit.edu/users/${match}/`}
rel="noreferrer"
key={match + i}
>{`@${match}`}</a>
));
// Make links clickable
const linkRegex = /(https?:\/\/[\w\d_\-.]{1,256}(?:\/(?:\S*[\w:/#[\]@$&'()*+=])?)?(?![^?!,:;\w\s]\S))/g;
text = reactStringReplace(text, linkRegex, (match, i) => (
<a
href={match}
rel="noreferrer"
key={match + i}
>{match}</a>
));
// Make hashtags clickable
text = reactStringReplace(text, /#([\w-]+)/g, (match, i) => (
<a
href={`https://scratch.mit.edu/search/projects?q=${match}`}
key={match + i}
>{`#${match}`}</a>
));
return text;
};
const Description = ({
instructions,
credits
}) => (
<div className={styles.description}>
{instructions ? (
<div>
<div className={styles.header}>
<FormattedMessage
defaultMessage="Instructions"
description="Header for instructions section of description"
id="tw.home.instructions"
/>
</div>
{decorate(instructions)}
</div>
) : null}
{instructions && credits ? (
<div className={styles.divider} />
) : null}
{credits ? (
<div>
<div className={styles.header}>
<FormattedMessage
defaultMessage="Notes and Credits"
description="Header for notes and credits section of description"
id="tw.home.credit"
/>
</div>
{decorate(credits)}
</div>
) : null}
</div>
);
Description.propTypes = {
instructions: PropTypes.string,
credits: PropTypes.string
};
export default Description;
@@ -0,0 +1,43 @@
.container {
margin-bottom: 8px;
}
.opener-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
user-select: none;
opacity: 0.8;
color: #222;
}
.opener-container:hover {
opacity: 1;
}
.opener-content {
background-color: white;
padding: 4px;
border: 1px solid black;
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.25);
}
.projects {
position: relative;
height: 154px;
transition: .2s height;
}
.opened .projects {
height: 310px;
}
.footer {
}
@@ -0,0 +1,101 @@
import bindAll from 'lodash.bindall';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import React from 'react';
import {FormattedMessage} from 'react-intl';
import {connect} from 'react-redux';
import StudioView from '../tw-studioview/studioview.jsx';
import styles from './featured-projects.css';
import {getIsLoading, getIsFetchingWithId, setProjectId} from '../../reducers/project-state';
import analytics from '../../lib/analytics';
class FeaturedProjects extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleSelect',
'handleOpenProjects'
]);
this.state = {
opened: false
};
}
handleSelect (id) {
this.props.setProjectId(id);
analytics.twEvent('Load Featured');
}
handleOpenProjects () {
this.setState({
opened: true
});
}
render () {
const opened = this.state.opened;
return (
<div
className={classNames(
styles.container,
{
[styles.opened]: opened
}
)}
>
<div className={styles.projects}>
<StudioView
id={this.props.studio}
onSelect={this.handleSelect}
disabled={this.props.loading}
placeholder={!opened}
/>
{opened ? null : (
<div
className={styles.openerContainer}
onClick={this.handleOpenProjects}
>
<div className={styles.openerContent}>
<FormattedMessage
defaultMessage="Click to view featured projects."
description="Text to view featured projects"
id="tw.viewFeaturedProjects"
/>
</div>
</div>
)}
</div>
<div className={styles.footer}>
<a
target="_blank"
rel="noopener noreferrer"
href={`https://scratch.mit.edu/studios/${this.props.studio}/`}
>
<FormattedMessage
defaultMessage="View studio on Scratch."
description="Link to turbowarp featured projects studio"
id="tw.featuredProjectsStudio"
/>
</a>
</div>
</div>
);
}
}
FeaturedProjects.propTypes = {
loading: PropTypes.bool,
setProjectId: PropTypes.func,
studio: PropTypes.string
};
const mapStateToProps = state => ({
loading: getIsLoading(state.scratchGui.projectState.loadingState) ||
getIsFetchingWithId(state.scratchGui.projectState.loadingState)
});
const mapDispatchToProps = dispatch => ({
setProjectId: projectId => dispatch(setProjectId(projectId))
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(FeaturedProjects);
@@ -0,0 +1,16 @@
@import "../../css/colors.css";
.framerate-container {
display: flex;
align-items: center;
padding: 0.25rem;
user-select: none;
}
.framerate-label {
font-size: 0.625rem;
font-weight: bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: $control-primary;
white-space: nowrap;
}
@@ -0,0 +1,29 @@
import React from 'react';
import PropTypes from 'prop-types';
import {FormattedMessage} from 'react-intl';
import styles from './framerate-indicator.css';
const FramerateIndicator = ({framerate}) => (
// do not show an indicator at 30 FPS
framerate === 30 ? null : (
<div className={styles.framerateContainer}>
<div className={styles.framerateLabel}>
<FormattedMessage
defaultMessage="{framerate} FPS"
description="Label indicating project framerate"
id="tw.framerateIndicator"
values={{
framerate: framerate
}}
/>
</div>
</div>
)
);
FramerateIndicator.propTypes = {
framerate: PropTypes.number
};
export default FramerateIndicator;
@@ -0,0 +1,17 @@
@import "../../css/colors.css";
.input {
border: none;
width: 100%;
font-size: 23px;
line-height: 32px;
opacity: 0.5;
background-color: transparent;
color: inherit;
}
.input:focus {
opacity: 1;
}
.input:disabled {
opacity: 0.8;
}
@@ -0,0 +1,118 @@
import PropTypes from 'prop-types';
import React from 'react';
import {connect} from 'react-redux';
import bindAll from 'lodash.bindall';
import {defaultProjectId, setProjectId, getIsLoading, getIsFetchingWithId} from '../../reducers/project-state';
import styles from './project-input.css';
const PROJECT_BASE = 'https://scratch.mit.edu/projects/';
class ProjectInput extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleKeyDown',
'handleChange',
'handlePaste',
'handleBlur',
'handleFocus',
'inputRef'
]);
this.state = {
projectId: this.props.projectId
};
}
componentDidUpdate (prevProps) {
if (this.props.projectId !== prevProps.projectId || this.props.loading !== prevProps.loading) {
if (this.props.projectId === defaultProjectId) {
this.input.focus();
this.input.selectionStart = this.input.value.length;
} else {
this.input.blur();
}
this.setState({
projectId: this.props.projectId
});
}
}
extractProjectId (text) {
const numberMatch = text.match(/\d+/);
return numberMatch ? numberMatch[0] : null;
}
readProjectId (e) {
const id = this.extractProjectId(e.target.value);
return id || defaultProjectId;
}
handleKeyDown (e) {
if (e.key === 'Enter' && this.state.projectId) {
this.props.setProjectId(this.state.projectId);
this.input.blur();
}
}
handleChange (e) {
this.setState({
projectId: this.readProjectId(e) || defaultProjectId
});
}
handlePaste () {
// const data = e.clipboardData.getData('Text');
// const id = this.extractProjectId(data);
// if (id) {
// this.setState({
// projectId: id
// });
// }
}
handleBlur () {
if (this.state.projectId) {
this.props.setProjectId(this.state.projectId);
}
}
handleFocus (e) {
if (this.extractProjectId(e.target.value)) {
e.target.select();
}
}
inputRef (el) {
this.input = el;
}
render () {
const projectId = this.state.projectId === defaultProjectId ? '' : this.state.projectId || '';
return (
<input
ref={this.inputRef}
spellCheck="false"
type="text"
value={`${PROJECT_BASE}${projectId}`}
className={styles.input}
onKeyDown={this.handleKeyDown}
onChange={this.handleChange}
onPaste={this.handlePaste}
onBlur={this.handleBlur}
onFocus={this.handleFocus}
disabled={this.props.loading}
/>
);
}
}
ProjectInput.propTypes = {
projectId: PropTypes.string,
setProjectId: PropTypes.func,
loading: PropTypes.bool
};
const mapStateToProps = state => ({
projectId: state.scratchGui.projectState.projectId,
loading: getIsLoading(state.scratchGui.projectState.loadingState) || getIsFetchingWithId(state.scratchGui.projectState.loadingState)
});
const mapDispatchToProps = dispatch => ({
setProjectId: projectId => dispatch(setProjectId(projectId))
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(ProjectInput);
+107
View File
@@ -0,0 +1,107 @@
/*
Imported from:
https://github.com/forkphorus/forkphorus/tree/master/studioview
With changes to make it work properly in the scratch-gui environment.
*/
/* we wrap it in a <div> */
.wrapper {
height: 100%;
}
/* we let you disable the view */
.disabled {
pointer-events: none;
opacity: 0.8;
}
/* fix some styles that can be messed up by scratch-gui */
.studioview-root * {
box-sizing: content-box !important;
}
.studioview-root {
height: 100%;
}
.studioview-list {
width: 100%;
height: 100%;
overflow-y: scroll;
overflow-anchor: none;
}
.studioview-project, .studioview-placeholder {
display: inline-block;
width: 144px;
padding: 3px;
margin-bottom: 1px;
margin-right: 1px;
}
.studioview-root .studioview-project {
color: inherit;
position: relative;
text-decoration: none;
}
.studioview-loaded:hover::before, .studioview-loaded:active::before {
content: '';
pointer-events: none;
user-select: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: currentColor;
opacity: 0.1;
}
.studioview-root .studioview-loaded:active::before {
opacity: 0.2;
}
.studioview-root .studioview-title,
.studioview-root .studioview-author {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
color: inherit;
text-decoration: none;
}
.studioview-title {
font-size: 0.8em;
font-weight: bold;
}
.studioview-author {
font-size: 0.75em;
}
.studioview-error {
width: 100%;
}
.studioview-thumbnail, .studioview-placeholder-thumbnail {
width: 144px;
height: 108px;
}
.studioview-thumbnail img {
width: 100%;
height: 100%;
}
.studioview-placeholder .studioview-thumbnail,
.studioview-placeholder .studioview-title,
.studioview-placeholder .studioview-author {
background-color: currentColor;
opacity: 0.1;
}
.studioview-title {
height: 20px;
margin-top: 2px;
}
.studioview-author {
height: 18px;
}
.studioview-placeholder .studioview-title {
border-radius: 2px 2px 2px 0;
width: 100%;
}
.studioview-placeholder .studioview-author {
border-radius: 0 0 2px 2px;
width: 50%;
}
+379
View File
@@ -0,0 +1,379 @@
/* eslint-disable */
// Imported from:
// https://github.com/forkphorus/forkphorus/tree/master/studioview
// With changes to make it work properly in the scratch-gui environment.
// todo: we have to see if we are leaking memory when this is mounted and unmounted, esp. because of event listeners
// todo: use react-intl for translations
import styles from './studioview.css';
import classNames from 'classnames';
/**
* Determines if an element is visible, accounting for parents and their bounding rects.
*/
function isElementVisible(el) {
// see https://stackoverflow.com/a/21627295
var rect = el.getBoundingClientRect();
var top = rect.top;
var height = rect.height;
var el = el.parentNode;
if (rect.bottom < 0) return false;
if (top > document.documentElement.clientHeight) return false;
do {
rect = el.getBoundingClientRect();
if (top <= rect.bottom === false) return false;
if ((top + height) <= rect.top) return false;
el = el.parentNode;
} while (el != document.body)
return true;
}
/**
* @class
*/
var StudioView = function (studioId) {
this.studioId = studioId;
this.page = 1;
this.ended = false;
this.loadingPage = false;
this.unusedPlaceholders = [];
this.root = document.createElement('div');
this.root.className = styles.studioviewRoot;
this.projectList = document.createElement('div');
this.projectList.className = styles.studioviewList;
this.projectList.addEventListener('scroll', this.handleScroll.bind(this), { passive: true });
this.root.appendChild(this.projectList);
if ('IntersectionObserver' in window) {
this.intersectionObserver = new IntersectionObserver(this.handleIntersection.bind(this), {
root: this.projectList,
rootMargin: '25px 0px 25px 0px',
});
} else {
this.intersectionObserver = null;
}
// will be filled in by studioview.jsx
this.messages = {
AUTHOR_ATTRIBUTION: '',
PROJECT_HOVER_TEXT: '',
LOAD_ERROR: ''
};
};
/**
* Add a project to the view.
* An unused placeholder element may be used, or it may be created.
*/
StudioView.prototype.addProject = function (details) {
var el;
if (this.unusedPlaceholders.length) {
el = this.unusedPlaceholders.shift();
} else {
el = this.createPlaceholder();
this.projectList.appendChild(el);
}
this.placeholderToProject(el, details.id, details.title, details.author);
};
/**
* Create an <img> element that will load only when it becomes visible.
*/
StudioView.prototype.createLazyImage = function (src) {
var el = document.createElement('img');
if (this.intersectionObserver) {
this.intersectionObserver.observe(el);
el.className = styles.studioviewLazy;
el.dataset.src = src;
} else {
// then we just won't lazy load it
el.src = src;
}
return el;
};
/**
* Create a placeholder or placeholder element.
*/
StudioView.prototype.createPlaceholder = function () {
var el = document.createElement('a');
el.className = classNames(styles.studioviewProject, styles.studioviewPlaceholder);
var thumbnail = document.createElement('div');
thumbnail.className = styles.studioviewThumbnail;
var title = document.createElement('div');
title.className = styles.studioviewTitle;
var author = document.createElement('div');
author.className = styles.studioviewAuthor;
el.thumbnailEl = thumbnail;
el.titleEl = title;
el.authorEl = author;
el.appendChild(thumbnail);
el.appendChild(title);
el.appendChild(author);
return el;
};
/**
* Convert a placeholder element made by createPlaceholder to a project element.
*/
StudioView.prototype.placeholderToProject = function (el, id, title, author) {
el.className = classNames(styles.studioviewProject, styles.studioviewLoaded);
el.dataset.id = id;
el.dataset.title = title;
el.dataset.author = author;
el.title = this.messages.PROJECT_HOVER_TEXT.replace('$author', author).replace('$title', title);
el.href = StudioView.PROJECT_PAGE.replace('$id', id);
var thumbnailSrc = StudioView.THUMBNAIL_SRC.replace('$id', id);
var thumbnailImg = this.createLazyImage(thumbnailSrc);
el.thumbnailEl.appendChild(thumbnailImg);
el.titleEl.innerText = title;
el.authorEl.innerText = this.messages.AUTHOR_ATTRIBUTION.replace('$author', author);
el.addEventListener('click', this.handleClick.bind(this), true);
el.addEventListener('keydown', this.handleKeyDown.bind(this), true);
return el;
};
/**
* Adds an error message to the list.
*/
StudioView.prototype.addErrorElement = function () {
var el = document.createElement('div');
el.innerText = this.messages.LOAD_ERROR;
el.className = styles.studioviewError;
this.projectList.appendChild(el);
};
// Called when the project list is scrolled
StudioView.prototype.handleScroll = function (e) {
if (this.canLoadNext() && isElementVisible(this.projectList.lastChild)) {
this.loadNextPage();
}
};
// Click a project element or a child of a project element
StudioView.prototype.clickProject = function (el) {
while (!el.classList.contains(styles.studioviewProject)) {
el = el.parentNode;
}
var id = el.dataset.id;
this.onselect(id, el);
}
// Called when click is fired on a project element
StudioView.prototype.handleClick = function (e) {
e.preventDefault();
this.clickProject(e.target);
};
// Called when keydown is fired on a project element
StudioView.prototype.handleKeyDown = function (e) {
if (e.keyCode === 13) {
// treat enter (13) as click
e.preventDefault();
this.clickProject(e.target);
}
};
// Called by the IntersectionObserver when it sees an intersection
StudioView.prototype.handleIntersection = function (entries, observer) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
var target = entry.target;
target.src = target.dataset.src;
target.dataset.src = '';
target.className = '';
observer.unobserve(target);
}
});
};
/**
* Determines whether it is safe to attempt to load the next page.
*/
StudioView.prototype.canLoadNext = function () {
return !this.loadingPage && !this.ended;
};
/**
* Remove all unused placeholder elements.
*/
StudioView.prototype.cleanupPlaceholders = function () {
while (this.unusedPlaceholders.length) {
var el = this.unusedPlaceholders.pop();
this.projectList.removeChild(el);
}
};
/**
* Add placeholder placeholder elements.
*/
StudioView.prototype.addPlaceholders = function () {
for (var i = 0; i < StudioView.PLACEHOLDER_COUNT; i++) {
var el = this.createPlaceholder();
this.unusedPlaceholders.push(el);
this.projectList.appendChild(el);
}
};
/**
* Make changes to the order of projects.
* Default shuffler does nothing.
*/
StudioView.prototype.shuffler = function (projects) {
return projects;
};
/**
* Begins loading the next page.
*/
StudioView.prototype.loadNextPage = function () {
if (this.loadingPage) {
throw new Error('Already loading the next page');
}
if (this.ended) {
throw new Error('There are no more pages to load');
}
if (this.unusedPlaceholders.length === 0) {
this.addPlaceholders();
}
this.root.setAttribute('loading', '');
this.loadingPage = true;
var xhr = new XMLHttpRequest();
xhr.onload = function () {
// We cannot just set xhr.responseType="document" because the proxy returns text/plain
var docSource = xhr.response;
var doc = new DOMParser().parseFromString(docSource, 'text/html');
var projects = [];
var projectElements = doc.querySelectorAll('.project');
/*
Each project element should be:
<li class="project thumb item" data-id="12345">
<a href="/projects/12345/">
<img class="lazy image" data-original="//cdn2.scratch.mit.edu/get_image/project/12345_144x108.png" width="144" height="108" />
</a>
<span class="title">
<a href="/projects/12345/">Title</a>
</span>
<span class="owner" >
by <a href="/users/Author/">Author</a>
</span>
</li>
*/
for (var i = 0; i < projectElements.length; i++) {
var project = projectElements[i];
var id = project.getAttribute('data-id');
var title = project.querySelector('.title').textContent.trim();
var author = project.querySelector('.owner a').textContent.trim();
projects.push({
id: id,
title: title,
author: author,
});
}
projects = this.shuffler(projects);
for (var i = 0; i < projects.length; i++) {
this.addProject(projects[i]);
}
this.cleanupPlaceholders();
// All pages except the last have a next page button.
if (!doc.querySelector('.next-page')) {
this.ended = true;
this.onend();
}
this.page++;
this.loadingPage = false;
this.root.removeAttribute('loading');
this.onpageload();
}.bind(this);
xhr.onerror = function () {
this.root.setAttribute('error', '');
this.cleanupPlaceholders();
this.addErrorElement();
this.ended = true;
}.bind(this);
var url = StudioView.STUDIO_API
.replace('$id', this.studioId)
.replace('$page', '' + this.page);
xhr.open('GET', url);
xhr.send();
};
StudioView.prototype.getURL = function () {
return StudioView.STUDIO_PAGE.replace('$id', this.studioId);
};
StudioView.prototype.onselect = function (id, el) { };
StudioView.prototype.onpageload = function () { };
StudioView.prototype.onend = function () { };
// Types of shufflers
function shuffleList(list) {
// https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm
for (var i = list.length - 1; i > 0; i--) {
var random = Math.floor(Math.random() * (i + 1));
var tmp = list[i];
list[i] = list[random];
list[random] = tmp;
}
}
StudioView.Shufflers = {};
StudioView.Shufflers.random = function (groupSize) {
groupSize = groupSize || Infinity;
return function (projects) {
if (groupSize === Infinity) {
shuffleList(projects);
return projects;
}
var result = [];
for (var i = 0; i < projects.length; i += groupSize) {
var group = projects.slice(i, i + groupSize);
shuffleList(group);
for (var j = 0; j < group.length; j++) {
result.push(group[j]);
}
}
return result;
};
};
// This can be any URL that is a proxy for https://scratch.mit.edu/site-api/projects/in/5235006/1/
// Understandably scratch does not set CORS headers on this URL, but a proxy can set it manually.
// $id will be replaced with the studio ID, and $page with the page.
StudioView.STUDIO_API = 'https://trampoline.turbowarp.org/site-proxy/projects/in/$id/$page/';
// The URL to download thumbnails from.
// $id is replaced with the project's ID.
StudioView.THUMBNAIL_SRC = 'https://cdn2.scratch.mit.edu/get_image/project/$id_144x108.png';
// The URL for project pages.
// $id is replaced with the project ID.
StudioView.PROJECT_PAGE = 'https://scratch.mit.edu/projects/$id/';
// The URL for studio pages.
// $id is replaced with the studio ID.
StudioView.STUDIO_PAGE = 'https://scratch.mit.edu/studios/$id/';
// The amount of "placeholders" to insert before the next page loads.
StudioView.PLACEHOLDER_COUNT = 9;
export default StudioView;
@@ -0,0 +1,90 @@
import React from 'react';
import PropTypes from 'prop-types';
import bindAll from 'lodash.bindall';
import classNames from 'classnames';
import {defineMessages, injectIntl, intlShape} from 'react-intl';
import StudioView from './studioview';
import styles from './studioview.css';
const messages = defineMessages({
authorAttribution: {
defaultMessage: 'by {author}',
description: 'Displayed in StudioView under project title to credit creator',
id: 'tw.studioview.authorAttribution'
},
hoverText: {
defaultMessage: '{title} by {author}',
description: 'Displayed in StudioView when hovering on a project',
id: 'tw.studioview.hoverText'
},
error: {
defaultMessage: 'There was an error loading the next page of projects.',
description: 'Displayed in StudioView when an error occurs',
id: 'tw.studioview.error'
}
});
class StudioViewComponent extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleSelect',
'ref'
]);
}
componentDidMount () {
this.studioView = new StudioView(this.props.id);
this.studioView.messages.AUTHOR_ATTRIBUTION = this.props.intl.formatMessage(messages.authorAttribution, {
// studioview uses $-based variables
author: '$author'
});
this.studioView.messages.PROJECT_HOVER_TEXT = this.props.intl.formatMessage(messages.hoverText, {
// studioview uses $-based variables
author: '$author',
title: '$title'
});
this.studioView.messages.LOAD_ERROR = this.props.intl.formatMessage(messages.error);
if (this.props.placeholder) {
this.studioView.addPlaceholders();
} else {
this.studioView.loadNextPage();
}
this.studioView.onselect = this.handleSelect;
this.el.appendChild(this.studioView.root);
}
componentDidUpdate (prevProps) {
if (prevProps.placeholder && !this.props.placeholder) {
this.studioView.loadNextPage();
}
}
handleSelect (id) {
this.props.onSelect(id);
}
ref (el) {
this.el = el;
}
render () {
return (
<div
className={classNames(
styles.wrapper,
{
[styles.disabled]: this.props.disabled
}
)}
ref={this.ref}
/>
);
}
}
StudioViewComponent.propTypes = {
id: PropTypes.string.isRequired,
intl: intlShape.isRequired,
disabled: PropTypes.bool,
placeholder: PropTypes.bool,
onSelect: PropTypes.func.isRequired
};
export default injectIntl(StudioViewComponent);
+27 -20
View File
@@ -3,6 +3,7 @@ import bindAll from 'lodash.bindall';
import PropTypes from 'prop-types';
import {connect} from 'react-redux';
import SB3Downloader from './sb3-downloader.jsx';
import TWAutoSaveLoader from './tw-autosave-loader.jsx';
import AlertComponent from '../components/alerts/alert.jsx';
import {openConnectionModal} from '../reducers/modals';
import {setConnectionModalExtensionId} from '../reducers/connection-modal';
@@ -36,27 +37,32 @@ class Alert extends React.Component {
onSaveNow,
showDownload,
showReconnect,
showSaveNow
showSaveNow,
showRecover
} = this.props;
return (
<SB3Downloader>{(_, downloadProject) => (
<AlertComponent
closeButton={closeButton}
content={content}
extensionName={extensionName}
iconSpinner={iconSpinner}
iconURL={iconURL}
level={level}
message={message}
showDownload={showDownload}
showReconnect={showReconnect}
showSaveNow={showSaveNow}
onCloseAlert={this.handleOnCloseAlert}
onDownload={downloadProject}
onReconnect={this.handleOnReconnect}
onSaveNow={onSaveNow}
/>
)}</SB3Downloader>
<TWAutoSaveLoader>{(__, loadAutoSave) => (
<SB3Downloader>{(_, downloadProject) => (
<AlertComponent
closeButton={closeButton}
content={content}
extensionName={extensionName}
iconSpinner={iconSpinner}
iconURL={iconURL}
level={level}
message={message}
showDownload={showDownload}
showReconnect={showReconnect}
showSaveNow={showSaveNow}
showRecover={showRecover}
onCloseAlert={this.handleOnCloseAlert}
onDownload={downloadProject}
onReconnect={this.handleOnReconnect}
onRecover={loadAutoSave}
onSaveNow={onSaveNow}
/>
)}</SB3Downloader>
)}</TWAutoSaveLoader>
);
}
}
@@ -88,7 +94,8 @@ Alert.propTypes = {
onSaveNow: PropTypes.func,
showDownload: PropTypes.bool,
showReconnect: PropTypes.bool,
showSaveNow: PropTypes.bool
showSaveNow: PropTypes.bool,
showRecover: PropTypes.bool
};
export default connect(
+4 -4
View File
@@ -27,13 +27,13 @@ class BackdropLibrary extends React.Component {
handleItemSelect (item) {
const vmBackdrop = {
name: item.name,
rotationCenterX: item.info[0] && item.info[0] / 2,
rotationCenterY: item.info[1] && item.info[1] / 2,
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
rotationCenterX: item.rotationCenterX,
rotationCenterY: item.rotationCenterY,
bitmapResolution: item.bitmapResolution,
skinId: null
};
// Do not switch to stage, just add the backdrop
this.props.vm.addBackdrop(item.md5, vmBackdrop);
this.props.vm.addBackdrop(item.md5ext, vmBackdrop);
}
render () {
return (
+36 -15
View File
@@ -14,7 +14,7 @@ import ExtensionLibrary from './extension-library.jsx';
import extensionData from '../lib/libraries/extensions/index.jsx';
import CustomProcedures from './custom-procedures.jsx';
import errorBoundaryHOC from '../lib/error-boundary-hoc.jsx';
import {STAGE_DISPLAY_SIZES} from '../lib/layout-constants';
import {BLOCKS_DEFAULT_SCALE, STAGE_DISPLAY_SIZES} from '../lib/layout-constants';
import DropAreaHOC from '../lib/drop-area-hoc.jsx';
import DragConstants from '../lib/drag-constants';
import defineDynamicBlock from '../lib/define-dynamic-block';
@@ -25,12 +25,15 @@ import {activateColorPicker} from '../reducers/color-picker';
import {closeExtensionLibrary, openSoundRecorder, openConnectionModal} from '../reducers/modals';
import {activateCustomProcedures, deactivateCustomProcedures} from '../reducers/custom-procedures';
import {setConnectionModalExtensionId} from '../reducers/connection-modal';
import {updateMetrics} from '../reducers/workspace-metrics';
import {
activateTab,
SOUNDS_TAB_INDEX
} from '../reducers/editor-tab';
import loadAddons from '../addons/loader';
const addFunctionListener = (object, property, callback) => {
const oldFn = object[property];
object[property] = function () {
@@ -48,6 +51,7 @@ class Blocks extends React.Component {
constructor (props) {
super(props);
this.ScratchBlocks = VMScratchBlocks(props.vm);
window.ScratchBlocks = this.ScratchBlocks;
bindAll(this, [
'attachVM',
'detachVM',
@@ -79,7 +83,6 @@ class Blocks extends React.Component {
this.ScratchBlocks.recordSoundCallback = this.handleOpenSoundRecorder;
this.state = {
workspaceMetrics: {},
prompt: null
};
this.onTargetsUpdate = debounce(this.onTargetsUpdate, 100);
@@ -161,6 +164,11 @@ class Blocks extends React.Component {
this.requestToolboxUpdate();
}
// tw: load addons when editor is visible
if (this.props.isVisible) {
loadAddons();
}
if (this.props.isVisible === prevProps.isVisible) {
if (this.props.stageSize !== prevProps.stageSize) {
// force workspace to redraw for the new stage size
@@ -301,14 +309,17 @@ class Blocks extends React.Component {
onWorkspaceMetricsChange () {
const target = this.props.vm.editingTarget;
if (target && target.id) {
const workspaceMetrics = Object.assign({}, this.state.workspaceMetrics, {
[target.id]: {
// Dispatch updateMetrics later, since onWorkspaceMetricsChange may be (very indirectly)
// called from a reducer, i.e. when you create a custom procedure.
// TODO: Is this a vehement hack?
setTimeout(() => {
this.props.updateMetrics({
targetID: target.id,
scrollX: this.workspace.scrollX,
scrollY: this.workspace.scrollY,
scale: this.workspace.scale
}
});
this.setState({workspaceMetrics});
});
}, 0);
}
}
onScriptGlowOn (data) {
@@ -338,8 +349,8 @@ class Blocks extends React.Component {
const stageCostumes = stage.getCostumes();
const targetCostumes = target.getCostumes();
const targetSounds = target.getSounds();
const dynamicBlocksXML = this.props.vm.runtime.getBlocksXML();
return makeToolboxXML(target.isStage, target.id, dynamicBlocksXML,
const dynamicBlocksXML = this.props.vm.runtime.getBlocksXML(target);
return makeToolboxXML(false, target.isStage, target.id, dynamicBlocksXML,
targetCostumes[targetCostumes.length - 1].name,
stageCostumes[stageCostumes.length - 1].name,
targetSounds.length > 0 ? targetSounds[targetSounds.length - 1].name : ''
@@ -355,7 +366,7 @@ class Blocks extends React.Component {
this.props.updateToolboxState(toolboxXML);
}
if (this.props.vm.editingTarget && !this.state.workspaceMetrics[this.props.vm.editingTarget.id]) {
if (this.props.vm.editingTarget && !this.props.workspaceMetrics.targets[this.props.vm.editingTarget.id]) {
this.onWorkspaceMetricsChange();
}
@@ -381,8 +392,8 @@ class Blocks extends React.Component {
}
this.workspace.addChangeListener(this.props.vm.blockListener);
if (this.props.vm.editingTarget && this.state.workspaceMetrics[this.props.vm.editingTarget.id]) {
const {scrollX, scrollY, scale} = this.state.workspaceMetrics[this.props.vm.editingTarget.id];
if (this.props.vm.editingTarget && this.props.workspaceMetrics.targets[this.props.vm.editingTarget.id]) {
const {scrollX, scrollY, scale} = this.props.workspaceMetrics.targets[this.props.vm.editingTarget.id];
this.workspace.scrollX = scrollX;
this.workspace.scrollY = scrollY;
this.workspace.scale = scale;
@@ -525,6 +536,8 @@ class Blocks extends React.Component {
onRequestCloseExtensionLibrary,
onRequestCloseCustomProcedures,
toolboxXML,
updateMetrics: updateMetricsProp,
workspaceMetrics,
...props
} = this.props;
/* eslint-enable no-unused-vars */
@@ -607,15 +620,19 @@ Blocks.propTypes = {
}),
stageSize: PropTypes.oneOf(Object.keys(STAGE_DISPLAY_SIZES)).isRequired,
toolboxXML: PropTypes.string,
updateMetrics: PropTypes.func,
updateToolboxState: PropTypes.func,
vm: PropTypes.instanceOf(VM).isRequired
vm: PropTypes.instanceOf(VM).isRequired,
workspaceMetrics: PropTypes.shape({
targets: PropTypes.objectOf(PropTypes.object)
})
};
Blocks.defaultOptions = {
zoom: {
controls: true,
wheel: true,
startScale: 0.675
startScale: BLOCKS_DEFAULT_SCALE
},
grid: {
spacing: 40,
@@ -654,7 +671,8 @@ const mapStateToProps = state => ({
locale: state.locales.locale,
messages: state.locales.messages,
toolboxXML: state.scratchGui.toolbox.toolboxXML,
customProceduresVisible: state.scratchGui.customProcedures.active
customProceduresVisible: state.scratchGui.customProcedures.active,
workspaceMetrics: state.scratchGui.workspaceMetrics
});
const mapDispatchToProps = dispatch => ({
@@ -676,6 +694,9 @@ const mapDispatchToProps = dispatch => ({
},
updateToolboxState: toolboxXML => {
dispatch(updateToolbox(toolboxXML));
},
updateMetrics: metrics => {
dispatch(updateMetrics(metrics));
}
});
+16 -4
View File
@@ -16,8 +16,18 @@ class Controls extends React.Component {
}
handleGreenFlagClick (e) {
e.preventDefault();
if (e.shiftKey) {
this.props.vm.setTurboMode(!this.props.turbo);
// tw: implement alt+click and right click to toggle FPS
if (e.shiftKey || e.altKey || e.type === 'contextmenu') {
if (e.shiftKey) {
this.props.vm.setTurboMode(!this.props.turbo);
}
if (e.altKey || e.type === 'contextmenu') {
if (this.props.framerate === 30) {
this.props.vm.setFramerate(60);
} else {
this.props.vm.setFramerate(30);
}
}
} else {
if (!this.props.isStarted) {
this.props.vm.start();
@@ -40,7 +50,7 @@ class Controls extends React.Component {
return (
<ControlsComponent
{...props}
active={projectRunning}
active={projectRunning && isStarted}
turbo={turbo}
onGreenFlagClick={this.handleGreenFlagClick}
onStopAllClick={this.handleStopAllClick}
@@ -53,12 +63,14 @@ Controls.propTypes = {
isStarted: PropTypes.bool.isRequired,
projectRunning: PropTypes.bool.isRequired,
turbo: PropTypes.bool.isRequired,
framerate: PropTypes.number.isRequired,
vm: PropTypes.instanceOf(VM)
};
const mapStateToProps = state => ({
isStarted: state.scratchGui.vmStatus.running,
isStarted: state.scratchGui.vmStatus.started,
projectRunning: state.scratchGui.vmStatus.running,
framerate: state.scratchGui.tw.framerate,
turbo: state.scratchGui.vmStatus.turbo
});
// no-op function to prevent dispatch prop being passed to component
+4 -8
View File
@@ -25,18 +25,14 @@ class CostumeLibrary extends React.PureComponent {
]);
}
handleItemSelected (item) {
const split = item.md5.split('.');
const type = split.length > 1 ? split[1] : null;
const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2;
const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2;
const vmCostume = {
name: item.name,
rotationCenterX,
rotationCenterY,
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
rotationCenterX: item.rotationCenterX,
rotationCenterY: item.rotationCenterY,
bitmapResolution: item.bitmapResolution,
skinId: null
};
this.props.vm.addCostumeFromLibrary(item.md5, vmCostume);
this.props.vm.addCostumeFromLibrary(item.md5ext, vmCostume);
}
render () {
return (
+18 -17
View File
@@ -158,14 +158,17 @@ class CostumeTab extends React.Component {
const blob = new Blob([item.asset.data], {type: item.asset.assetType.contentType});
downloadBlob(`${item.name}.${item.asset.dataFormat}`, blob);
}
handleNewCostume (costume, fromCostumeLibrary) {
handleNewCostume (costume, fromCostumeLibrary, targetId) {
const costumes = Array.isArray(costume) ? costume : [costume];
return Promise.all(costumes.map(c => {
if (fromCostumeLibrary) {
return this.props.vm.addCostumeFromLibrary(c.md5, c);
}
return this.props.vm.addCostume(c.md5, c);
// If targetId is falsy, VM should default it to editingTarget.id
// However, targetId should be provided to prevent #5876,
// if making new costume takes a while
return this.props.vm.addCostume(c.md5, c, targetId);
}));
}
handleNewBlankCostume () {
@@ -176,16 +179,12 @@ class CostumeTab extends React.Component {
}
handleSurpriseCostume () {
const item = costumeLibraryContent[Math.floor(Math.random() * costumeLibraryContent.length)];
const split = item.md5.split('.');
const type = split.length > 1 ? split[1] : null;
const rotationCenterX = type === 'svg' ? item.info[0] : item.info[0] / 2;
const rotationCenterY = type === 'svg' ? item.info[1] : item.info[1] / 2;
const vmCostume = {
name: item.name,
md5: item.md5,
rotationCenterX,
rotationCenterY,
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
md5: item.md5ext,
rotationCenterX: item.rotationCenterX,
rotationCenterY: item.rotationCenterY,
bitmapResolution: item.bitmapResolution,
skinId: null
};
this.handleNewCostume(vmCostume, true /* fromCostumeLibrary */);
@@ -194,23 +193,24 @@ class CostumeTab extends React.Component {
const item = backdropLibraryContent[Math.floor(Math.random() * backdropLibraryContent.length)];
const vmCostume = {
name: item.name,
md5: item.md5,
rotationCenterX: item.info[0] && item.info[0] / 2,
rotationCenterY: item.info[1] && item.info[1] / 2,
bitmapResolution: item.info.length > 2 ? item.info[2] : 1,
md5: item.md5ext,
rotationCenterX: item.rotationCenterX,
rotationCenterY: item.rotationCenterY,
bitmapResolution: item.bitmapResolution,
skinId: null
};
this.handleNewCostume(vmCostume);
}
handleCostumeUpload (e) {
const storage = this.props.vm.runtime.storage;
const targetId = this.props.vm.editingTarget.id;
this.props.onShowImporting();
handleFileUpload(e.target, (buffer, fileType, fileName, fileIndex, fileCount) => {
costumeUpload(buffer, fileType, storage, vmCostumes => {
vmCostumes.forEach((costume, i) => {
costume.name = `${fileName}${i ? i + 1 : ''}`;
});
this.handleNewCostume(vmCostumes).then(() => {
this.handleNewCostume(vmCostumes, false, targetId).then(() => {
if (fileIndex === fileCount - 1) {
this.props.onCloseImporting();
}
@@ -220,9 +220,10 @@ class CostumeTab extends React.Component {
}
handleCameraBuffer (buffer) {
const storage = this.props.vm.runtime.storage;
const targetId = this.props.vm.editingTarget.id;
costumeUpload(buffer, 'image/png', storage, vmCostumes => {
vmCostumes[0].name = this.props.intl.formatMessage(messages.costume, {index: 1});
this.handleNewCostume(vmCostumes);
this.handleNewCostume(vmCostumes, false, targetId);
});
}
handleFileUploadClick () {
@@ -307,7 +308,7 @@ class CostumeTab extends React.Component {
title: intl.formatMessage(addFileMessage),
img: fileUploadIcon,
onClick: this.handleFileUploadClick,
fileAccept: '.svg, .png, .jpg, .jpeg, .gif',
fileAccept: '.svg, .png, .bmp, .jpg, .jpeg, .gif',
fileChange: this.handleCostumeUpload,
fileInput: this.setFileInput,
fileMultiple: true
+9 -1
View File
@@ -5,6 +5,7 @@ import BrowserModalComponent from '../components/browser-modal/browser-modal.jsx
import CrashMessageComponent from '../components/crash-message/crash-message.jsx';
import log from '../lib/log.js';
import {recommendedBrowser} from '../lib/supported-browser';
import analytics from '../lib/analytics';
class ErrorBoundary extends React.Component {
constructor (props) {
@@ -33,10 +34,16 @@ class ErrorBoundary extends React.Component {
});
}
// tw: Track error event. Error message will be included when plausible's custom props are ready.
if (recommendedBrowser()) {
analytics.twEvent('Crash');
}
// Display fallback UI
this.setState({
hasError: true,
errorId: window.Sentry ? window.Sentry.lastEventId() : null
errorId: window.Sentry ? window.Sentry.lastEventId() : null,
errorMessage: `${(error && error.message) || error}`
});
// Log error locally for debugging as well.
@@ -57,6 +64,7 @@ class ErrorBoundary extends React.Component {
return (
<CrashMessageComponent
eventId={this.state.errorId}
errorMessage={this.state.errorMessage}
onReload={this.handleReload}
/>
);
-4
View File
@@ -21,8 +21,6 @@ class GreenFlagOverlay extends React.Component {
}
render () {
if (this.props.isStarted) return null;
return (
<Box
className={this.props.wrapperClass}
@@ -42,13 +40,11 @@ class GreenFlagOverlay extends React.Component {
GreenFlagOverlay.propTypes = {
className: PropTypes.string,
isStarted: PropTypes.bool,
vm: PropTypes.instanceOf(VM),
wrapperClass: PropTypes.string
};
const mapStateToProps = state => ({
isStarted: state.scratchGui.vmStatus.started,
vm: state.scratchGui.vm
});
+5 -2
View File
@@ -100,6 +100,8 @@ GUI.propTypes = {
fetchingProject: PropTypes.bool,
intl: intlShape,
isError: PropTypes.bool,
isEmbedded: PropTypes.bool,
isFullScreen: PropTypes.bool,
isLoading: PropTypes.bool,
isScratchDesktop: PropTypes.bool,
isShowingProject: PropTypes.bool,
@@ -136,7 +138,8 @@ const mapStateToProps = state => {
costumesTabVisible: state.scratchGui.editorTab.activeTabIndex === COSTUMES_TAB_INDEX,
error: state.scratchGui.projectState.error,
isError: getIsError(loadingState),
isFullScreen: state.scratchGui.mode.isFullScreen,
isEmbedded: state.scratchGui.mode.isEmbedded,
isFullScreen: state.scratchGui.mode.isFullScreen || state.scratchGui.mode.isEmbedded,
isPlayerOnly: state.scratchGui.mode.isPlayerOnly,
isRtl: state.locales.isRtl,
isShowingProject: getIsShowingProject(loadingState),
@@ -175,7 +178,7 @@ const WrappedGui = compose(
LocalizationHOC,
ErrorBoundaryHOC('Top Level App'),
FontLoaderHOC,
QueryParserHOC,
// QueryParserHOC, // tw: HOC is unused
ProjectFetcherHOC,
TitledHOC,
ProjectSaverHOC,
Loaded 100 of 1669 files, more files were not shown because too many files have changed in this diff. Show more