Commit graph

235 commits

Author SHA1 Message Date
Paul Kaplan
5d39e59dd5 Use a feature flag to contain new Scratch Desktop updates 2019-09-24 15:17:11 -04:00
Ben Wheeler
46351c116d collapse switch cases 2019-09-05 11:53:47 -04:00
Ben Wheeler
55cb112ee9 use params prop instead of inline query params 2019-09-05 11:53:47 -04:00
Ben Wheeler
020231bb02 add local, remote email validation to validate library 2019-09-05 11:53:46 -04:00
Ben Wheeler
b0bc59f9bd use more user-friendly error message if api call fails 2019-08-26 15:48:16 -04:00
Benjamin Wheeler
caa824f2a5
Merge branch 'release/2019-08-15' into develop 2019-08-14 18:28:50 -04:00
Benjamin Wheeler
46de5a23e1
Merge pull request #3236 from benjiwheeler/join-flow-highlighting
handle username validation errors states better
2019-08-13 17:52:00 -04:00
Ben Wheeler
7ead9d0e96 use updated strings in join flow 2019-08-13 15:02:25 -04:00
Ben Wheeler
ca6711e860 switch validation error message to just ‘Required’ 2019-08-13 15:02:25 -04:00
Ben Wheeler
f7fac2e41c handle username validation errors states better 2019-08-13 14:22:46 -04:00
Chris Garrity
24f06f275b Use localeData from l10n
Remove old tech debt.

www had always imported every react-intl defined locale, and then added our custom locales.

