* start to create asset list
* begin refactoring overlay component to remove duplicate code
* refactoring of overlays, asset list styles
* changes to add size to asset list
* fixes to asset list
* handle case in which a user hasn't uploaded any assets
* fix bug in which asset list only grabbed first asset
* remove console.log
* update overlay exit styling to use icon mixin
* Styles CodeMirror Search box
* Switch to fork of search add-on
* Styles search box using custom markup
* Prev/Next search behaviour, highlighting current result
* Hide search modifiers until implemented
* Regexp search
* Style RegExp modifier button active state
* Styles search modifiers
* Wires up Case Sensitive search button
* Allows case insenstive regexp search
* Do not show underlying regexp query string when re-opening dialog
* Adds "Whole word" search
* Adds title and aria-label for tooltip and screenreaders
* Whole Word button shows correct active/inactive state
* Disables replace implementation which doesn't work
* Tidies up query parsing so it's less of a hack
- uses state to convert query text into a regexp
- avoids having to fake regexp using "/.../" syntax
- parsing is now in one place
* Uses shared metaKey function for Cmd/Ctrl key
* Adds find function to keyboard shortcuts modals
* Sets aria-checked to true/false to indicate button state
* Sets role=checkbox on checkbox-like buttons
* Checkbox to toggle project's serveSecure flag
This doesn't yet persist or reload the page.
* Help button that shows modal to explain feature
* Extracts protocol redirection to helper
* Returns promise from saveProject() action to allow chaining
* Setting serveSecure flag on project redirects after saving project
* Set serveSecure on Project model in API and client
* Redirect to correct protocol when project is loaded
* update eslint and dependencies, fix linting errors that can be fixed with --fix
* fix lots of linting errors
* update eslintrc, fix some linting errors
* fix all server side linting errors, untested
* fix errors that fixing linting errors had caused
* fix client side eslint errors
* fix client side linting errors
* fix refs lint errors
* fix more linting errors
* update eslint and dependencies, fix linting errors that can be fixed with --fix
* fix lots of linting errors
* update eslintrc, fix some linting errors
* fix all server side linting errors, untested
* fix errors that fixing linting errors had caused
* fix client side eslint errors
* fix client side linting errors
* fix refs lint errors
* fix more linting errors
* fix some accessibility linting errors
* fix a lot of linting errors
* fix a billion more linting errors
* hopefully fix all linting errors, still need to test
* fix bugs that fixing linting had caused
* Changed unsaved changes asterisk to an svg circle. #158
* Fixed#100
Unmatched routes are handled by react-router on the client side
and a single wildcard route on server.routes.js renders the index
html.
When the /:username/sketches route is matched and the username is not
valid, the user will be redirected to the index route and a toast
will explain what happened. When the username is 'p5' (default when
logged out) it will show all sketches. Maybe this should be changed
to just public or 'local' sketches?
* Moved unsaved changes SVG to a separate file.
* User not found is now a 404 error.
* Added server rendered 404 page.
* Removed console.log
* 404 Page now renders a random p5 sketch. TODO: make 404 sketches.
* Added 404 header
404 page now fetches a random example sketch
* Moved circle closer to file name
* Render 404 page in SketchList route if !user