diff --git a/app/styles/home.sass b/app/styles/home.sass index b03fa5097..2e0d77fdd 100644 --- a/app/styles/home.sass +++ b/app/styles/home.sass @@ -81,7 +81,7 @@ text-shadow: none .code-wizard - display: none + opacity: 0.5 .code-language cursor: pointer @@ -97,6 +97,7 @@ .code-wizard display: block + opacity: 1 &.selected-language opacity: 1 diff --git a/app/templates/home.jade b/app/templates/home.jade index 8be32e95d..d854013fc 100644 --- a/app/templates/home.jade +++ b/app/templates/home.jade @@ -7,7 +7,7 @@ block content .code-languages .primary-code-languages.row .col-md-6 - .code-language.selected-language#javascript(data-code-language='javascript') + .code-language#javascript(data-code-language='javascript') .code-wizard h2 JavaScript p The language of the web. Great for writing websites, web apps, HTML5 games, and servers. diff --git a/app/views/home_view.coffee b/app/views/home_view.coffee index ef36bac52..a117d9469 100644 --- a/app/views/home_view.coffee +++ b/app/views/home_view.coffee @@ -10,6 +10,9 @@ module.exports = class HomeView extends View id: 'home-view' template: template + events: + 'click .code-language': 'onCodeLanguageSelected' + constructor: -> super(arguments...) ThangType.loadUniversalWizard() @@ -25,6 +28,7 @@ module.exports = class HomeView extends View console.warn 'no more jquery browser version...' c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en' c.languageName = me.get('preferredLanguage') + c.codeLanguage = (me.get('aceConfig') ? {}).language or 'javascript' c afterRender: -> @@ -42,3 +46,17 @@ module.exports = class HomeView extends View href[href.length-1] = lastLevel if href.length isnt 0 href = href.join("/") playLink.attr("href", href) + + codeLanguage = (me.get('aceConfig') ? {}).language or 'javascript' + @$el.find(".code-language[data-code-language=#{codeLanguage}]").addClass 'selected-language' + + onCodeLanguageSelected: (e) -> + target = $(e.target).closest('.code-language') + codeLanguage = target.data('code-language') + @$el.find('.code-language').removeClass 'selected-language' + target.addClass 'selected-language' + aceConfig = me.get('aceConfig') ? {} + return if (aceConfig.language or 'javascript') is codeLanguage + aceConfig.language = codeLanguage + me.set 'aceConfig', aceConfig + me.save() # me.patch() doesn't work if aceConfig previously existed and we switched just once