Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
3f4e969
push history on modal mount, if current history ref is not this same …
benjiwheeler Dec 19, 2018
67074ed
added back button test
benjiwheeler Dec 19, 2018
aa253d7
Implement list import and export from files
paulkaplan Dec 19, 2018
5ed340c
Fix typo
paulkaplan Dec 19, 2018
8a9996b
refactored font loading state to be in redux
benjiwheeler Dec 20, 2018
8e075eb
removed elementIsNotVisible, since it doesn't really work
benjiwheeler Dec 20, 2018
39e1229
translate form validation string
benjiwheeler Dec 20, 2018
fc28a72
Add txt import so file can be imported/exported from symmetrically
paulkaplan Dec 20, 2018
80df9d6
Fix issue with undefineds in the CSV
paulkaplan Dec 20, 2018
19f5b19
Merge pull request #4160 from benjiwheeler/load-fonts-in-redux
benjiwheeler Dec 20, 2018
50a9172
Use new sentry API provided by www, and use analytics ID from www
paulkaplan Dec 20, 2018
77fb9b6
Merge pull request #4165 from paulkaplan/use-new-sentry-api
paulkaplan Dec 20, 2018
4df56e4
Include the action in the sentry report
paulkaplan Dec 20, 2018
54eea42
Remove most of the analytics.pageview events, keeping the search queries
paulkaplan Dec 20, 2018
6fe27f7
Remove the error logging to GA, augment Sentry with the action prop
paulkaplan Dec 20, 2018
ce7e652
Merge pull request #4166 from paulkaplan/reduce-analytics-events
paulkaplan Dec 20, 2018
d76b74e
Merge pull request #4144 from benjiwheeler/library-history2
benjiwheeler Dec 20, 2018
6c9ae25
Fix linting
paulkaplan Dec 20, 2018
57e841b
Merge pull request #4146 from paulkaplan/list-import
paulkaplan Dec 20, 2018
d80746b
Update preserve spaces on stage
fsih Dec 20, 2018
75d8ffb
Merge pull request #4171 from fsih/updateNewlines
fsih Dec 20, 2018
ea54953
The file uploader file input should accept .sb files as well.
kchadha Dec 18, 2018
ba9d02f
update scratch vm to pull in sb1 import
kchadha Dec 20, 2018
46b5e41
Merge pull request #4136 from kchadha/accept-sb
kchadha Dec 20, 2018
ee80e07
Add telemetry opt-in/opt-out dialog
Dec 20, 2018
f4daec5
Don't bundle telemetry modal event handlers
Dec 20, 2018
fb6da98
More library updates
ericrosenbaum Dec 20, 2018
3ba85eb
Merge pull request #4172 from ericrosenbaum/bugfix/another-library-up…
thisandagain Dec 20, 2018
e3c205a
Update telemetry image placeholder
Dec 20, 2018
8aade78
chore(package): update scratch-l10n to version 3.1.20181220222259
greenkeeper[bot] Dec 21, 2018
744076b
Merge pull request #4162 from cwillisf/telemetry-opt-in
cwillisf Dec 21, 2018
543d239
Merge pull request #4169 from benjiwheeler/translate-validation
chrisgarrity Dec 21, 2018
5f71c34
chore(package): update scratch-vm to version 0.2.0-prerelease.2018122…
greenkeeper[bot] Dec 21, 2018
410ea07
Merge pull request #4175 from LLK/greenkeeper/scratch-vm-0.2.0-prerel…
kchadha Dec 21, 2018
5b4bef0
Merge pull request #4176 from LLK/greenkeeper/scratch-l10n-3.1.201812…
chrisgarrity Dec 21, 2018
67aeb50
chore(package): update scratch-blocks to version 0.1.0-prerelease.154…
greenkeeper[bot] Dec 21, 2018
1ea945f
Merge pull request #4178 from LLK/greenkeeper/scratch-blocks-0.1.0-pr…
chrisgarrity Dec 21, 2018
5738a51
Merge branch 'develop' of https://github.com/LLK/scratch-gui into dev…
takaokouji Dec 21, 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
11 changes: 6 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
"mkdirp": "^0.5.1",
"opal-runtime": "^1.0.11",
"opal-compiler": "^1.0.11",
"papaparse": "4.6.2",
"postcss-import": "^12.0.0",
"postcss-loader": "^3.0.0",
"postcss-simple-vars": "^5.0.1",
Expand Down Expand Up @@ -108,12 +109,12 @@
"rimraf": "^2.6.1",
"scratch-audio": "0.1.0-prerelease.20181023202904",
"scratch-blocks": "0.1.0-prerelease.1545162154",
"scratch-l10n": "3.1.20181213173343",
"scratch-paint": "0.2.0-prerelease.20181218161344",
"scratch-render": "0.1.0-prerelease.20181218160410",
"scratch-l10n": "3.1.20181220222259",
"scratch-paint": "0.2.0-prerelease.20181220194927",
"scratch-render": "0.1.0-prerelease.20181220195236",
"scratch-storage": "1.2.1",
"scratch-svg-renderer": "0.2.0-prerelease.20181218153528",
"scratch-vm": "0.2.0-prerelease.20181219200003",
"scratch-svg-renderer": "0.2.0-prerelease.20181220183040",
"scratch-vm": "0.2.0-prerelease.20181221030743",
"selenium-webdriver": "3.6.0",
"startaudiocontext": "1.2.1",
"style-loader": "^0.23.0",
Expand Down
26 changes: 25 additions & 1 deletion src/components/gui/gui.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ import BackdropLibrary from '../../containers/backdrop-library.jsx';
import Watermark from '../../containers/watermark.jsx';

