* addresses comments for https://github.com/LLK/scratch-www/pull/1900
* renames report fields to match scratchr2 expectations
* restyle modal to allow display of validation messages
* removed cruft
addresses most comments except modal refactor, and error response from sumitting report.
* restore gui as a dev dependency
* better separation of view container/presentation
* replace absolute heights for textareas with making all sub components `display: flex`
* start to make presentation more modular added subcomponents to the view folder:
* share-banner (moved from components)
* remix-credit
* remix-list
* studio-list
* move all the report modal presentation into the component
* add strings to general l10n file because we don’t handle l10n files in components
* Add current project id and username to the data before submitting
Report button opens a modal with the report project form. All the content is currently in `preview/presentation` because components cannot have their own l10n files.
First pass at project page design using actual assets from Carl, and matching styles with current design.
Includes a (negative margin) hack to line up the stage. see https://github.com/LLK/scratch-gui/issues/2132
* 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)
* checkbox needed a default value
* general-error is passed a ref by formsy - cannot be stateless function
* add missing `label` prop to input field
* add missing proptypes to phoneinput.
- Moved preview state into redux
- Gets remix credit if the project is a remix
- Shows up to 5 remixes (direct children?)
- handles empty remixes result (it’s not an array)
- Added Column component - based on Grid, but doesn’t use frameless to set width.
- allows trailing ‘/‘ on the URL
- cleaned up conditional content
Setting onClick to onNextStep directly caused click event data to be passed in handleAdvanceStep, which then merged it with the formData state in student registration. This caused issues.
See this StackOverflow answer: https://stackoverflow.com/a/18853002/4633828
This isn't a perfect fix - we have to set `color` explicitly, rather
than use `inherit`, because we want the text color to be the same when
the select element is focused. That means both `color` and
`text-shadow`'s color have to be explicitly set to the same thing
(otherwise they might not match). Yay, hacks!
..since it's the only property which actually animates. (The background
image also changes on hover/focus, but that isn't visually effected by
transition, so we ignore it.)
This is for the next commit. Without this, the focus ring slowly
disappears, and the text slowly becomes the color it's meant to be;
neither of those are good.
This incorporates a fallback image into the thumbnail component for all of project, studio and avatar thumbnails using the `onerror` property of img elements (which is supported across all browsers).
/cc @thisandagain @rschamp
* add 2018 conference page (new subdirectory and index page)
* Redirect /conference route to 2018, and add new route for /conference/2017 for last year's conferences.
* Update mailto link in the footer
* add 2018 conference page (new subdirectory and index page)
* Redirect /conference route to 2018, and add new route for /conference/2017 for last year's conferences.
* Update mailto link in the footer
Css animated top banner
Middle banner of activities - responsive
https://github.com/LLK/scratchr2/issues/4869
Also updated ttt see-more/open- modal link to be consistent with the new icon from Carl.
* 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
1. Moves carousel to `LegacyCarousel` since it currently is designed to handle JSON from proxy endpoints
2. Add separate `Carousel` endpoint to handle data from project models in scratch’s new api, the standard moving forward.
New of tips page, uses cards from new resources server (s3)
* added get-localized-urls script to get the generated json from the s3 bucket
* added /tips route
* correct localized-urls for other pages
* remove thingstotry
* redirect /go
* fix up /info/cards view to use resources (s3).
* redirect /go to /tips
* change /hoc redirect from /go to /tips
* Add full set of cards pdf download to tips localization
* removed cards and guides from static PDFs, they are all coming from resources.scratch.mit.edu now.
* removed things to try view
Corrections for reviews:
* decided to pretty print the localized URLs
* replaced console.errors with process.stdout and fail with exit(1)
* formatted localized-urls to make it easier to read
* moved link outside `<Button…` makes whole button clickable instead of just text
* fixed up css styles, removed unnecessary classes
* corrected “unused” resource links
* Don’t allow duplicate strings in a single l10n file
Added check_duplicate_strings to test for duplicates in a single file.
removed duplicates - tried to keep the more generic ‘key’
* revised test case for safer file reads
Fixes#1097 by not making the server-side username validation call if the client side validations have failed. This is not the ideal way to do this, since it’s getting the input from an array. However, to make this different would require significant refactor.
fixes#1101. I wanted to apply a custom class to the input, however that is unfortunately obscured and unreachable with our current implementation of `formsy-react-components`
Fixes#966. I was trying, if possible, to not introduce localization at the component level in order to keep it in the views – but that seemed a bit too involved given that the fix in this way is only a few lines long.
This fixes#962 – the margin was causing flex to overflow the radio buttons when the text was long, causing the male and other options to render on top of each other. This fixes that by giving the radio buttons a fixed with relative to the parent container, and by ensuring that languages with long localizations will still be visible in overflow text.
ttt.subtitle:
- ‘try theTutorial’ instead of ‘try a Tutorial’
- Hide and Seek instead of Hide-and-Seek Game
- change <b> to <strong>
title-banner.scss
- add explicit rule to bold <strong> within title-banner for windows browsers
integrated modal and added guide pdfs.
Catch and Pet Guides are still missing. We may need to remove them from the TTT list. Wanted to get this committed in any case to start review.
based on feedback from @rschamp, thanks!
1. make `ref` into method
2. remove accidental inclusion of prototype modal
3. use `omit` for props so that we don’t need a separate object for wrapped component properties
1. Split out base modal stylings from iframe modal stylings
2. Move iframe-specific stylings into a separate copmonent
3. Move width/height iframe stylings to scss
4. Change global stylings for modals to match #980
5. Update styles to use trello style guide
Went over styles with Carl. Some notes:
renamed tutorial button tutorial tag as it’s not really a button and is unique to ttt.
Found out why cols4 wasn’t working - if your browser default font isn’t 16px, rem isn’t 16px. Opening a separate issue and using cols4 where it should be.
Includes new SVGs for banner and resources link
MasonryGrid does the reordering of items
Using react-responsive MediaQuery to change columns
Brought in ../forms/button.scss for button styling, and then modified for TTT
Still needs Modal
Final styling pass with Carl
the `//` for an empty username that gets sent to the backend causes a 500 error. This is an edge case in formsy, as it has not detected a change value yet, so handle it in the username validation method. Fixes#872
Since we only check for the US, only require for that country. Other countries have zip codes, but it seems better to do it this way than codify which countries do/do not have zip codes (in case local practices are not the same as international information). Fixes#825