#2008 add option to disable sticky header

This commit is contained in:
Tyler Renelle
2013-12-17 14:04:33 -07:00
parent 3b02717271
commit ceea1b5909
4 changed files with 23 additions and 9 deletions

View File

@@ -8,7 +8,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
var user = User.user;
var initSticky = _.once(function(){
if (window.env.IS_MOBILE) return;
if (window.env.IS_MOBILE || User.user.preferences.stickyHeader === false) return;
$('.header-wrap').sticky({topSpacing:0});
})
$rootScope.$on('userUpdated',initSticky);

View File

@@ -2,8 +2,8 @@
// Make user and settings available for everyone through root scope.
habitrpg.controller('SettingsCtrl',
['$scope', 'User', '$rootScope', '$http', 'API_URL', 'Guide', '$location',
function($scope, User, $rootScope, $http, API_URL, Guide, $location) {
['$scope', 'User', '$rootScope', '$http', 'API_URL', 'Guide', '$location', '$timeout',
function($scope, User, $rootScope, $http, API_URL, Guide, $location, $timeout) {
// FIXME we have this re-declared everywhere, figure which is the canonical version and delete the rest
// $scope.auth = function (id, token) {
@@ -15,6 +15,11 @@ habitrpg.controller('SettingsCtrl',
// });
// }
$scope.toggleStickyHeader = function(){
User.set({"preferences.stickyHeader":!User.user.preferences.stickyHeader});
$timeout(function(){window.location.reload()});
}
$scope.showTour = function(){
User.set({'flags.showTour':true});
Guide.initTour();

View File

@@ -216,7 +216,8 @@ var UserSchema = new Schema({
language: String,
automaticAllocation: Boolean,
costume: Boolean,
sleep: {type: Boolean, 'default': false}
sleep: {type: Boolean, 'default': false},
stickyHeader: {type: Boolean, 'default': true}
},
profile: {
blurb: String,

View File

@@ -30,11 +30,19 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()')
hr
h4 Misc
button.btn(ng-hide='user.preferences.hideHeader', ng-click='set({"preferences.hideHeader":true})', popover-trigger='mouseenter', popover-placement='right', popover='Hide your avatar, Health/Experience bars, and party.') Hide Header
button.btn(ng-show='user.preferences.hideHeader', ng-click='set({"preferences.hideHeader":false})', popover-trigger='mouseenter', popover='Display your avatar, Health/Experience bars, and party.') Show Header
button.btn(ng-click='showTour()', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') Show Tour
button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey
button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover='Manually change values like Health, Level, and Gold.') Fix Character Values
label.checkbox
input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true')
| Show Header
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='Show your avatar, Health/Experience bars, and party.')
label.checkbox
input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false')
| Sticky Header
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='Affix the header to the top of the screen. Unchecked means it scrolls out of view.')
button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') Show Tour
br
button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey
br
button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover='Manually change values like Health, Level, and Gold.') Fix Character Values
div(ng-show='user.auth.local')
hr