import Backpack from '../../containers/backpack.jsx';
import PreviewModal from '../../containers/preview-modal.jsx';
import ImportModal from '../../containers/import-modal.jsx';
import WebGlModal from '../../containers/webgl-modal.jsx';
import TipsLibrary from '../../containers/tips-library.jsx';
import Cards from '../../containers/cards.jsx';
import Alerts from '../../containers/alerts.jsx';
import DragLayer from '../../containers/drag-layer.jsx';
import ConnectionModal from '../../containers/connection-modal.jsx';

import TelemetryModal from '../telemetry-modal/telemetry-modal.jsx';

import layout, {STAGE_SIZE_MODES} from '../../lib/layout-constants';
import {resolveStageSize} from '../../lib/screen-utils';
Expand Down Expand Up @@ -103,13 +104,19 @@ const GUIComponent = props => {
onExtensionButtonClick,
onRequestCloseBackdropLibrary,
onRequestCloseCostumeLibrary,
onRequestCloseTelemetryModal,
onSeeCommunity,
onShare,
onTelemetryModalCancel,
onTelemetryModalOptIn,
onTelemetryModalOptOut,
previewInfoVisible,
showComingSoon,
soundsTabVisible,
rubyTabVisible,
stageSizeMode,
targetIsStage,
telemetryModalVisible,
tipsLibraryVisible,
vm,
...componentProps
Expand Down Expand Up @@ -151,6 +158,17 @@ const GUIComponent = props => {
dir={isRtl ? 'rtl' : 'ltr'}
{...componentProps}
>
{previewInfoVisible ? (
<PreviewModal />
) : null}
{telemetryModalVisible ? (
<TelemetryModal
onCancel={onTelemetryModalCancel}
onOptIn={onTelemetryModalOptIn}
onOptOut={onTelemetryModalOptOut}
onRequestClose={onRequestCloseTelemetryModal}
/>
) : null}
{loading ? (
<Loader />
) : null}
Expand Down Expand Up @@ -400,17 +418,23 @@ GUIComponent.propTypes = {
onOpenRegistration: PropTypes.func,
onRequestCloseBackdropLibrary: PropTypes.func,
onRequestCloseCostumeLibrary: PropTypes.func,
onRequestCloseTelemetryModal: PropTypes.func,
onSeeCommunity: PropTypes.func,
onShare: PropTypes.func,
onTabSelect: PropTypes.func,
onTelemetryModalCancel: PropTypes.func,
onTelemetryModalOptIn: PropTypes.func,
onTelemetryModalOptOut: PropTypes.func,
onToggleLoginOpen: PropTypes.func,
onUpdateProjectTitle: PropTypes.func,
previewInfoVisible: PropTypes.bool,
renderLogin: PropTypes.func,
rubyTabVisible: PropTypes.bool,
showComingSoon: PropTypes.bool,
soundsTabVisible: PropTypes.bool,
stageSizeMode: PropTypes.oneOf(Object.keys(STAGE_SIZE_MODES)),
targetIsStage: PropTypes.bool,
telemetryModalVisible: PropTypes.bool,
tipsLibraryVisible: PropTypes.bool,
vm: PropTypes.instanceOf(VM).isRequired
};
Expand Down
5 changes: 5 additions & 0 deletions src/components/menu-bar/login-dropdown.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ const LoginDropdownMessages = defineMessages({ // eslint-disable-line no-unused-
defaultMessage: 'Need Help?',
description: 'Button text for user to indicate that they need help',
id: 'login.needHelp'
},
validationRequired: {
defaultMessage: 'This field is required',
description: 'Message to tell user they must enter text in a form field',
id: 'form.validationRequired'
}
});

Expand Down
59 changes: 39 additions & 20 deletions src/components/monitor/monitor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,35 +54,52 @@ const MonitorComponent = props => (
})}
</Box>
</Draggable>
{props.mode === 'list' ? null : ReactDOM.createPortal((
{ReactDOM.createPortal((
// Use a portal to render the context menu outside the flow to avoid
// positioning conflicts between the monitors `transform: scale` and
// the context menus `position: fixed`. For more details, see
// http://meyerweb.com/eric/thoughts/2011/09/12/un-fixing-fixed-elements-with-css-transforms/
<ContextMenu id={`monitor-${props.label}`}>
<MenuItem onClick={props.onSetModeToDefault}>
<FormattedMessage
defaultMessage="normal readout"
description="Menu item to switch to the default monitor"
id="gui.monitor.contextMenu.default"
/>
</MenuItem>
<MenuItem onClick={props.onSetModeToLarge}>
<FormattedMessage
defaultMessage="large readout"
description="Menu item to switch to the large monitor"
id="gui.monitor.contextMenu.large"
/>
</MenuItem>
{props.onSetModeToSlider ? (
{props.onSetModeToDefault &&
<MenuItem onClick={props.onSetModeToDefault}>
<FormattedMessage
defaultMessage="normal readout"
description="Menu item to switch to the default monitor"
id="gui.monitor.contextMenu.default"
/>
</MenuItem>}
{props.onSetModeToLarge &&
<MenuItem onClick={props.onSetModeToLarge}>
<FormattedMessage
defaultMessage="large readout"
description="Menu item to switch to the large monitor"
id="gui.monitor.contextMenu.large"
/>
</MenuItem>}
{props.onSetModeToSlider &&
<MenuItem onClick={props.onSetModeToSlider}>
<FormattedMessage
defaultMessage="slider"
description="Menu item to switch to the slider monitor"
id="gui.monitor.contextMenu.slider"
/>
</MenuItem>
) : null}
</MenuItem>}
{props.onImport &&
<MenuItem onClick={props.onImport}>
<FormattedMessage
defaultMessage="import"
description="Menu item to import into list monitors"
id="gui.monitor.contextMenu.import"
/>
</MenuItem>}
{props.onExport &&
<MenuItem onClick={props.onExport}>
<FormattedMessage
defaultMessage="export"
description="Menu item to export from list monitors"
id="gui.monitor.contextMenu.export"
/>
</MenuItem>}
</ContextMenu>
), document.body)}
</ContextMenuTrigger>
Expand All @@ -100,9 +117,11 @@ MonitorComponent.propTypes = {
label: PropTypes.string.isRequired,
mode: PropTypes.oneOf(monitorModes),
onDragEnd: PropTypes.func.isRequired,
onExport: PropTypes.func,
onImport: PropTypes.func,
onNextMode: PropTypes.func.isRequired,
onSetModeToDefault: PropTypes.func.isRequired,
onSetModeToLarge: PropTypes.func.isRequired,
onSetModeToDefault: PropTypes.func,
onSetModeToLarge: PropTypes.func,
onSetModeToSlider: PropTypes.func
};

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
82 changes: 82 additions & 0 deletions src/components/telemetry-modal/telemetry-modal.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
@import "../../css/colors.css";
@import "../../css/units.css";
@import "../../css/typography.css";
@import "../../css/z-index.css";

.modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: $z-index-modal;
background-color: $ui-modal-overlay;
}

.modal-content {
margin: 100px auto;
outline: none;
border: .25rem solid $ui-white-transparent;
padding: 0;
border-radius: $space;
user-select: none;
width: 640px;

color: $text-primary;
overflow: hidden;
}

.illustration {
width: 100%;
height: 123px;
background-color: $motion-primary;
background-image: url('./telemetry-modal-header.png');
background-size: cover;
}

.body {
background: $ui-white;
padding: 1.5rem 2.25rem;
text-align: left;
}

.privacy-policy-link {
color: $motion-primary;
text-decoration: none;
}

/* Confirmation buttons at the bottom of the modal */
.button-row {
margin: 1.5rem 0;
font-weight: bolder;
text-align: right;
display: flex;
justify-content: center;
}

.button-row button {
border: 1px solid $motion-primary;
border-radius: 0.25rem;
padding: 0.5rem 1.5rem;
background: white;
font-weight: bold;
font-size: .875rem;
cursor: pointer;
}

.button-row button.opt-in {
background: $motion-primary;
color: white;
}

.button-row button.opt-out {
color: $motion-primary;
}

[dir="ltr"] .button-row button + button {
margin-left: 0.5rem;
}

[dir="rtl"] .button-row button + button {
margin-right: 0.5rem;
}
Loading