In TeacherClassView, when a teacher assigns a paid course to any unenrolled
student, the view automatically enrolls those students, rather than requiring
the teacher to enroll those students manually first. Update copy throughout.
Also add back (smaller) padding to progress dots in TeacherClassView.
Add Campaign factory
First basic tests for HeroSelectModal in demo flow
Implement HeroSelectModal for demo flow
Improve tests
Disable empty test
Fix text inconsistency around 'me'
Just listen once
Add HeroSelectModal events test
Don't reuse destroyed modal
Fix inconsistent modal close behavior
Fix tests
* Tweak API doc behavior and styling
* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels
* Make sidebar in PlayGameDevLevelView stretch, better layout columns
* Set up content of PlayGameDevLevelView sidebar to scroll
* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like
* Finish PlayGameDevLevelView
* Add share area below
* Cover the brown background, paint it gray
* Tweak PlayGameDevLevelView
* Have progress bar show everything
* Fix Surface resize handling
* Fix PlayGameDevLevelView resizing incorrectly when playing
* Add GameDevVictoryModal to PlayGameDevLevelView
* Don't show missing-doctype annotation in Ace
* Hook up GameDevVictoryModal copy button
* Fix onChangeAnnotation runtime error
* Fix onLevelLoaded runtime error
* Have CourseVictoryModal link to /courses when course is done
* Trim, update CourseDetailsView
* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style
* Add analytics for game-dev
* Update Analytics events for gamedev
* Prefix event names with context
* Send to Mixpanel
* Include more properties
* Mostly set up indefinite play and autocast for game-dev levels
* Set up cast buttons and shortcut for game-dev
* Add rudimentary instructions when students play game-dev levels
* Couple tweaks
* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load
* API Docs use 'game' instead of 'hero'
* Move tags to head without combining
* Add HTML comment-start string
Fixes missing entry point arrows
* Fix some whitespace
Address some code review feedback
Correct error code in test
Don't try to send emails to empty addresses
Add tests for subscriptions
Add tests for Next Steps email
Fix specs
Add reason for disabled test
Update classroom and gameplay Ux to surface practice levels as 3a, 3b,
etc.
Update next level logic to leverage practice levels based on per level
completion playtime thresholds.
Patrol buster and patrol buster A are live for testing.
Fix a few classroom Ux progress hover bubble info bugs.
Closes#3767
* Switch from auth.loginUser to User.loginPasswordUser with Promise
* Remove a cascade of unused views that were using auth.loginUser: StudentLogInModal, StudentSignupModal, HourOfCodeView
* Also remove auth.createUser
This was a race condition where the view would trigger a render
before courses loaded, and the template required them when it had
some of its other resources.
Use selected hero in Course mode play
Show selected hero on Courses (in progress)
Add hero select modal
Use short names, only show warriors
Use box-shadow instead of borders
Add tests for HeroSelectModal
Refactor modal opening test
Address code review feedback