Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
a9b1f85
Restore the last deleted sound.
kchadha Aug 17, 2018
019edd8
Add missing propTypes
chrisgarrity Aug 17, 2018
13e69aa
Merge pull request #2908 from chrisgarrity/fix-lint
chrisgarrity Aug 20, 2018
3941c91
Get rid of double menu for language selection
chrisgarrity Aug 15, 2018
50e6fcf
Fix localization test.
chrisgarrity Aug 16, 2018
86a8dd3
Fixes for firefox on Windows
chrisgarrity Aug 16, 2018
523bb04
move aria label onto languageSelector
chrisgarrity Aug 17, 2018
f68b3ee
Merge pull request #2920 from LLK/revert-vm-setxy
rschamp Aug 20, 2018
8b57351
chore(package): update scratch-vm to version 0.2.0-prerelease.2018082…
greenkeeper[bot] Aug 20, 2018
e9c776d
Merge pull request #2922 from LLK/greenkeeper/scratch-vm-0.2.0-prerel…
rschamp Aug 20, 2018
e24be2d
chore(package): update scratch-render to version 0.1.0-prerelease.201…
greenkeeper[bot] Aug 20, 2018
0568f1a
Move literal width into units
chrisgarrity Aug 20, 2018
820c4b9
enable WeDo extension
ericrosenbaum Aug 20, 2018
50ea4eb
added build mode 'dist' to npm build options
benjiwheeler Aug 20, 2018
b0118cd
Merge pull request #2879 from chrisgarrity/issue/2658-lang-select
chrisgarrity Aug 20, 2018
e79b56d
Merge pull request #2935 from kchadha/restore-sound
kchadha Aug 21, 2018
163b9a5
Add ability to restore a deleted costume.
kchadha Aug 21, 2018
a507eaa
Minor code cleanup.
kchadha Aug 21, 2018
866db42
Merge pull request #2950 from kchadha/restore-costume
kchadha Aug 22, 2018
972a33e
chore(package): update scratch-paint to version 0.2.0-prerelease.2018…
greenkeeper[bot] Aug 22, 2018
632a9bb
chore(package): update scratch-vm to version 0.2.0-prerelease.2018082…
greenkeeper[bot] Aug 22, 2018
ada541f
chore(package): update scratch-blocks to version 0.1.0-prerelease.153…
greenkeeper[bot] Aug 22, 2018
c02a5ad
Merge pull request #2939 from benjiwheeler/build_mode
benjiwheeler Aug 23, 2018
98100cf
Remove confirmation dialog when deleting a sprite, costume, or sound.
kchadha Aug 23, 2018
2eb7056
Remove localized confirmation dialog message since confirmation doesn…
kchadha Aug 23, 2018
718fb72
Fix up tests.
kchadha Aug 23, 2018
2fb6a48
Fix warnings
chrisgarrity Aug 23, 2018
d041227
Merge pull request #2963 from LLK/greenkeeper/scratch-vm-0.2.0-prerel…
kchadha Aug 23, 2018
a77d263
Merge pull request #2928 from LLK/greenkeeper/scratch-render-0.1.0-pr…
kchadha Aug 23, 2018
ef1ad38
chore(package): update scratch-l10n to version 3.0.20180823152851
greenkeeper[bot] Aug 23, 2018
2cfd565
Merge branch 'develop' into greenkeeper/scratch-paint-0.2.0-prereleas…
kchadha Aug 23, 2018
64abd6a
Merge pull request #2965 from LLK/greenkeeper/scratch-blocks-0.1.0-pr…
kchadha Aug 23, 2018
c0584f5
Merge branch 'develop' into greenkeeper/scratch-l10n-3.0.20180823152851
kchadha Aug 23, 2018
d76f938
Merge pull request #2962 from chrisgarrity/issue/fix-warning
chrisgarrity Aug 23, 2018
44a77c0
Merge pull request #2960 from kchadha/remove-delete-confirmation
kchadha Aug 23, 2018
549269d
Merge pull request #2966 from LLK/greenkeeper/scratch-paint-0.2.0-pre…
kchadha Aug 23, 2018
8bfaf69
Inject fonts thumbnails (#2948)
fsih Aug 23, 2018
fd0da38
Merge branch 'develop' into greenkeeper/scratch-l10n-3.0.20180823152851
kchadha Aug 23, 2018
a4712ee
Pass RTL state to paint editor
chrisgarrity Aug 23, 2018
e1ce752
Merge pull request #2964 from LLK/greenkeeper/scratch-l10n-3.0.201808…
kchadha Aug 23, 2018
b782a1d
chore(package): update scratch-vm to version 0.2.0-prerelease.2018082…
greenkeeper[bot] Aug 23, 2018
7643db8
Merge pull request #2969 from LLK/greenkeeper/scratch-vm-0.2.0-prerel…
kchadha Aug 23, 2018
88e527f
chore(package): update scratch-storage to version 1.0.0
greenkeeper[bot] Aug 23, 2018
c4d9f1a
Merge pull request #2970 from chrisgarrity/issue/pass-paint-rtl
chrisgarrity Aug 23, 2018
022ff63
chore(package): update scratch-paint to version 0.2.0-prerelease.2018…
greenkeeper[bot] Aug 23, 2018
a194de7
Fix all the little RTL layout bugs (#2961)
chrisgarrity Aug 23, 2018
ddd4707
Merge pull request #2974 from LLK/smoke-wedo
rschamp Aug 24, 2018
f74f7dd
Merge pull request #2972 from LLK/greenkeeper/scratch-storage-1.0.0
kchadha Aug 24, 2018
e825b5e
Merge pull request #2973 from LLK/greenkeeper/scratch-paint-0.2.0-pre…
kchadha Aug 24, 2018
a3bdfe5
chore(package): update scratch-blocks to version 0.1.0-prerelease.153…
greenkeeper[bot] Aug 24, 2018
6c85aed
Merge pull request #2975 from LLK/greenkeeper/scratch-blocks-0.1.0-pr…
kchadha Aug 24, 2018
fd24c80
chore(package): update scratch-l10n to version 3.0.20180824134256
greenkeeper[bot] Aug 24, 2018
9fab7af
Merge pull request #2976 from LLK/greenkeeper/scratch-l10n-3.0.201808…
kchadha Aug 24, 2018
3dc6e78
chore(package): update scratch-vm to version 0.2.0-prerelease.2018082…
greenkeeper[bot] Aug 24, 2018
61762c7
Merge pull request #2977 from LLK/greenkeeper/scratch-vm-0.2.0-prerel…
kchadha Aug 24, 2018
85a9ce1
chore(package): update scratch-render to version 0.1.0-prerelease.201…
greenkeeper[bot] Aug 24, 2018
f9fd7c9
Merge pull request #2978 from LLK/greenkeeper/scratch-render-0.1.0-pr…
kchadha Aug 24, 2018
90faf08
Merge branch 'master' into smoke
kchadha Aug 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,21 @@ npm start
```
Then go to [http://localhost:8601/](http://localhost:8601/) - the playground outputs the default GUI component

## Developing alongside other Scratch repositories

If you wish to develop scratch-gui alongside other scratch repositories that depend on it, you may wish
to have the other repositories use your local scratch-gui build instead of fetching the current production
version of the scratch-gui that is found by default using `npm install`.

To do this:

1. Make sure you have run `npm install` from this repository's top level
2. Make sure you have run `npm install` from the top level of each repository (such as scratch-www) that depends on scratch-gui
3. From this repository's top level, build the `dist` directory by running `BUILD_MODE=dist npm run build`
4. From this repository's top level, establish a link to this repository by running `npm link`
5. From the top level of each repository that depends on scratch-gui, run `npm link scratch-gui`
6. Build or run the repositories that depend on scratch-gui

## Testing
NOTE: If you're a windows user, please run these scripts in Windows `cmd.exe` instead of Git Bash/MINGW64.

Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,13 @@
"redux-throttle": "0.1.1",
"rimraf": "^2.6.1",
"scratch-audio": "0.1.0-prerelease.20180625202813",
"scratch-blocks": "0.1.0-prerelease.1534513944",
"scratch-l10n": "3.0.20180817135616",
"scratch-paint": "0.2.0-prerelease.20180816205442",
"scratch-render": "0.1.0-prerelease.20180811013828",
"scratch-storage": "0.5.1",
"scratch-blocks": "0.1.0-prerelease.1535116879",
"scratch-l10n": "3.0.20180824134256",
"scratch-paint": "0.2.0-prerelease.20180823231354",
"scratch-render": "0.1.0-prerelease.20180824141819",
"scratch-storage": "1.0.0",
"scratch-svg-renderer": "0.2.0-prerelease.20180817005452",
"scratch-vm": "0.2.0-prerelease.20180816213529",
"scratch-vm": "0.2.0-prerelease.20180824135031",
"selenium-webdriver": "3.6.0",
"startaudiocontext": "1.2.1",
"style-loader": "^0.22.1",
Expand Down
20 changes: 18 additions & 2 deletions src/components/asset-panel/asset-panel.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,32 @@
display: flex;
flex-grow: 1;
border: 1px solid $ui-black-transparent;
border-top-right-radius: $space;
background: white;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.85rem;
}

[dir="ltr"] .wrapper {
border-top-right-radius: $space;
border-bottom-right-radius: $space;
}

[dir="rtl"] .wrapper {
border-top-left-radius: $space;
border-bottom-left-radius: $space;
}

.detail-area {
display: flex;
flex-grow: 1;
flex-shrink: 1;
border-left: 1px solid $ui-black-transparent;
overflow-y: auto;
}

[dir="ltr"] .detail-area {
border-left: 1px solid $ui-black-transparent;
}

[dir="rtl"] .detail-area {
border-right: 1px solid $ui-black-transparent;
}
9 changes: 8 additions & 1 deletion src/components/backpack/backpack.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
.backpack-header {
margin-top: 0.5rem;
border: 1px solid $ui-black-transparent;
border-top-right-radius: $space;
background: $ui-white;
padding: 0.25rem;
text-align: center;
Expand All @@ -20,6 +19,14 @@
user-select: none;
}

[dir="ltr"] .backpack-header {
border-top-right-radius: $space;
}

[dir="rtl"] .backpack-header {
border-top-left-radius: $space;
}

.backpack-list {
position: relative;
display: flex;
Expand Down
18 changes: 18 additions & 0 deletions src/components/blocks/blocks.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
border-bottom-right-radius: $space;
}

[dir="rtl"] .blocks :global(.injectionDiv) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: $space;
border-bottom-left-radius: $space;
}

.blocks :global(.blocklyMainBackground) {
stroke: none;
}
Expand All @@ -31,6 +38,11 @@
-ms-overflow-style: none;
}

[dir="rtl"] .blocks :global(.blocklyToolboxDiv) {
border-right: none;
border-left: 1px solid $ui-black-transparent;
}

.blocks :global(.blocklyToolboxDiv::-webkit-scrollbar) {
display: none;
}
Expand All @@ -40,6 +52,12 @@
box-sizing: content-box;
}

[dir="rtl"] .blocks :global(.blocklyFlyout) {
border-right: none;
border-left: 1px solid $ui-black-transparent;
}


.blocks :global(.blocklyBlockDragSurface) {
/*
Fix an issue where the drag surface was preventing hover events for sharing blocks.
Expand Down
4 changes: 4 additions & 0 deletions src/components/gui/gui.css
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@

[dir="rtl"] .tab img {
margin-left: 0.125rem;
}

/* only mirror blocks tab icon */
[dir="rtl"] .tab:nth-of-type(1) img {
transform: scaleX(-1);
}

Expand Down
1 change: 1 addition & 0 deletions src/components/import-modal/import-modal.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ ImportModal.propTypes = {
hasValidationError: PropTypes.bool.isRequired,
inputValue: PropTypes.string.isRequired,
intl: intlShape.isRequired,
isRtl: PropTypes.bool,
onCancel: PropTypes.func.isRequired,
onChange: PropTypes.func.isRequired,
onGoBack: PropTypes.func.isRequired,
Expand Down
28 changes: 18 additions & 10 deletions src/components/language-selector/language-selector.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,27 @@
height: 1.5rem;
}

.disabled {
opacity: .5;
}

/* Position the language select over the language icon, and make it transparent */
.language-select {
margin: .5rem;
height: 1.85rem;
border: 1px solid $motion-primary;
position: absolute;
width: $language-selector-width;
height: $menu-bar-height;
opacity: 0;
user-select: none;
outline: none;
background: rgba(255, 255, 255, 0.5);
color: $motion-tertiary;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: .875rem;
}

[dir="ltr"] .language-select {
right: 0;
}

[dir="rtl"] .language-select {
left: 0;
}

.language-select option {
opacity: 1;
}

.language-select:focus {
Expand Down
64 changes: 22 additions & 42 deletions src/components/language-selector/language-selector.jsx
Original file line number Diff line number Diff line change
@@ -1,58 +1,38 @@
import PropTypes from 'prop-types';
import React from 'react';

import Box from '../box/box.jsx';
import locales from 'scratch-l10n';
import styles from './language-selector.css';

// supported languages to exclude from the menu, but allow as a URL option
const ignore = ['he'];

class LanguageSelector extends React.Component {
render () {
const {
componentRef,
currentLocale,
onChange,
...componentProps
} = this.props;
return (
<Box
{...componentProps}
>
<div
className={styles.group}
ref={componentRef}
>
<select
className={styles.languageSelect}
value={currentLocale}
onChange={onChange}
const LanguageSelector = ({currentLocale, label, onChange}) => (
<select
aria-label={label}
className={styles.languageSelect}
value={currentLocale}
onChange={onChange}
>
{
Object.keys(locales)
.filter(l => !ignore.includes(l))
.map(locale => (
<option
key={locale}
value={locale}
>
{
Object.keys(locales)
.filter(l => !ignore.includes(l))
.map(locale => (
<option
key={locale}
value={locale}
>
{locales[locale].name}
</option>
))
}
</select>
</div>
</Box>
);
}
}
{locales[locale].name}
</option>
))
}
</select>
);

LanguageSelector.propTypes = {
componentRef: PropTypes.func,
currentLocale: PropTypes.string,
onChange: PropTypes.func,
open: PropTypes.bool
label: PropTypes.string,
onChange: PropTypes.func
};

export default LanguageSelector;
9 changes: 8 additions & 1 deletion src/components/library-item/library-item.css
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@

.coming-soon-text {
position: absolute;
transform: translate(calc(2 * $space), calc(2 * $space));
background-color: $data-primary;
border-radius: 1rem;
box-shadow: 0 0 .5rem hsla(0, 0%, 0%, .25);
Expand All @@ -108,3 +107,11 @@
font-weight: bold;
color: $ui-white;
}

[dir="ltr"] .coming-soon-text {
transform: translate(calc(2 * $space), calc(2 * $space));
}

[dir="rtl"] .coming-soon-text {
transform: translate(calc(-2 * $space), calc(2 * $space));
}
5 changes: 5 additions & 0 deletions src/components/menu-bar/menu-bar.css
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,13 @@
height: 1.5rem;
}

.language-caret {
margin-bottom: .625rem;
}

.language-menu {
display: inline-flex;
width: $language-selector-width;
}

.menu {
Expand Down
Loading