Fix for Issue #3517 Display Current Page Name

Revision for Fix for issue #3517

lint: Remove extraneous white space in app.js file

fix: Correct attribute from pageTitle to title in $state interface
This commit is contained in:
Paul Rich
2015-12-17 16:12:25 -05:00
committed by Blade Barringer
parent 7ef4fab289
commit 56a00efb19
4 changed files with 85 additions and 29 deletions

View File

@@ -3,6 +3,28 @@
"stringNotFound": "String '<%= string %>' not found.",
"titleIndex": "Habitica | Your Life The Role Playing Game",
"habitica": "Habitica",
"titleTasks": "Tasks",
"titleAvatar": "Avatar",
"titleBackgrounds": "Backgrounds",
"titleStats": "Stats & Achievements",
"titleProfile": "Profile",
"titleInbox": "Inbox",
"titleTavern": "Tavern",
"titleParty": "Party",
"titleHeroes": "Hall of Heroes",
"titlePatrons": "Hall of Patrons",
"titleGuilds": "Guilds",
"titleChallenges": "Challenges",
"titleDrops": "Market",
"titleQuests": "Quests",
"titlePets": "Pets",
"titleMounts": "Mounts",
"titleEquipment": "Equipment",
"titleTimeTravelers": "Time Travelers",
"titleSeasonalShop": "Seasonal Shop",
"titleSettings": "Settings",
"expandToolbar": "Expand Toolbar",
"collapseToolbar": "Collapse Toolbar",
"markdownBlurb": "Habitica uses markdown for message formatting. See the <a href='http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet' target='_blank'>Markdown Cheat Sheet</a> for more info.",

View File

