Skip to content

Commit d3b97ce

Browse files
authored
Merge pull request #100 from t-kazu/merge/scratch-gui
Scratch-guiをマージしました
2 parents 319b3b4 + fcc197d commit d3b97ce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1810
-306
lines changed

.babelrc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
{
22
"plugins": [
3-
"syntax-dynamic-import",
4-
"transform-async-to-generator",
5-
"transform-object-rest-spread",
3+
"@babel/plugin-syntax-dynamic-import",
4+
"@babel/plugin-transform-async-to-generator",
5+
"@babel/plugin-proposal-object-rest-spread",
66
["react-intl", {
77
"messagesDir": "./translations/messages/"
88
}]],
9-
"presets": [["env", {"targets": {"browsers": ["last 3 versions", "Safari >= 8", "iOS >= 8"]}}], "react"]
9+
"presets": [
10+
["@babel/preset-env", {"targets": {"browsers": ["last 3 versions", "Safari >= 8", "iOS >= 8"]}}],
11+
"@babel/preset-react"
12+
]
1013
}

package.json

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,20 @@
2929
"react-dom": "^16.0.0"
3030
},
3131
"devDependencies": {
32+
"@babel/core": "^7.1.2",
33+
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
34+
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
35+
"@babel/plugin-transform-async-to-generator": "^7.1.0",
36+
"@babel/preset-env": "^7.1.0",
37+
"@babel/preset-react": "^7.0.0",
3238
"arraybuffer-loader": "^1.0.6",
3339
"autoprefixer": "^9.0.1",
34-
"babel-core": "^6.23.1",
35-
"babel-eslint": "^8.0.1",
36-
"babel-loader": "^7.1.0",
37-
"babel-plugin-syntax-dynamic-import": "^6.18.0",
38-
"babel-plugin-transform-async-to-generator": "^6.24.1",
39-
"babel-plugin-transform-object-rest-spread": "^6.22.0",
40-
"babel-preset-env": "^1.6.1",
41-
"babel-preset-react": "^6.22.0",
40+
"babel-core": "7.0.0-bridge.0",
41+
"babel-eslint": "^10.0.1",
42+
"babel-loader": "^8.0.4",
4243
"base64-loader": "1.0.0",
4344
"bowser": "1.9.4",
44-
"chromedriver": "2.42.0",
45+
"chromedriver": "2.43.0",
4546
"classnames": "2.2.6",
4647
"copy-webpack-plugin": "^4.5.1",
4748
"core-js": "2.5.7",
@@ -100,11 +101,11 @@
100101
"scratch-audio": "0.1.0-prerelease.20180625202813",
101102
"scratch-blocks": "0.1.0-prerelease.1539267627",
102103
"scratch-l10n": "3.0.20181010220115",
103-
"scratch-paint": "0.2.0-prerelease.20181010194950",
104-
"scratch-render": "0.1.0-prerelease.20181002192350",
105-
"scratch-storage": "1.0.4",
106-
"scratch-svg-renderer": "0.2.0-prerelease.20180926143036",
107-
"scratch-vm": "0.2.0-prerelease.20181011142759",
104+
"scratch-paint": "0.2.0-prerelease.20181017200201",
105+
"scratch-render": "0.1.0-prerelease.20181017195657",
106+
"scratch-storage": "1.0.5",
107+
"scratch-svg-renderer": "0.2.0-prerelease.20181017193458",
108+
"scratch-vm": "0.2.0-prerelease.20181019092856",
108109
"selenium-webdriver": "3.6.0",
109110
"startaudiocontext": "1.2.1",
110111
"style-loader": "^0.23.0",

src/components/cards/cards.jsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import leftArrow from './icon--prev.svg';
1111
import helpIcon from '../../lib/assets/icon--tutorials.svg';
1212
import closeIcon from '../close-button/icon--close.svg';
1313

14+
import {translateVideo} from '../../lib/libraries/decks/translate-video.js';
15+
1416
const CardHeader = ({onCloseCards, onShowAll, totalSteps, step}) => (
1517
<div className={styles.headerButtons}>
1618
<div
@@ -64,12 +66,18 @@ const VideoStep = ({video, dragging}) => (
6466
) : null}
6567
<iframe
6668
allowFullScreen
67-
allow="autoplay; encrypted-media"
69+
allowTransparency="true"
6870
frameBorder="0"
69-
height="337"
70-
src={`${video}?rel=0&amp;showinfo=0`}
71+
height="338"
72+
scrolling="no"
73+
src={`https://fast.wistia.net/embed/iframe/${video}?seo=false&videoFoam=true`}
74+
title="📹"
7175
width="600"
7276
/>
77+
<script
78+
async
79+
src="https://fast.wistia.net/assets/external/E-v1.js"
80+
/>
7381
</div>
7482
);
7583

