diff --git a/app/assets/images/pages/base/background.jpg b/app/assets/images/pages/base/background.jpg
new file mode 100644
index 000000000..c924faf89
Binary files /dev/null and b/app/assets/images/pages/base/background.jpg differ
diff --git a/app/assets/images/pages/base/background_texture.png b/app/assets/images/pages/base/background_texture.png
deleted file mode 100644
index 6521dea8b..000000000
Binary files a/app/assets/images/pages/base/background_texture.png and /dev/null differ
diff --git a/app/assets/images/pages/base/logo.png b/app/assets/images/pages/base/logo.png
index 0972de488..e7a97eb3c 100644
Binary files a/app/assets/images/pages/base/logo.png and b/app/assets/images/pages/base/logo.png differ
diff --git a/app/assets/images/pages/base/nav_background.png b/app/assets/images/pages/base/nav_background.png
new file mode 100644
index 000000000..d9df28f57
Binary files /dev/null and b/app/assets/images/pages/base/nav_background.png differ
diff --git a/app/assets/images/pages/base/repeat-tile.png b/app/assets/images/pages/base/repeat-tile.png
deleted file mode 100644
index 16186dbee..000000000
Binary files a/app/assets/images/pages/base/repeat-tile.png and /dev/null differ
diff --git a/app/assets/images/pages/base/sky_repeater.png b/app/assets/images/pages/base/sky_repeater.png
deleted file mode 100644
index 824fb83f8..000000000
Binary files a/app/assets/images/pages/base/sky_repeater.png and /dev/null differ
diff --git a/app/assets/images/pages/home/app_store_badge.svg b/app/assets/images/pages/home/app_store_badge.svg
new file mode 100644
index 000000000..0fe477c56
--- /dev/null
+++ b/app/assets/images/pages/home/app_store_badge.svg
@@ -0,0 +1,129 @@
+
+
+
+
diff --git a/app/assets/images/pages/home/campaign.jpg b/app/assets/images/pages/home/campaign.jpg
deleted file mode 100755
index df135c9a4..000000000
Binary files a/app/assets/images/pages/home/campaign.jpg and /dev/null differ
diff --git a/app/assets/images/pages/home/campaign_notext.jpg b/app/assets/images/pages/home/campaign_notext.jpg
deleted file mode 100644
index fa7d3c37f..000000000
Binary files a/app/assets/images/pages/home/campaign_notext.jpg and /dev/null differ
diff --git a/app/assets/images/pages/home/front_screenshot_01.png b/app/assets/images/pages/home/front_screenshot_01.png
deleted file mode 100644
index 86bdfd01e..000000000
Binary files a/app/assets/images/pages/home/front_screenshot_01.png and /dev/null differ
diff --git a/app/assets/images/pages/home/language_background_small.png b/app/assets/images/pages/home/language_background_small.png
deleted file mode 100644
index 32063a954..000000000
Binary files a/app/assets/images/pages/home/language_background_small.png and /dev/null differ
diff --git a/app/assets/images/pages/home/language_beta_sticker.png b/app/assets/images/pages/home/language_beta_sticker.png
deleted file mode 100644
index fb24c3d12..000000000
Binary files a/app/assets/images/pages/home/language_beta_sticker.png and /dev/null differ
diff --git a/app/assets/images/pages/home/language_js.png b/app/assets/images/pages/home/language_js.png
deleted file mode 100644
index 9da73cf33..000000000
Binary files a/app/assets/images/pages/home/language_js.png and /dev/null differ
diff --git a/app/assets/images/pages/home/language_python.png b/app/assets/images/pages/home/language_python.png
deleted file mode 100644
index 71f23d4ad..000000000
Binary files a/app/assets/images/pages/home/language_python.png and /dev/null differ
diff --git a/app/assets/images/pages/home/multiplayer.jpg b/app/assets/images/pages/home/multiplayer.jpg
deleted file mode 100755
index 38590f3fa..000000000
Binary files a/app/assets/images/pages/home/multiplayer.jpg and /dev/null differ
diff --git a/app/assets/images/pages/home/play_button.png b/app/assets/images/pages/home/play_button.png
new file mode 100644
index 000000000..7d4c74966
Binary files /dev/null and b/app/assets/images/pages/home/play_button.png differ
diff --git a/app/assets/images/pages/home/play_img.png b/app/assets/images/pages/home/play_img.png
deleted file mode 100644
index ffdad8dca..000000000
Binary files a/app/assets/images/pages/home/play_img.png and /dev/null differ
diff --git a/app/assets/images/pages/home/video_border.png b/app/assets/images/pages/home/video_border.png
deleted file mode 100644
index b07b2f2eb..000000000
Binary files a/app/assets/images/pages/home/video_border.png and /dev/null differ
diff --git a/app/assets/images/pages/home/wizard.png b/app/assets/images/pages/home/wizard.png
deleted file mode 100644
index f31990f6a..000000000
Binary files a/app/assets/images/pages/home/wizard.png and /dev/null differ
diff --git a/app/assets/images/pages/home/multiplayer_notext.jpg b/app/assets/images/pages/play/ladder/multiplayer_notext.jpg
similarity index 100%
rename from app/assets/images/pages/home/multiplayer_notext.jpg
rename to app/assets/images/pages/play/ladder/multiplayer_notext.jpg
diff --git a/app/assets/main.html b/app/assets/main.html
index 24b1c18f2..2b468e27f 100644
--- a/app/assets/main.html
+++ b/app/assets/main.html
@@ -43,8 +43,6 @@
-
-
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index d18e02d86..92615b86b 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -10,6 +10,7 @@
for_beginners: "For Beginners"
multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "For Developers" # Not currently shown on home page.
+ or_ipad: "Or download for iPad"
nav:
play: "Levels" # The top nav bar entry where players choose which levels to play
diff --git a/app/styles/bootstrap/_variables.scss b/app/styles/bootstrap/_variables.scss
index edb181e32..e2b5af123 100644
--- a/app/styles/bootstrap/_variables.scss
+++ b/app/styles/bootstrap/_variables.scss
@@ -44,7 +44,7 @@ $brand-info: $blueDark !default;
// Scaffolding
// -------------------------
-$body-bg: #2f261d;
+$body-bg: rgb(70,58,44);
$text-color: $gray !default;
// Links
diff --git a/app/styles/base.sass b/app/styles/common/common.sass
similarity index 79%
rename from app/styles/base.sass
rename to app/styles/common/common.sass
index 451e9bdca..9c70cd67f 100644
--- a/app/styles/base.sass
+++ b/app/styles/common/common.sass
@@ -1,9 +1,6 @@
@import "app/styles/bootstrap/variables"
@import "app/styles/mixins"
-html
- background-color: #2f261d
-
body
position: absolute !important
@@ -14,89 +11,9 @@ body
h1, h2, h3, h4, h5, h6
font-variant: small-caps
-.main-content-area
- box-shadow: 0px 0px 10px
- position: relative
- width: 1024px
- margin: 56px auto 0
- min-height: 600px
- padding: 14px 12px 5px 12px
- +box-sizing(border-box)
- +clearfix()
-
-#outer-content-wrapper
- background: #B4B4B4
-
-#outer-content-wrapper.show-background
- background: #8cc63f url(/images/pages/base/repeat-tile.png) top center
-
- #intermediate-content-wrapper
- background: url(/images/pages/base/sky_repeater.png) repeat-x
-
- #inner-content-wrapper
- background: url(/images/pages/base/background_texture.png) top center no-repeat
-
-#front-summary-points-left
- width: 250px
- margin: 0px 20px 10px 15px
-
-#front-summary-points-left p.lead
- margin-bottom: 5px
-
-#front-screenshot
- width: 710px
-
-.content
- width: 1024px
- margin: 0 auto
-
-.footer
- border-top: 1px solid black
- background-color: #2f261d
- p
- margin: 0
- padding-top: 10px
- padding-bottom: 10px
- text-align: center
-
- .mixpanel-badge, .firebase-badge
- width: 100px
- margin: 10px 10px 0px
-
-.footer-link-text a
- font-family: 'Open Sans Condensed', cursive
- font-variant: small-caps
- font-weight: normal
- font-size: 25px
- letter-spacing: 1px
- color: #ffffff
- cursor: pointer
- margin: 0px 10px
- &:hover
- color: $white
-
a
cursor: pointer
-.share-buttons, .partner-badges
- padding-bottom: 10px
- text-align: center
- @include opacity(0.75)
-
- &.fade-in
- @include opacity(0)
-
- &:hover, &:active
- @include opacity(1)
- @include transition(opacity .10s linear)
-
- .github-star-button
- margin-left: 20px
-
- &>div
- display: inline-block
- vertical-align: top
-
.error
left: 8px
diff --git a/app/styles/common/site-chrome.sass b/app/styles/common/site-chrome.sass
new file mode 100644
index 000000000..f1c7166ea
--- /dev/null
+++ b/app/styles/common/site-chrome.sass
@@ -0,0 +1,222 @@
+@import "app/styles/bootstrap/variables"
+@import "app/styles/mixins"
+
+.site-chrome
+ background-color: white
+ &.show-background
+ background: url(/images/pages/base/background.jpg) top center no-repeat
+ background-color: rgb(150,202,68)
+ padding-top: 185px
+ max-width: 1920px
+ margin: 0 auto
+
+ //- Nav
+
+ #site-nav
+ position: absolute
+ background: url(/images/pages/base/nav_background.png) top center no-repeat
+ left: 0
+ top: 56px
+ right: 0
+ height: 144px
+ text-align: center
+ min-width: 1024px
+ z-index: 1
+
+ #nav-logo
+ position: absolute
+ margin-right: auto
+ margin-left: auto
+ left: 0
+ right: 0
+ top: -45px
+
+ #site-nav-links
+ position: absolute
+ bottom: 21px
+ left: 0
+ right: 0
+
+ a
+ color: rgb(158,135,119)
+ &:hover
+ color: $white
+
+ a, button, select
+ font-size: 18px
+ text-transform: uppercase
+ font-family: Open Sans Condensed
+ margin: 0 7px
+
+ button, select
+ position: relative
+ top: -3px
+ height: 32px
+ color: #444
+
+ .signup-button
+ background: red
+ color: white
+
+ .login-button
+ background: white
+ color: black
+
+ .language-dropdown
+ width: auto
+ display: inline-block
+
+ #site-nav-smooth-edge
+ position: absolute
+ left: 0
+ right: 0
+ bottom: 0
+ height: 5px
+
+
+ //- Account menu
+
+ .dropdown
+ .dropdown-menu
+ left: auto
+ width: 280px
+ padding: 0px
+ border-radius: 0px
+ font-family: Open Sans Condensed
+ font-variant: small-caps
+
+ > .user-dropdown-header
+ position: relative
+ background: #E4CF8C
+ height: 160px
+ padding: 10px
+ text-align: center
+ color: black
+ border-bottom: #32281e 1px solid
+ > a:hover
+ background-color: transparent
+ img
+ border: #e3be7a 8px solid
+ height: 98px // Includes the border
+ &:hover
+ box-shadow: 0 0 20px #e3be7a
+ > h3
+ margin-top: 10px
+ text-shadow: 2px 2px 3px white
+ color: #31281E
+ .user-level
+ position: absolute
+ top: 73px
+ right: 86px
+ color: gold
+ text-shadow: 1px 1px black, -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black
+
+ .user-dropdown-body
+ color: black
+ padding: 15px
+ letter-spacing: 1px
+ font: 15px 'Helvetica Neue', Helvetica, Arial, sans-serif
+ +clearfix()
+
+ .user-dropdown-footer
+ padding: 10px
+ margin-left: 0px
+ font-size: 14px
+ +clearfix()
+
+ .btn-flat
+ border: #ddd 1px solid
+ border-radius: 0px
+ margin: 0px
+
+
+ //- Content
+
+ #site-content-area
+ background: rgb(240,229,199)
+ margin: 0 auto -20px
+ width: 1024px
+ border: 5px solid rgb(110,88,41)
+ padding: 20px 12px
+
+
+ //- Footer
+
+ #site-footer
+ width: 100%
+ height: 130px
+ position: relative
+ overflow: hidden
+
+ // Recycling the nav bar background as a rotated image
+ #footer-background
+ transform: rotate(180deg)
+ margin: 0 auto
+ display: block
+
+ #footer-links, #footer-credits
+ position: absolute
+ left: 0
+ right: 0
+ text-align: center
+
+ #footer-links
+ top: 20px
+ height: 45px
+ padding: 11px
+
+ a
+ color: rgb(158,135,119)
+ font-size: 18px
+ text-transform: uppercase
+ font-family: Open Sans Condensed
+ margin: 0 7px
+
+ &:hover
+ color: $white
+
+ .share-buttons
+ display: inline-block
+ position: relative
+ top: 3px
+ margin-left: 20px
+
+ .share-buttons, .partner-badges
+ padding-bottom: 10px
+ text-align: center
+ @include opacity(0.75)
+
+ &.fade-in
+ @include opacity(0)
+
+ &:hover, &:active
+ @include opacity(1)
+ @include transition(opacity .10s linear)
+
+ .github-star-button
+ margin-left: 20px
+
+ &>div
+ display: inline-block
+ vertical-align: top
+
+ #footer-credits
+ top: 79px
+ height: 50px
+ color: rgb(158,135,119)
+ font-size: 12px
+
+ > *
+ margin: 0 15px
+ width: 186px
+ display: inline-block
+
+ #footer-logo
+ width: 160px
+
+ & > span
+ position: relative
+ top: 8px
+
+ a
+ color: rgb(238,227,131)
\ No newline at end of file
diff --git a/app/styles/common/top_nav.sass b/app/styles/common/top_nav.sass
deleted file mode 100644
index 5457e9cf0..000000000
--- a/app/styles/common/top_nav.sass
+++ /dev/null
@@ -1,234 +0,0 @@
-@import "app/styles/bootstrap/variables"
-@import "app/styles/mixins"
-
-// This is still very blocky. Browser reflows? Investigate why.
-.open > .dropdown-menu
- animation-name: fadeAnimation
- animation-duration: .7s
- animation-iteration-count: 1
- animation-timing-function: ease
- animation-fill-mode: forwards
- -webkit-animation-name: fadeAnimation
- -webkit-animation-duration: .7s
- -webkit-animation-iteration-count: 1
- -webkit-animation-timing-function: ease
- -webkit-animation-fill-mode: backwards
- -moz-animation-name: fadeAnimation
- -moz-animation-duration: .7s
- -moz-animation-iteration-count: 1
- -moz-animation-timing-function: ease
- -moz-animation-fill-mode: forwards
-
-@keyframes fadeAnimation
- from
- opacity: 0
- top: 120%
- to
- opacity: 1
- top: 100%
-
-@-webkit-keyframes fadeAnimation
- from
- opacity: 0
- top: 120%
- to
- opacity: 1
- top: 100%
-
-a.disabled
- color: #5b5855
- text-decoration: none
- cursor: default
-
-#top-nav
- a.navbar-brand
- padding: 4px 20px 0px 20px
- margin-left: -20px
-
- .navbar-nav
- float: right
-
- .navbuttontext, .fancy-select .trigger
- font-size: 20px
- font-weight: 400
- letter-spacing: 1px
-
- .navbuttontext-account
- display: inline-block
- padding: 0 5px 0 0
- margin: 0 5px 0 0
- height: 18px
-
- .account-settings-image
- width: 18px
- height: 18px
- margin-right: 5px
-
- .glyphicon-user
- font-size: 16px
- margin-right: 5px
-
- .dropdown
- .dropdown-menu
- left: auto
- width: 280px
- padding: 0px
- border-radius: 0px
- font-family: Open Sans Condensed
- font-variant: small-caps
-
- > .user-dropdown-header
- position: relative
- background: #E4CF8C
- height: 160px
- padding: 10px
- text-align: center
- color: black
- border-bottom: #32281e 1px solid
- > a:hover
- background-color: transparent
- img
- border: #e3be7a 8px solid
- height: 98px // Includes the border
- &:hover
- box-shadow: 0 0 20px #e3be7a
- > h3
- margin-top: 10px
- text-shadow: 2px 2px 3px white
- color: #31281E
- .user-level
- position: absolute
- top: 73px
- right: 86px
- color: gold
- text-shadow: 1px 1px black, -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black
-
- .user-dropdown-body
- color: black
- padding: 15px
- letter-spacing: 1px
- font: 15px 'Helvetica Neue', Helvetica, Arial, sans-serif
- +clearfix()
-
- .user-dropdown-footer
- padding: 10px
- margin-left: 0px
- font-size: 14px
- +clearfix()
-
- .btn-flat
- border: #ddd 1px solid
- border-radius: 0px
- margin: 0px
-
- .nav.navbar-link-text > li > a
- font-weight: normal
- font-size: 25px
- letter-spacing: 2px
- color: $white
- &:hover
- color: #f8e413
-
- .navbar-link-text > li > a:hover
- background: darken($body-bg, 3%)
-
- .btn, .btn-group, .fancy-select
- margin-top: 13px
-
- .nav-tabs > .active > a, .nav-tabs > .active > a:hover, .nav-tabs > .active > a:focus
- background-color: #eee
-
- .nav-tabs > li
- cursor: pointer
-
- font-size: 25px
- a:not(.btn)
- line-height: 25px
-
- .btn
- font-size: 20px
- padding: 4px 12px
-
- .btn, .fancy-select
- float: right
- margin-left: 10px
- line-height: 20px
-
- select
- opacity: 0
-
- .fancy-select
- .trigger
- padding: 5px 25px 3px 10px
- width: auto
- &:after
- top: 13px
- max-width: 140px
-
- div.fancy-select
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)
- text-transform: none
-
- div.trigger
- background-color: #9d8f5a
- background-image: linear-gradient(to bottom, #a4955e, #948754)
- background-repeat: repeat-x
- border: 1px solid #cccccc
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25)
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05)
- color: white
- font-variant: small-caps
- &:after
- border-top-color: white
- &.open
- background-color: #8B7F51
- color: #ebebeb
- &:after
- border-top-color: #ebebeb
- ul.options
- max-height: 415px
- background-color: #9d8f5a
- right: 0
- left: auto
- overflow-x: hidden
- &.open
- top: 36px
- li
- color: #ebebeb
- padding: 8px 20px
-
- .navbar-toggle
- display: none
-
-@media only screen and (max-width: 768px)
- #top-nav
- display: inline
- button.navbar-toggle
- background: #483a2d
- border: 2px solid #2f261d
- display: inline-block
-
- span.icon-bar
- background: #F9E612
-
- a.navbar-brand
- padding: 4px 20px 0px 20px
- margin-left: 0
-
- .navbar-nav
- float: none
- margin: 0 0 20px 0
- overflow: visible
-
- .dropdown-menu
- background-color: white
- position: absolute
-
- .btn, .fancy-select
- margin-bottom: 10px
-
- .btn, .fancy-select
- float: none
-
- .fancy-select .options
- right: auto
diff --git a/app/styles/home.sass b/app/styles/home.sass
index 7584a4eab..6e63b47d8 100644
--- a/app/styles/home.sass
+++ b/app/styles/home.sass
@@ -3,87 +3,56 @@
#home-view
- h1
+ #spacer
+ height: 750px
+
+ #play-button, #or-ipad, #apple-store-button, #slogan, .alert
text-align: center
- margin-top: 0
-
- .game-mode-wrapper
- position: relative
- margin-bottom: 60px
-
- img
- display: block
- margin: 0 auto
- @include transition(box-shadow .50s ease-in-out)
- border-radius: 11px
-
- text-shadow: 2px 2px 5px black
-
- h3
- color: $yellow
- position: absolute
- top: 10px
- left: 40px
- font-size: 70px
- margin-top: 0
-
- h4
- color: #e8d9c5
- position: absolute
- top: 75px
- left: 140px
- font-size: 30px
- margin-top: 0
-
- .play-text
- position: absolute
- right: 45px
- bottom: -25px
- color: $yellow
- font-size: 90px
- font-family: Open Sans Condensed
- font-variant: small-caps
- @include transition(color .25s ease-in-out)
-
- &:hover div, &.hovered div
- color: lighten($yellow, 20%)
- &:hover img, &.hovered img
- filter: brightness(1.2)
- -webkit-filter: brightness(1.2)
- box-shadow: 0 0 15px black
-
- .code-language-logo
- background-color: transparent
- background-repeat: no-repeat
- position: absolute
- right: 35px
- top: 15px
- width: 50px
- height: 50px
-
- &.inverted
- filter: invert(100%)
- -webkit-filter: invert(100%)
+ text-transform: uppercase
+ font-weight: bold
+ position: absolute
+ margin-right: auto
+ margin-left: auto
+ left: 0
+ right: 0
+ font-weight: bold
-@media only screen and (max-width: 768px)
- #home-view
- #site-slogan
- font-size: 30px
- margin-bottom: 30px
- .game-mode-wrapper
- width: 100%
- img
- width: 100%
- .play-text
- position: absolute
- right: 15px
- bottom: -15px
- color: $yellow
- font-size: 50px
- font-family: Open Sans Condensed
- font-variant: small-caps
- @include transition(color .10s linear)
-
- h1
+ #play-button
text-align: center
- margin-top: 0
+ padding-top: 170px
+ font-size: 50px
+ color: rgb(255,253,149)
+ text-shadow: 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black
+ top: 308px
+ width: 218px
+ height: 219px
+ background-image: url(/images/pages/home/play_button.png)
+ background-position: 0 219px
+
+ &:hover
+ background-position: 0 0
+ color: rgb(230,180,75)
+ text-decoration: none
+
+ #or-ipad
+ top: 540px
+ color: rgb(119,101,84)
+ font-size: 17px
+ max-width: 211px
+
+ #apple-store-button
+ top: 593px
+ height: 63px
+
+ #slogan
+ top: 681px
+ height: 132px
+ width: 276px
+ padding: 15px
+ font-size: 28px
+ line-height: 32px
+ color: rgb(50,40,31)
+
+ .alert
+ top: 213px
+ border: 5px solid darkred
\ No newline at end of file
diff --git a/app/styles/user/user_home.sass b/app/styles/user/user_home.sass
index 955294d69..8e80ca8fc 100644
--- a/app/styles/user/user_home.sass
+++ b/app/styles/user/user_home.sass
@@ -2,8 +2,6 @@
@import "app/styles/bootstrap/variables"
#user-home
- margin-top: 20px
-
.left-column
+make-sm-column(4)
diff --git a/app/templates/base.jade b/app/templates/base.jade
index 9bf6b1350..ac6b2360c 100644
--- a/app/templates/base.jade
+++ b/app/templates/base.jade
@@ -1,81 +1,67 @@
-body
- #fb-root
- block header
- .nav.navbar.navbar-fixed-top#top-nav
- .content.clearfix
- .navbar-header
- button.navbar-toggle(type="button" data-toggle="collapse" data-target=".navbar-nav.collapse")
- span.sr-only Toggle navigation
- span.icon-bar
- span.icon-bar
- span.icon-bar
+#site-nav
+ img#nav-logo(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat")
+ div#site-nav-links
+ a(href="/")
+ span.glyphicon.glyphicon-home
+ a(href="/about", data-i18n="nav.about")
+ a(href='/play/ladder', data-i18n="home.multiplayer")
+ a(href='/community', data-i18n="nav.community")
+ a(href='http://blog.codecombat.com/', data-i18n="nav.blog")
+ a(href='http://discourse.codecombat.com/', data-i18n="nav.forum")
- a.navbar-brand(href='/')
- img(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat")
-
- ul(class='navbar-link-text').nav.navbar-nav.navbar-collapse.collapse
- if me.get('anonymous') === false
- li.dropdown
- button.btn.btn-primary.navbuttontext.header-font.dropdown-toggle(href="#", data-toggle="dropdown")
- if me.get('photoURL')
- img.account-settings-image(src=me.getPhotoURL(18), alt="")
- else
- i.glyphicon.glyphicon-user
- .navbuttontext-account(data-i18n="nav.account" href="/account") Account
- span.caret
- ul.dropdown-menu(role="menu")
- li.user-dropdown-header
- span.user-level= me.level()
- a(href="/user/#{me.getSlugOrID()}")
- img.img-circle(src="#{me.getPhotoURL()}" alt="")
- h3=me.displayName()
- li.user-dropdown-body
- .col-xs-4.text-center
- a(href="/user/#{me.getSlugOrID()}" data-i18n="nav.profile") Profile
- .col-xs-4.text-center
- a(href="/user/#{me.getSlugOrID()}/stats" data-i18n="nav.stats") Stats
- .col-xs-4.text-center
- a.disabled(data-i18n="nav.code") Code
- li.user-dropdown-footer
- .pull-left
- a.btn.btn-default.btn-flat(href="/account" data-i18n="nav.account") Account
- .pull-right
- button#logout-button.btn.btn-default.btn-flat(data-i18n="login.log_out") Log Out
+ if me.get('anonymous') === false
+ span.dropdown
+ button.btn.btn-sm.header-font.dropdown-toggle(href="#", data-toggle="dropdown")
+ if me.get('photoURL')
+ img.account-settings-image(src=me.getPhotoURL(18), alt="")
else
- li
- button.btn.btn-primary.navbuttontext.header-font.auth-button
- span(data-i18n="login.log_in") Log In
- span.spr.spl /
- span(data-i18n="login.sign_up") Create Account
- li
- select.language-dropdown
+ i.glyphicon.glyphicon-user
+ span.spl.spr(data-i18n="nav.account" href="/account") Account
+ span.caret
+ ul.dropdown-menu(role="menu")
+ li.user-dropdown-header
+ span.user-level= me.level()
+ a(href="/user/#{me.getSlugOrID()}")
+ img.img-circle(src="#{me.getPhotoURL()}" alt="")
+ h3=me.displayName()
+ li.user-dropdown-body
+ .col-xs-4.text-center
+ a(href="/user/#{me.getSlugOrID()}" data-i18n="nav.profile") Profile
+ .col-xs-4.text-center
+ a(href="/user/#{me.getSlugOrID()}/stats" data-i18n="nav.stats") Stats
+ .col-xs-4.text-center
+ a.disabled(data-i18n="nav.code") Code
+ li.user-dropdown-footer
+ .pull-left
+ a.btn.btn-default.btn-flat(href="/account" data-i18n="nav.account") Account
+ .pull-right
+ button#logout-button.btn.btn-default.btn-flat(data-i18n="login.log_out") Log Out
- block outer_content
- #outer-content-wrapper(class=showBackground ? 'show-background' : '')
- #intermediate-content-wrapper
- #inner-content-wrapper
- .main-content-area
- block content
- p If this is showing, you dun goofed
- .achievement-corner
+ else
+ button.btn.btn-sm.btn-primary.header-font.signup-button(data-i18n="login.sign_up")
+ button.btn.btn-sm.btn-default.header-font.login-button(data-i18n="login.log_in")
+ select.language-dropdown.form-control
+
+
+block outer_content
+ #site-content-area
+ block content
+ p If this is showing, you dun goofed
+ .achievement-corner
+
+
+block footer
+ #site-footer
+ img#footer-background(src="/images/pages/base/nav_background.png")
+
+ #footer-links
+ a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
+ a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal
+ a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
+ a(href='/teachers', data-i18n="nav.teachers") Teachers
+ if me.isAdmin()
+ a(href='/admin', data-i18n="nav.admin") Admin
- block footer
- .footer.clearfix
- .content
- p.footer-link-text
- a(href='/', tabindex=-1, data-i18n="nav.home") Home
- a(href='/play/ladder', tabindex=-1, data-i18n="home.multiplayer") Multiplayer
- a(href='/community', tabindex=-1, data-i18n="nav.community") Community
- a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
- a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal
- a(href='/about', tabindex=-1, data-i18n="nav.about") About
- a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
- a(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog
- a(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum
- a(href='/teachers', data-i18n="nav.teachers") Teachers
- if me.isAdmin()
- a(href='/admin', data-i18n="nav.admin") Admin
-
if usesSocialMedia
.share-buttons
if !isIE
@@ -84,9 +70,18 @@ body
if !isIE
a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow
iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20")
-
- .partner-badges
- a.mixpanel-badge(href="https://mixpanel.com/f/partner")
- img(src="//cdn.mxpnl.com/site_media/images/partner/badge_light.png", alt="Mobile Analytics")
- a.firebase-bade(href="https://www.firebase.com/")
- img(src="/images/pages/base/firebase.png", alt="Powered by Firebase")
+
+ #footer-credits
+ a.mixpanel-badge(href="https://mixpanel.com/f/partner")
+ img(src="//cdn.mxpnl.com/site_media/images/partner/badge_light.png", alt="Mobile Analytics")
+ span
+ span © All Rights Reserved
+ br
+ span CodeCombat 2014
+ img#footer-logo(src="/images/pages/base/logo.png", alt="CodeCombat")
+ span
+ span Site Design by
+ br
+ a(href="http://www.fullyillustrated.com/") Fully Illustrated
+ a.firebase-bade(href="https://www.firebase.com/")
+ img(src="/images/pages/base/firebase.png", alt="Powered by Firebase")
diff --git a/app/templates/home.jade b/app/templates/home.jade
index 119032578..bc0ce1c28 100644
--- a/app/templates/home.jade
+++ b/app/templates/home.jade
@@ -1,12 +1,19 @@
extends /templates/base
-block content
+block outer_content
+ #spacer
+
+ a#play-button(href="/play", data-i18n="common.play")
- h1#site-slogan(data-i18n="home.slogan") Learn to Code by Playing a Game
+ #or-ipad(data-i18n="home.or_ipad")
+
+ img(src="/images/pages/home/app_store_badge.svg")#apple-store-button
+
+ #slogan(data-i18n="home.slogan")
.alert.alert-danger.lt-ie9
strong(data-i18n="home.no_ie") CodeCombat does not run in Internet Explorer 8 or older. Sorry!
-
+
if isMobile
.alert.alert-danger.mobile
strong(data-i18n="home.no_mobile") CodeCombat wasn't designed for mobile devices and may not work!
@@ -15,12 +22,4 @@ block content
strong(data-i18n="home.old_browser") Uh oh, your browser is too old to run CodeCombat. Sorry!
br
span(data-i18n="home.old_browser_suffix") You can try anyway, but it probably won't work.
-
- a#beginner-campaign(href="/play")
- div.game-mode-wrapper
- img(src="/images/pages/home/play_img.png").img-rounded
- h3(data-i18n="home.campaign") Campaign
- h4(data-i18n="home.for_beginners") For Beginners
- .play-text(data-i18n="home.play") Play
-
- .clearfix
+
\ No newline at end of file
diff --git a/app/templates/play/ladder_home.jade b/app/templates/play/ladder_home.jade
index a496919b8..4a12d7683 100644
--- a/app/templates/play/ladder_home.jade
+++ b/app/templates/play/ladder_home.jade
@@ -13,7 +13,7 @@ block content
if level.image
img.level-image(src="#{level.image}", alt="#{level.name}").img-rounded
else
- img.level-image(src="/images/pages/home/multiplayer_notext.jpg", alt="#{level.name}").img-rounded
+ img.level-image(src="/images/pages/play/ladder/multiplayer_notext.jpg", alt="#{level.name}").img-rounded
//h3= level.name + (level.disabled ? " (Coming soon!)" : "")
.overlay-text.level-difficulty
span(data-i18n="play.level_difficulty") Difficulty:
diff --git a/app/views/HomeView.coffee b/app/views/HomeView.coffee
index 7bc31c09e..e0997b7c8 100644
--- a/app/views/HomeView.coffee
+++ b/app/views/HomeView.coffee
@@ -11,7 +11,7 @@ module.exports = class HomeView extends RootView
template: template
events:
- 'click #beginner-campaign': 'onClickBeginnerCampaign'
+ 'click #play-button': 'onClickBeginnerCampaign'
constructor: ->
super()
diff --git a/app/views/admin/BaseView.coffee b/app/views/admin/BaseView.coffee
index ca58690c0..d70ca3a29 100644
--- a/app/views/admin/BaseView.coffee
+++ b/app/views/admin/BaseView.coffee
@@ -4,3 +4,4 @@ template = require 'templates/base'
module.exports = class BaseView extends RootView
id: 'base-view'
template: template
+ usesSocialMedia: true
diff --git a/app/views/kinds/RootView.coffee b/app/views/kinds/RootView.coffee
index 48f24b938..4e69f0146 100644
--- a/app/views/kinds/RootView.coffee
+++ b/app/views/kinds/RootView.coffee
@@ -25,7 +25,8 @@ module.exports = class RootView extends CocoView
'click #logout-button': 'logoutAccount'
'change .language-dropdown': 'onLanguageChanged'
'click .toggle-fullscreen': 'toggleFullscreen'
- 'click .auth-button': 'onClickAuthButton'
+ 'click .signup-button': 'onClickSignupButton'
+ 'click .login-button': 'onClickLoginButton'
'click a': 'onClickAnchor'
'click button': 'toggleModal'
'click li': 'toggleModal'
@@ -54,11 +55,16 @@ module.exports = class RootView extends CocoView
subview = new WizardSettingsModal {}
@openModalView subview
- onClickAuthButton: ->
+ onClickSignupButton: ->
AuthModal = require 'views/modal/AuthModal'
- window.tracker?.trackEvent 'Homepage', Action: 'Auth Modal' if @id is 'home-view'
- @openModalView new AuthModal {}
-
+ window.tracker?.trackEvent 'Homepage', Action: 'Signup Modal' if @id is 'home-view'
+ @openModalView new AuthModal {mode: 'signup'}
+
+ onClickLoginButton: ->
+ AuthModal = require 'views/modal/AuthModal'
+ window.tracker?.trackEvent 'Homepage', Action: 'Login Modal' if @id is 'home-view'
+ @openModalView new AuthModal {mode: 'login'}
+
onClickAnchor: (e) ->
return if @destroyed
anchorText = e?.currentTarget?.text
@@ -84,11 +90,15 @@ module.exports = class RootView extends CocoView
getRenderData: ->
c = super()
- c.showBackground = @showBackground
c.usesSocialMedia = @usesSocialMedia
c
afterRender: ->
+ if @$el.find('#site-nav').length # hack...
+ @$el.addClass('site-chrome')
+ if @showBackground
+ @$el.addClass('show-background')
+
super(arguments...)
@chooseTab(location.hash.replace('#', '')) if location.hash
@buildLanguages()
@@ -110,12 +120,8 @@ module.exports = class RootView extends CocoView
buildLanguages: ->
$select = @$el.find('.language-dropdown').empty()
- if $select.hasClass('fancified')
- $select.parent().find('.options, .trigger').remove()
- $select.unwrap().removeClass('fancified')
preferred = me.get('preferredLanguage', true)
@addLanguagesToSelect($select, preferred)
- $select.fancySelect().parent().find('.trigger').addClass('header-font')
$('body').attr('lang', preferred)
addLanguagesToSelect: ($select, initialVal) ->
diff --git a/app/views/modal/AuthModal.coffee b/app/views/modal/AuthModal.coffee
index 6027b8a86..5f55f7e3d 100644
--- a/app/views/modal/AuthModal.coffee
+++ b/app/views/modal/AuthModal.coffee
@@ -27,6 +27,7 @@ module.exports = class AuthModal extends ModalView
constructor: (options) ->
@onNameChange = _.debounce @checkNameExists, 500
super options
+ @mode = options.mode if options.mode
getRenderData: ->
c = super()