diff --git a/website/client/js/app.js b/website/client/js/app.js index 672ef32f09..bcd0da6cc6 100644 --- a/website/client/js/app.js +++ b/website/client/js/app.js @@ -26,6 +26,7 @@ window.habitrpg = angular.module('habitrpg', .constant("STORAGE_USER_ID", 'habitrpg-user') .constant("STORAGE_SETTINGS_ID", 'habit-mobile-settings') .constant("MOBILE_APP", false) + .constant("TAVERN_ID", '00000000-0000-4000-A000-000000000000') //.constant("STORAGE_GROUPS_ID", "") // if we decide to take groups offline .config(['$stateProvider', '$urlRouterProvider', '$httpProvider', 'STORAGE_SETTINGS_ID', diff --git a/website/client/js/controllers/challengesCtrl.js b/website/client/js/controllers/challengesCtrl.js index 9a0fae322d..aa36cb32a8 100644 --- a/website/client/js/controllers/challengesCtrl.js +++ b/website/client/js/controllers/challengesCtrl.js @@ -1,5 +1,5 @@ -habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', 'Challenges', 'Notification', '$compile', 'Groups', '$state', '$stateParams', 'Members', 'Tasks', - function($rootScope, $scope, Shared, User, Challenges, Notification, $compile, Groups, $state, $stateParams, Members, Tasks) { +habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', 'Challenges', 'Notification', '$compile', 'Groups', '$state', '$stateParams', 'Members', 'Tasks', 'TAVERN_ID', + function($rootScope, $scope, Shared, User, Challenges, Notification, $compile, Groups, $state, $stateParams, Members, Tasks, TAVERN_ID) { // Use presence of cid to determine whether to show a list or a single // challenge @@ -58,7 +58,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', } } - if(!defaultGroup) defaultGroup = 'habitrpg'; + if(!defaultGroup) defaultGroup = TAVERN_ID; $scope.obj = $scope.newChallenge = { name: '', @@ -181,7 +181,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', $scope["delete"] = function(challenge) { var warningMsg; - if(challenge.group._id == 'habitrpg') { + if(challenge.group._id == TAVERN_ID) { warningMsg = window.env.t('sureDelChaTavern'); } else { warningMsg = window.env.t('sureDelCha'); @@ -356,7 +356,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', _calculateMaxPrize(gid); - if (gid == 'habitrpg') { + if (gid == TAVERN_ID) { $scope.newChallenge.prize = 1; } }) @@ -379,7 +379,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', $scope.insufficientGemsForTavernChallenge = function() { var balance = User.user.balance || 0; - var isForTavern = $scope.newChallenge.group == 'habitrpg'; + var isForTavern = $scope.newChallenge.group == TAVERN_ID; if (isForTavern) { return balance <= 0; @@ -403,7 +403,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', }; $scope.filterInitialChallenges = function() { - $scope.groupsFilter = _.uniq(_.pluck($scope.challenges, 'group'), function(g) {return g._id}); + $scope.groupsFilter = _.uniq(_.compact(_.pluck($scope.challenges, 'group')), function(g) {return g._id}); $scope.search = { group: _.transform($scope.groups, function(m,g) { m[g._id] = true;}), @@ -442,7 +442,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', // case where a challenge's leader deletes their account var userIsOwner = (chal.leader && chal.leader._id) === User.user.id; - var groupSelected = $scope.search.group[chal.group._id]; + var groupSelected = $scope.search.group[chal.group ? chal.group._id : null]; var checkOwner = $scope.search._isOwner === 'either' || (userIsOwner === $scope.search._isOwner); var checkMember = $scope.search._isMember === 'either' || ($scope.isUserMemberOf(chal) === $scope.search._isMember); diff --git a/website/client/js/controllers/rootCtrl.js b/website/client/js/controllers/rootCtrl.js index 1cd06e865d..91fda45691 100644 --- a/website/client/js/controllers/rootCtrl.js +++ b/website/client/js/controllers/rootCtrl.js @@ -3,8 +3,8 @@ /* Make user and settings available for everyone through root scope. */ -habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$http', '$state', '$stateParams', 'Notification', 'Groups', 'Shared', 'Content', '$modal', '$timeout', 'ApiUrl', 'Payments','$sce','$window','Analytics', - function($scope, $rootScope, $location, User, $http, $state, $stateParams, Notification, Groups, Shared, Content, $modal, $timeout, ApiUrl, Payments, $sce, $window, Analytics) { +habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$http', '$state', '$stateParams', 'Notification', 'Groups', 'Shared', 'Content', '$modal', '$timeout', 'ApiUrl', 'Payments','$sce','$window','Analytics','TAVERN_ID', + function($scope, $rootScope, $location, User, $http, $state, $stateParams, Notification, Groups, Shared, Content, $modal, $timeout, ApiUrl, Payments, $sce, $window, Analytics, TAVERN_ID) { var user = User.user; var initSticky = _.once(function(){ @@ -25,6 +25,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$ } }); + $rootScope.TAVERN_ID = TAVERN_ID; $rootScope.User = User; $rootScope.user = user; $rootScope.moment = window.moment; diff --git a/website/views/options/social/challenges.jade b/website/views/options/social/challenges.jade index ad95a7c992..3557f78325 100644 --- a/website/views/options/social/challenges.jade +++ b/website/views/options/social/challenges.jade @@ -160,12 +160,12 @@ script(type='text/ng-template', id='partials/options.social.challenges.html') .Pet_Currency_Gem1x input.form-control(type='number', placeholder=env.t('prize'), ng-disabled='insufficientGemsForTavernChallenge()' - min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", + min="{{newChallenge.group==TAVERN_ID ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize') - a.hint(popover="{{newChallenge.group=='habitrpg' ? env.t('prizePopTavern') : env.t('prizePop')}}", + a.hint(popover="{{newChallenge.group==TAVERN_ID ? env.t('prizePopTavern') : env.t('prizePop')}}", popover-trigger='mouseenter', popover-placement='right') =env.t('moreInfo') - div(ng-show='newChallenge.group=="habitrpg"') + div(ng-show='newChallenge.group==TAVERN_ID') !=env.t('publicChallenges') .form-group(ng-if='user.contributor.admin') diff --git a/website/views/options/social/chat-box.jade b/website/views/options/social/chat-box.jade index 74fc071dfe..3792070706 100644 --- a/website/views/options/social/chat-box.jade +++ b/website/views/options/social/chat-box.jade @@ -8,7 +8,7 @@ div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAcce form.chat-form(ng-if='user.flags.communityGuidelinesAccepted' ng-submit='postChat(group,message.content)') div(ng-controller='AutocompleteCtrl') - textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == 'habitrpg' ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}", ng-disabled='_sending == true') + textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == TAVERN_ID ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}", ng-disabled='_sending == true') span.user-list ul.list-at-user(ng-show="query") li(ng-repeat='msg in response | filter:filterUser | limitTo: 5', ng-click='performCompletion(msg)')