scratch-l10n defines localeData based on the currently supported languages, and it includes any necessary custom-locales, so we should use that instead of maintaining two custom locale lists.
2019-08-08 16:32:40 +01:00
Ben Wheeler
167a70f437 simplify adding common countries to top of list 2019-08-06 20:42:03 -04:00
Ben Wheeler
51aa38fb34 consolidated country-data and contry-list 2019-08-06 00:00:37 -04:00
Ben Wheeler
50e706efa8 country data, functions and tests 2019-07-31 17:21:32 -04:00
Ben Wheeler
67ad5fc383 added tests for password validations 2019-07-02 17:49:29 -04:00
Ben Wheeler
f6d1ba3194 WIP moving join flow validation functions to library 2019-07-02 17:27:44 -04:00
Benjamin Wheeler
d97f5b9d7a
Merge pull request #2924 from benjiwheeler/embed-modal
Embed/social sharing modal
2019-05-08 14:53:19 -04:00
Ben Wheeler
4ae4d4232a removed social images and links 2019-05-07 10:54:01 -04:00
Ben Wheeler
6a3110e24e moved and renamed linkUrl to keep url generation in one place 2019-05-06 18:49:57 -04:00
Ben Wheeler
08f8e1c546 simplified embed modal to remove social links 2019-05-02 17:18:13 -04:00
Eric Rosenbaum
56077811f5 Add extension chip 2019-04-30 16:03:32 -04:00
Ben Wheeler
67e7a54413 renamed externalShare to social 2019-04-24 12:09:44 -04:00
Ben Wheeler
63baada567 added social icons and links 2019-04-23 17:11:27 -04:00
Ben Wheeler
5d12f0f781 put social links section, copy project link button inside social share modal 2019-04-22 22:36:26 -04:00
Ben Wheeler
1e63b51565 first take on embed modal 2019-04-22 14:50:49 -04:00
Eric Rosenbaum
3a0452048d Add extension chip 2019-04-08 14:45:39 -04:00
Benjamin Wheeler
f5134483a3
Merge pull request #2676 from apple502j/patch-8
Make internal URL clickable
2019-01-29 23:28:25 -05:00
Ben Wheeler
a8d4184b3f renamed frameless.js tablet var to mobileIntermediate, use tabletPortrait for breaks 2019-01-29 10:35:19 -05:00
Ben Wheeler
be975cba26 using tabletPortrait instead of changing value of tablet var, per chrisg's suggestion 2019-01-28 22:36:39 -05:00
Ben Wheeler
7b19878d7f changed tablet width to 768; several responsive tweaks 2019-01-28 22:27:01 -05:00
Eric Rosenbaum
825b885638 Update extension chip icons 2019-01-23 15:51:35 -05:00
Eric Rosenbaum
44ec3de0f1 Change extension chip wording to “Video Sensing” 2019-01-23 15:51:00 -05:00
Eric Rosenbaum
5603e2dc2b Fix WeDo extension chip wording 2019-01-22 11:23:48 -05:00
apple502j
ea9282a3eb
Check hashtag after URL 2019-01-16 09:15:58 +09:00
chrisgarrity
70c4240b8d Revise unsupported browser
Only reject IE, other gui errors should get handled by error boundary in gui.
2019-01-09 14:40:06 -05:00
Ben Wheeler
8e1d6fee54 love and favorite proxy, and use x-requested-with header 2019-01-07 11:39:31 -05:00
Paul Kaplan
6f83dd09a8 Fix hashtag search to link to query without the # 2019-01-03 20:24:39 -05:00
Paul Kaplan
d49a48c2e7 Update storage to get 3.0 projects. 2018-12-20 10:00:58 -05:00
Paul Kaplan
16b8a90607 Actually return the mapping of extension info 2018-12-12 15:50:40 -05:00
Paul Kaplan
ace110c59b Show username and cloud var alerts on projects that use them.
Only implemented for scratch3 projects
2018-12-11 11:15:00 -05:00
Eric Rosenbaum
8260d7bb5d Add Makey Makey extension chip 2018-11-29 15:28:55 -05:00
chrisgarrity
decb250dd5 Initial version 2018-11-26 09:43:05 -05:00
Ray Schamp
df3d18e649
Revert "Revert "use cdn.scratch.ly in staging"" 2018-11-21 10:27:13 -05:00
Ray Schamp
45415944c1
Revert "use cdn.scratch.ly in staging" 2018-11-21 10:07:57 -05:00
Ben Wheeler
7ee463509c use cdn.scratch.ly in staging 2018-11-19 17:07:48 -05:00
Paul Kaplan
194dc90688 Add missing extensions and images 2018-11-14 15:39:40 -05:00
Ben Wheeler
8e967737e5 use production or staging hosts for static assets url 2018-11-13 15:32:59 -05:00
Ben Wheeler
c965fd15f9 generate author thumbnail and pass to gui 2018-11-10 02:07:48 -05:00
Paul Kaplan
e563254c8f
Merge pull request #2231 from paulkaplan/comment-linking
Decorate comment text to add @username links and scratch-domain links
2018-10-25 15:18:56 -04:00
Paul Kaplan
9066686c2b Decorate comment text to add @username links and scratch-domain links 2018-10-24 11:25:32 -04:00
Paul Kaplan
4d8256e985 Update all preview... l10n strings to project... 2018-10-24 09:35:30 -04:00
Benjamin Wheeler
341428ce50
storage.js can use PROJECT_HOST env setting (#2146) 2018-10-09 09:59:04 -04:00
Ben Wheeler
478a30efcb pass project title to GUI, and disable submit when editing title 2018-09-05 18:38:19 -04:00
Linda
68c7616a25 remove now obsolete truncate library 2018-08-22 15:10:19 -04:00
Ben Wheeler
097fb66955 currentStudioIds now an array; reverted a few changes 2018-07-31 15:00:56 -04:00
Connor Hudson
1842be2f1a Add l10n strings for extension chips 2018-06-22 09:16:20 -04:00
Connor Hudson
058b851823
Remove outdated comment from storage.js
The issue pointed to was fixed by a separate commit.
2018-06-20 13:53:02 -04:00
Connor Hudson
bd22d573b6 extension-info.js -> extensions.js 2018-06-19 16:18:08 -04:00
Connor Hudson
7539e74436 Add extension icons, extension info object 2018-06-19 16:13:25 -04:00
Connor Hudson
ca91294b31 Add ScratchStorage subclass for getting project JSON 2018-06-19 11:24:54 -04:00
chrisgarrity
80de164d02
Handle See inside button (#1890)
* Handle See inside button

Import GUI reducers, initial state and middleware (throttle).

Update render to handle state and middleware.

Remove preview mode state and use scratchGui.mode from redux instead.

URL is getting updated, and mode will be updated based on URL. However, the history needs work - it doesn’t work with the modal back.

* Update to latest GUI

This is the minimum version of GUI that is needed for see-inside

* Really remove cruft.
2018-05-24 16:23:07 -04:00
chrisgarrity
b8326a3d57
Feature/preview project2 (#1856)
* Add user-session awareness
  - only show remix button if user is logged in (TBD: probably will want to hide if project creator == user)
* decorate text with @mentions and #hashtags
* Add studios, loves, favs
* In-place editing of title and description if current user is author and project shared (with validation)
2018-04-24 11:00:47 -04:00
Ray Schamp
590f505a61 Revert "Merge pull request #1788 from LLK/revert-1775-hotfix/es6-upgrade"
This reverts commit 1b1b396e92, reversing
changes made to a144bab0e6.
2018-01-30 11:53:12 -05:00
Ray Schamp
46511e1253
Revert "[Develop] Upgrade to ES6" 2018-01-30 09:54:45 -05:00
Matthew Taylor
6d1f2fbccd initial es6 commit 2018-01-19 14:06:26 -05:00
Matthew Taylor
9a3358b35c provide a default opts if it’s undefined 2017-09-18 14:40:52 -04:00
Matthew Taylor
4175c119d2 apply path explicitly rather than in defaults
This should fix #1455 by preventing the path from being changes via opts passed in, even though we don’t pass in a `path` anywhere.
2017-09-18 11:44:06 -04:00
Matthew Taylor
3dd768f2f6 GH-1361: Implement Notifications Page (#1487)
* start work on www page
committing out of paranoia.
including changing splash page endpoints

* updates from feedback

thanks @rschamp! This includes:

1. splitting out messages list into a separate component (for clarity)
2. some comment/formatting adjustments for the api calls
3. removal of an extraneous property in emoji-text

* remove duplicate string declaration

* use object.assign instead of defaults deep

we don’t need deep defaults

* fix react warnings
2017-08-31 17:05:22 -04:00
Ray Schamp
84a37a671f Remove SmartyStreets API
We are so lax with this that it's not actually helping us, and we don't have a plan with them anymore.
2017-07-13 10:44:50 -04:00
Matthew Taylor
7540ee45e3 loosen restrictions on smartystreets check
re-fixes #828 by loosening restrictions on the check once again (see https://smartystreets.com/docs/us-street-api#match-strategy)
2016-10-06 16:36:27 -04:00
Ray Schamp
2d22f6fa3d Merge pull request #912 from rschamp/bugfix/http-only-session
Remove interactions with session cookie
2016-09-19 12:04:17 -04:00
Matthew Taylor
2db7097b9b Merge pull request #839 from mewtaylor/hotfix/gh-828
[Develop] Fix GH-828: check street number range for address
2016-08-12 15:15:53 -04:00
Matthew Taylor
ccfde96f67 use new match option instead of header
so that it works in IE9 too.
2016-08-12 14:40:26 -04:00
Matthew Taylor
ea91b3d885 Remove declaration of defaultsDeep
Got lost in the merge, apologies.
2016-08-11 15:55:58 -04:00
Matthew Taylor
e18e320231 Merge branch 'hotfix/gh-828' into develop
* hotfix/gh-828:
  Make `X-Requested-With` overridable
  use `defaults` again
  Only apply `X-Requested-With` to same domain
  check street number range for address

# Conflicts:
#	src/lib/api.js
2016-08-11 15:45:05 -04:00
Matthew Taylor
d6d5fa0f8a Make X-Requested-With overridable
thanks @rschamp!
2016-08-11 15:20:54 -04:00
Matthew Taylor
4dc85b1bc4 use defaults again
deep is no longer necessary with the `headers` change
2016-08-11 15:20:54 -04:00
Matthew Taylor
fa2c326955 Only apply X-Requested-With to same domain
it breaks on cross domain
2016-08-11 15:20:54 -04:00
Matthew Taylor
9c88f92f44 check street number range for address
rather than exact address, so that we can more flexibly allow outdate post office data
2016-08-11 15:20:54 -04:00
Matthew Taylor
2fc62cba13 Merge pull request #830 from mewtaylor/hotfix/gh-828
[Develop] Fix GH-828: check street number range for address
2016-08-11 08:46:07 -04:00
Matthew Taylor
4d9fe86f40 check street number range for address
rather than exact address, so that we can more flexibly allow outdate post office data
2016-08-10 15:33:17 -04:00
Technoboy10
a8b26b1a1c experiment with removing content display from scss 2016-07-26 11:06:21 -04:00
Ray Schamp
b89d644573 Fix JSON response parsing in IE
Fixes #654

IE does not honor responseType: 'json', and will not parse responses as JSON unless json data is present in the request. For some reason this issue can also be solved by including a `json` attribute on the xhr request, but if that's present, url encoded form data is overwritten with the contents of the json.  So just try to parse the response ourselves if it looks like it wasn't parsed.

See https://github.com/Raynos/xhr/issues/123
2016-07-03 15:54:58 -04:00
Matthew Taylor
04aa7e01ef check for the null value in get
thanks @rschamp!
2016-06-30 11:40:05 -04:00
Matthew Taylor
794c3e2cba Set null contents to null instead of error throw
Before, if a cookie didn't exist, it would throw an error, not causing permissions/tokens to change to empty values. This fixes that (and #626) by setting the value to undefined instead.
2016-06-30 11:27:46 -04:00
Matthew Taylor
7bb52c25fe move permissions checks to mirror session more
thanks @rschamp!
2016-06-28 14:25:11 -04:00
Matthew Taylor
9d6fb63d18 Merge branch 'feature/teacher-registration-flow' of https://github.com/rschamp/scratch-www into feature/teacher-registration-flow
* 'feature/teacher-registration-flow' of https://github.com/rschamp/scratch-www: (46 commits)
  Add serverside email validation
  Clean up
  Move registration step to main component
  Submit the rest of the fields when registering
  This help text is redundant now
  Fix organization "other" field enablement
  Get the form creating regular accounts
  Add method to api for submitting forms
  Update language chooser for formsy
  Add missing string
  Add progress indicators
  Style pass
  Remove unused label component
  Remove unused mixin factory
  Fixup api refactor
  Add serverside username validation
  L10n pass
  Explain the GeneralError component
  Add help text when a field is not required
  L10n WIP
  ...

# Conflicts:
#	src/l10n.json
#	src/views/splash/splash.jsx
2016-06-17 15:32:49 -04:00
Ray Schamp
8646bd84b3 Submit the rest of the fields when registering 2016-06-17 11:01:34 -04:00
Ray Schamp
26e1ee553b Add method to api for submitting forms
Some of our legacy endpoints expect this style rather than json.

Also clean up the way useCsrf works — don't always set json attribute to an empty object.
2016-06-16 17:24:31 -04:00
Matthew Taylor
626b3f008e Merge branch 'develop' of https://github.com/LLK/scratch-www into issue/gh-543-teacher-banner
* 'develop' of https://github.com/LLK/scratch-www: (29 commits)
  Add explore redirects
  Allow access to 2014 and 2015 pages
  use route aliases for generalizable route patterns
  remove `/components` from `routes.json`
  Remove Make it Fly banner
  Fix issues in FAQ of /developers page.
  move shuffle to utility module
  fix error with shuffleArray function
  add shuffleArray function, shuffle most loved and most remixed
  use `image` to get studio thumbnail
  quick formatting fix for box header on search
  Fix merge issue
  Add localizations, minor style changes
  Removed rows from grid, changed explore tabs
  Removed extraneous image file
  Whitespace added
  Small fix
  Support for studios
  Refactoring, new grid component
  Style changes
  ...

# Conflicts:
#	src/views/splash/splash.jsx
#	src/views/splash/splash.scss
2016-06-15 09:45:05 -04:00
Ray Schamp
cfa85427b1 Add address validation 2016-06-14 17:29:30 -04:00
Ray Schamp
f8037f6767 Lint 2016-06-14 17:29:30 -04:00
Ray Schamp
d7df1e980f Move api mixin to lib, remove mixin
The mixin doesn't gain us anything except complexity
2016-06-14 17:29:30 -04:00
Ray Schamp
56e16bc0dc Actually provide every state in world choice 2016-06-14 17:29:30 -04:00
Ray Schamp
f126a71336 Use iso-31660-2 package for country data 2016-06-14 17:29:29 -04:00
Matthew Taylor
5b73c4192d change name to getUnsignedValue
thanks @rschamp!
2016-06-13 10:06:43 -04:00
Connor Hudson
fde193ca06 move shuffle to utility module 2016-06-13 09:40:32 -04:00
Matthew Taylor
ac17850491 Add teacher banner to splash page
This only shows if the logged in user is a teacher, and persists for teachers.
2016-06-08 13:47:11 -04:00
Matthew Taylor
a860b27941 Some updates to the redux structure
1. split `auth.js` up so it's 1 reducer per file
2. consolidate the conference schedule reducers
3. make conference reducer names more descriptive
4. add error handling for `body === 'undefined'`

Thanks @rschamp for all the help!
2016-05-19 16:55:25 -04:00
Matthew Taylor
d69de477a1 Merge branch 'develop' of https://github.com/LLK/scratch-www into feature/conference-schedule
* 'develop' of https://github.com/LLK/scratch-www: (32 commits)
  Lint
  Bundle all locale data
  Don't bundle polyfills
  Set up Raven within init.js
  Prefix privacyPolicy message string
  Exclude minified javascript from linting
  One space more
  Changes "interfacesto" to "interfaces to"
  Remove tag target
  Filter before mapping to avoid returning undefined
  Fix Pass condition for "static" routes
  Spacing2
  Mangling is the default
  Spacing
  Update for typography fixes
  Cherry pick PR #476 into master
  Add invisible spacer to anchored sections
  For Developers
  Lint JSON, expand and simplify lint step
  Fix banned user redirect
  ...

# Conflicts:
#	src/redux/actions.js
#	src/redux/reducer.js
2016-05-19 13:25:36 -04:00
Matthew Taylor
b969c4e2ed Split reducers into separate files
Use a model of reducer/action files for each component that has them, and make `reducer.js` be the one that imports and configures all of them. This modeling is based on a few examples I've seen which seemed to work for our current case, but I'm totally fine with splitting actions and reducers into separate directories if we'd like too.
2016-05-19 11:34:28 -04:00
Ray Schamp
f9bb5592d4 Lint
Remove min context, we don't use it anymore.
2016-05-17 21:09:18 -04:00
Ray Schamp
650b98c009 Bundle all locale data
The npm installed version of react-intl does not include all locales, they must be added manually
2016-05-17 21:02:36 -04:00
Ray Schamp
8f2697b7f1 Move externals, polyfill and init to common chunk
This should allow us to define and update our dependencies more easily (via npm) as well as reducing the number of requests.

Additionally, when we add common packages this will avoid the issue after deploys where a user may get a cached HTML page, but new Javascript, leading to the dreaded blank page because the browser didn't download all dependencies.

Using mangle with UglifyJS also made the total file size for the common chunk bundle smaller than the current total for all of our external/polyfill scripts (1.18MB vs 1.55MB).
2016-05-16 12:59:58 -04:00
Matthew Taylor
e1cebe46db Ergonomics – get rid of typography file
1. Merge typography into main
2. Get rid of use of `#view` in scss
3. Make `render` work with conference pages
2016-05-12 18:05:26 -04:00
Ray Schamp
339c23a64e Add some sources to the unsign method 2016-03-23 10:02:20 -04:00
Ray Schamp
21dffa73f0 Fix indentation 2016-03-23 09:50:41 -04:00
Ray Schamp
96bc1b1ab1 Add method for reading session cookie
Assumes the session cookie is stored as JSON which may or may not have been compressed via zlib (indicated by a leading `.`), which is then base64-encoded, and made URL-safe by replacing all `+` and `/` characters with `-` and `_` respectively.
2016-03-22 09:11:09 -04:00
Ray Schamp
9cd5c98004 Make Jar formatting consistent with everything else 2016-03-22 09:09:42 -04:00
Ray Schamp
a5e336a175 Use redux for session handling 2016-03-18 11:51:22 -04:00
Ray Schamp
faabc63e65 Move component structure to one tree
Instead of inserting `Navigation` and `Footer` into every `render`ed component, just compose them in the views with a new `Page` component.
2016-03-18 10:54:26 -04:00
Matthew Taylor
2e79a5aa6b Merge pull request #323 from mewtaylor/bugfix/readme-update
Added some more documentation
2016-01-19 16:11:49 -05:00
Matthew Taylor
7303b7963b import main.scss in render.jsx
Fallout from #305, fixes #324
2016-01-14 14:55:24 -05:00
Matthew Taylor
112cad14e3 Added some more documentation 2016-01-14 10:25:03 -05:00
Matthew Taylor
98d0f0de6e Updates based on feedback
1. changes intl filenames to `[view].intl.js`
2. Move nav/footer rendering to `render.jsx`
3. Set locale cookie before submitting language change form

Thanks @thisandagain !
2016-01-14 08:32:43 -05:00
Matthew Taylor
ceec694b2a Revert "Migrate to using a loader method"
This reverts commit 214430b0c4.
2016-01-08 13:50:58 -05:00
Matthew Taylor
214430b0c4 Migrate to using a loader method
This moves all locale/translation building to a dependency, `scratch-www-intl-loader`, as well as tests associated with it. Also gets rid of the `make translations` step.
2016-01-07 17:01:57 -05:00
Matthew Taylor
8ae98d703f Make localizations view-based
1. Load locale strings into `window._messages` in a separate file added to `template.html`, which contains view-specific and general strings
2. Update build-locales to compile separate files
2016-01-06 14:09:32 -05:00
Matthew Taylor
f52ac1f17f Move intl loading into separate, overridden file
ht @rschamp, thanks!
2015-12-16 12:00:42 -05:00
Matthew Taylor
8c374e096d Move custom loader to main.jsx
So that it's only done once.
2015-12-16 10:43:37 -05:00
Matthew Taylor
6ff652e788 Revert "Move custom-locales.js to static/js/lib"
This reverts commit 4f541b8831.
2015-12-16 10:09:15 -05:00
Matthew Taylor
4f541b8831 Move custom-locales.js to static/js/lib
So it can be loaded ahead of time and cached. Also remove the json since it's being loaded outside of react now, and put it into the js file directly.
2015-12-16 08:32:25 -05:00
Matthew Taylor
b495beaeba Also add Latin, Aragonés 2015-12-15 18:06:03 -05:00
Matthew Taylor
08a91f8521 Add custom languages explicitly 2015-12-15 17:55:44 -05:00
Andrew Sliwinski
06de644ae6 Remove ./src/environment from Webpack config and bind environment to window. Resolves GH-199. 2015-11-03 10:49:32 -05:00
Andrew Sliwinski
44f3101069 Fix call to jar.get. Resolves GH-120 2015-10-25 18:21:07 -04:00
Matthew Taylor
7b704e878f Give name to the exported module 2015-10-16 15:10:17 -04:00
Matthew Taylor
d307b21d3d Add cookie setter to jar 2015-10-16 10:59:55 -04:00
Matthew Taylor
0577860f3a Rename renderer to render
and make it a method that returns a component, rather than an object with a render method
2015-10-15 23:11:09 -04:00
Matthew Taylor
b8972d545c refactor cookieMixinFactory
isolate cookie business logic from react mixin logic so that they are more modular. And use the cookie business logic to set translation objects on the window
2015-10-15 23:09:35 -04:00
Matthew Taylor
c3b62c8f05 Update core react dependencies 2015-10-14 22:59:38 -04:00
Andrew Sliwinski
f3d6a273fb Resolve merge conflict 2015-10-13 15:57:55 -04:00
Ray Schamp
07be335a42 Consolidate rendering to helper function 2015-10-13 11:45:23 -06:00
Ray Schamp
2affa1b77e Name all the exports for easier debugging 2015-10-08 14:25:18 -06:00
Andrew Sliwinski
ed8ff0cad2 More format module to ./src/lib 2015-09-21 10:48:06 -04:00