@@ -207,6 +215,7 @@ const Cards = props => {
207215
content,
208216
dragging,
209217
isRtl,
218+
locale,
210219
onActivateDeckFactory,
211220
onCloseCards,
212221
onDrag,
@@ -258,7 +267,7 @@ const Cards = props => {
258267
steps[step].video ? (
259268
<VideoStep
260269
dragging={dragging}
261-
video={steps[step].video}
270+
video={translateVideo(steps[step].video, locale)}
262271
/>
263272
) : (
264273
<ImageStep
@@ -294,7 +303,8 @@ Cards.propTypes = {
294303
})
295304
}),
296305
dragging: PropTypes.bool.isRequired,
297-
isRtl: PropTypes.bool,
306+
isRtl: PropTypes.bool.isRequired,
307+
locale: PropTypes.string.isRequired,
298308
onActivateDeckFactory: PropTypes.func.isRequired,
299309
onCloseCards: PropTypes.func.isRequired,
300310
onDrag: PropTypes.func,

src/components/gui/gui.css

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,21 @@ $fade-out-distance: 15px;
279279
margin-top: 0;
280280
}
281281

282+
/* Sprite Selection Watermark */
283+
.watermark {
284+
position: absolute;
285+
top: 1.25rem;
286+
pointer-events: none;
287+
}
288+
289+
[dir="ltr"] .watermark {
290+
right: 1.25rem;
291+
}
292+
293+
[dir="rtl"] .watermark {
294+
left: 1.25rem;
295+
}
296+
282297
/* Menu */
283298

284299
.menu-bar-position {

src/components/gui/gui.jsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import Box from '../box/box.jsx';
2121
import MenuBar from '../menu-bar/menu-bar.jsx';
2222
import CostumeLibrary from '../../containers/costume-library.jsx';
2323
import BackdropLibrary from '../../containers/backdrop-library.jsx';
24+
import Watermark from '../../containers/watermark.jsx';
2425

2526
import Backpack from '../../containers/backpack.jsx';
2627
import ImportModal from '../../containers/import-modal.jsx';
@@ -62,6 +63,11 @@ const GUIComponent = props => {
6263
backpackOptions,
6364
blocksTabVisible,
6465
cardsVisible,
66+
canCreateNew,
67+
canRemix,
68+
canSave,
69+
canSaveAsCopy,
70+
canShare,
6571
children,
6672
costumeLibraryVisible,
6773
costumesTabVisible,
@@ -164,6 +170,11 @@ const GUIComponent = props => {
164170
) : null}
165171
<MenuBar
166172
accountNavOpen={accountNavOpen}
173+
canCreateNew={canCreateNew}
174+
canRemix={canRemix}
175+
canSave={canSave}
176+
canSaveAsCopy={canSaveAsCopy}
177+
canShare={canShare}
167178
className={styles.menuBarPosition}
168179
enableCommunity={enableCommunity}
169180
renderLogin={renderLogin}
@@ -275,6 +286,9 @@ const GUIComponent = props => {
275286
/>
276287
</button>
277288
</Box>
289+
<Box className={styles.watermark}>
290+
<Watermark />
291+
</Box>
278292
</TabPanel>
279293
<TabPanel className={tabClassNames.tabPanel}>
280294
{costumesTabVisible ? <CostumeTab vm={vm} /> : null}
@@ -322,6 +336,11 @@ GUIComponent.propTypes = {
322336
}),
323337
basePath: PropTypes.string,
324338
blocksTabVisible: PropTypes.bool,
339+
canCreateNew: PropTypes.bool,
340+
canRemix: PropTypes.bool,
341+
canSave: PropTypes.bool,
342+
canSaveAsCopy: PropTypes.bool,
343+
canShare: PropTypes.bool,
325344
cardsVisible: PropTypes.bool,
326345
children: PropTypes.node,
327346
costumeLibraryVisible: PropTypes.bool,
@@ -363,6 +382,12 @@ GUIComponent.defaultProps = {
363382
visible: false
364383
},
365384
basePath: './',
385+
canCreateNew: true,
386+
canRemix: false,
387+
canSave: false,
388+
canSaveAsCopy: false,
389+
canShare: false,
390+
onUpdateProjectTitle: () => {},
366391
stageSizeMode: STAGE_SIZE_MODES.large
367392
};
368393