@@ -49,7 +49,8 @@ window.habitrpg = angular.module('habitrpg',
// Tasks
.state('tasks', {
url: "/tasks",
templateUrl: "partials/main.html"
templateUrl: "partials/main.html",
title: env.t('titleTasks')
})
// Options
@@ -67,19 +68,23 @@ window.habitrpg = angular.module('habitrpg',
})
.state('options.profile.avatar', {
url: "/avatar",
templateUrl: "partials/options.profile.avatar.html"
templateUrl: "partials/options.profile.avatar.html",
title: env.t('titleAvatar')
})
.state('options.profile.backgrounds', {
url: '/backgrounds',
templateUrl: "partials/options.profile.backgrounds.html"
templateUrl: "partials/options.profile.backgrounds.html",
title: env.t('titleBackgrounds')
})
.state('options.profile.stats', {
url: "/stats",
templateUrl: "partials/options.profile.stats.html"
templateUrl: "partials/options.profile.stats.html",
title: env.t('titleStats')
})
.state('options.profile.profile', {
url: "/profile",
templateUrl: "partials/options.profile.profile.html"
templateUrl: "partials/options.profile.profile.html",
title: env.t('titleProfile')
})
// Options > Groups
@@ -90,19 +95,22 @@ window.habitrpg = angular.module('habitrpg',
.state('options.social.inbox', {
url: "/inbox",
templateUrl: "partials/options.social.inbox.html"
templateUrl: "partials/options.social.inbox.html",
title: env.t('titleInbox')
})
.state('options.social.tavern', {
url: "/tavern",
templateUrl: "partials/options.social.tavern.html",
controller: 'TavernCtrl'
controller: 'TavernCtrl',
title: env.t('titleTavern')
})
.state('options.social.party', {
url: '/party',
templateUrl: "partials/options.social.party.html",
controller: 'PartyCtrl'
controller: 'PartyCtrl',
title: env.t('titleParty')
})
.state('options.social.hall', {
@@ -112,30 +120,36 @@ window.habitrpg = angular.module('habitrpg',
.state('options.social.hall.heroes', {
url: '/heroes',
templateUrl: "partials/options.social.hall.heroes.html",
controller: 'HallHeroesCtrl'
controller: 'HallHeroesCtrl',
title: env.t('titleHeroes')
})
.state('options.social.hall.patrons', {
url: '/patrons',
templateUrl: "partials/options.social.hall.patrons.html",
controller: 'HallPatronsCtrl'
controller: 'HallPatronsCtrl',
title: env.t('titlePatrons')
})
.state('options.social.guilds', {
url: '/guilds',
templateUrl: "partials/options.social.guilds.html",
controller: 'GuildsCtrl'
controller: 'GuildsCtrl',
title: env.t('titleGuilds')
})
.state('options.social.guilds.public', {
url: '/public',
templateUrl: "partials/options.social.guilds.public.html"
templateUrl: "partials/options.social.guilds.public.html",
title: env.t('titleGuilds')
})
.state('options.social.guilds.create', {
url: '/create',
templateUrl: "partials/options.social.guilds.create.html"
templateUrl: "partials/options.social.guilds.create.html",
title: env.t('titleGuilds')
})
.state('options.social.guilds.detail', {
url: '/:gid',
templateUrl: 'partials/options.social.guilds.detail.html',
title: env.t('titleGuilds'),
controller: ['$scope', 'Groups', 'Chat', '$stateParams',
function($scope, Groups, Chat, $stateParams){
Groups.Group.get({gid:$stateParams.gid}, function(group){
@@ -150,11 +164,13 @@ window.habitrpg = angular.module('habitrpg',
url: "/challenges",
params: { groupIdFilter: null },
controller: 'ChallengesCtrl',
templateUrl: "partials/options.social.challenges.html"
templateUrl: "partials/options.social.challenges.html",
title: env.t('titleChallenges')
})
.state('options.social.challenges.detail', {
url: '/:cid',
templateUrl: 'partials/options.social.challenges.detail.html',
title: env.t('titleChallenges'),
controller: ['$scope', 'Challenges', '$stateParams',
function($scope, Challenges, $stateParams){
$scope.obj = $scope.challenge = Challenges.Challenge.get({cid:$stateParams.cid}, function(){
@@ -165,6 +181,7 @@ window.habitrpg = angular.module('habitrpg',
.state('options.social.challenges.edit', {
url: '/:cid/edit',
templateUrl: 'partials/options.social.challenges.detail.html',
title: env.t('titleChallenges'),
controller: ['$scope', 'Challenges', '$stateParams',
function($scope, Challenges, $stateParams){
$scope.obj = $scope.challenge = Challenges.Challenge.get({cid:$stateParams.cid}, function(){
@@ -175,6 +192,7 @@ window.habitrpg = angular.module('habitrpg',
.state('options.social.challenges.detail.member', {
url: '/:uid',
templateUrl: 'partials/options.social.challenges.detail.member.html',
title: env.t('titleChallenges'),
controller: ['$scope', 'Challenges', '$stateParams',
function($scope, Challenges, $stateParams){
$scope.obj = Challenges.Challenge.getMember({cid:$stateParams.cid, uid:$stateParams.uid}, function(){
@@ -191,62 +209,75 @@ window.habitrpg = angular.module('habitrpg',
})
.state('options.inventory.drops', {
url: '/drops',
templateUrl: "partials/options.inventory.drops.html"
templateUrl: "partials/options.inventory.drops.html",
title: env.t('titleDrops')
})
.state('options.inventory.quests', {
url: '/quests',
templateUrl: "partials/options.inventory.quests.html"
templateUrl: "partials/options.inventory.quests.html",
title: env.t('titleQuests')
})
.state('options.inventory.pets', {
url: '/pets',
templateUrl: "partials/options.inventory.pets.html"
templateUrl: "partials/options.inventory.pets.html",
title: env.t('titlePets')
})
.state('options.inventory.mounts', {
url: '/mounts',
templateUrl: "partials/options.inventory.mounts.html"
templateUrl: "partials/options.inventory.mounts.html",
title: env.t('titleMounts')
})
.state('options.inventory.equipment', {
url: '/equipment',
templateUrl: "partials/options.inventory.equipment.html"
templateUrl: "partials/options.inventory.equipment.html",
title: env.t('titleEquipment')
})
.state('options.inventory.timetravelers', {
url: '/timetravelers',
templateUrl: "partials/options.inventory.timetravelers.html"
templateUrl: "partials/options.inventory.timetravelers.html",
title: env.t('titleTimeTravelers')
})
.state('options.inventory.seasonalshop', {
url: '/seasonalshop',
templateUrl: "partials/options.inventory.seasonalshop.html"
templateUrl: "partials/options.inventory.seasonalshop.html",
title: env.t('titleSeasonalShop')
})
// Options > Settings
.state('options.settings', {
url: "/settings",
controller: 'SettingsCtrl',
templateUrl: "partials/options.settings.html"
templateUrl: "partials/options.settings.html",
})
.state('options.settings.settings', {
url: "/settings",
templateUrl: "partials/options.settings.settings.html"
templateUrl: "partials/options.settings.settings.html",
title: env.t('titleSettings')
})
.state('options.settings.api', {
url: "/api",
templateUrl: "partials/options.settings.api.html"
templateUrl: "partials/options.settings.api.html",
title: env.t('titleSettings')
})
.state('options.settings.export', {
url: "/export",
templateUrl: "partials/options.settings.export.html"
templateUrl: "partials/options.settings.export.html",
title: env.t('titleSettings')
})
.state('options.settings.promo', {
url: "/promo",
templateUrl: "partials/options.settings.promo.html"
templateUrl: "partials/options.settings.promo.html",
title: env.t('titleSettings')
})
.state('options.settings.subscription', {
url: "/subscription",
templateUrl: "partials/options.settings.subscription.html"
templateUrl: "partials/options.settings.subscription.html",
title: env.t('titleSettings')
})
.state('options.settings.notifications', {
url: "/notifications",
templateUrl: "partials/options.settings.notifications.html"
templateUrl: "partials/options.settings.notifications.html",
title: env.t('titleSettings')
});
var settings = JSON.parse(localStorage.getItem(STORAGE_SETTINGS_ID));

View File

@@ -15,6 +15,9 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
$rootScope.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams){
$rootScope.pageTitle = $state.current.title;
if (!!fromState.name) Analytics.track({'hitType':'pageview','eventCategory':'navigation','eventAction':'navigate','page':'/#/'+toState.name});
// clear inbox when entering or exiting inbox tab
if (fromState.name=='options.social.inbox' || toState.name=='options.social.inbox') {

View File

@@ -2,7 +2,7 @@ doctype html
//html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":applyingAction}', ui-keypress="{27:'castCancel()'}")
html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":applyingAction}', ui-keyup="{27:'castCancel()'}", ng-keydown="$broadcast('habit:keydown', $event)", ng-keyup="$broadcast('habit:keyup', $event)")
head
title=env.t('titleIndex')
title(ng-bind="env.t('habitica') + ' | ' + $root.pageTitle")
// ?v=1 needed to force refresh
link(rel='shortcut icon', sizes="32x32", href='#{env.getBuildUrl("favicon.ico")}?v=4')
link(rel='shortcut icon', sizes="144x144", href='#{env.getBuildUrl("favicon_192x192.png")}?v=4')