src/components/language-selector/language-selector.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
@import "../../css/colors.css";
22
@import "../../css/units.css";
33

4-
.language-icon {
5-
height: 1.5rem;
6-
}
7-
84
/* Position the language select over the language icon, and make it transparent */
95
.language-select {
106
position: absolute;

src/components/loader/loader.css

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@
4242
animation: bottom-slide-in 1.5s ease infinite;
4343
}
4444

45+
[dir="rtl"] .top-block {
46+
animation: top-slide-in-rtl 1.5s ease infinite;
47+
}
48+
49+
[dir="rtl"] .middle-block {
50+
animation: middle-slide-in-rtl 1.5s ease infinite;
51+
}
52+
53+
[dir="rtl"] .bottom-block {
54+
animation: bottom-slide-in-rtl 1.5s ease infinite;
55+
}
56+
4557
@keyframes top-slide-in {
4658
0% {
4759
transform: translateY(50px);
@@ -88,6 +100,60 @@
88100
}
89101
}
90102

103+
@keyframes top-slide-in-rtl {
104+
0% {
105+
transform: translateY(50px) scaleX(-1);
106+
opacity: 0;
107+
}
108+
109+
33% {
110+
transform: translateY(0px) scaleX(-1);
111+
opacity: 1;
112+
}
113+
100% {
114+
transform: translateY(0px) scaleX(-1);
115+
opacity: 1;
116+
}
117+
}
118+
119+
@keyframes middle-slide-in-rtl {
120+
0% {
121+
transform: translateY(50px) scaleX(-1);
122+
opacity: 0;
123+
}
124+
125+
33% {
126+
transform: translateY(50px) scaleX(-1);
127+
opacity: 0;
128+
}
129+
130+
66% {
131+
transform: translateY(0px) scaleX(-1);
132+
opacity: 1;
133+
}
134+
100% {
135+
transform: translateY(0px) scaleX(-1);
136+
opacity: 1;
137+
}
138+
}
139+
140+
@keyframes bottom-slide-in-rtl {
141+
0% {
142+
transform: translateY(50px) scaleX(-1);
143+
opacity: 0;
144+
}
145+
146+
66% {
147+
transform: translateY(50px) scaleX(-1);
148+
opacity: 0;
149+
}
150+
151+
100% {
152+
transform: translateY(0px) scaleX(-1);
153+
opacity: 1;
154+
}
155+
}
156+
91157
.message-container-outer {
92158
height: 30px;
93159
overflow: hidden;

src/components/menu-bar/menu-bar.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,11 @@
4747

4848
.language-icon {
4949
height: 1.5rem;
50+
vertical-align: middle;
5051
}
5152

5253
.language-caret {
53-
margin-bottom: .625rem;
54+
margin: 0 .125rem;
5455
}
5556

5657
.language-menu {
@@ -100,6 +101,10 @@
100101
padding: 0 0.75rem;
101102
}
102103

104+
.menu-bar-item.language-menu {
105+
padding: 0 0.5rem;
106+
}
107+
103108
.menu-bar-menu {
104109
margin-top: $menu-bar-height;
105110
z-index: $z-index-menu-bar;

0 commit comments

Comments
 (0)