mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
User.habits/dailys/todos/rewards. Move /#/tasks & /#/options page loading from server-sent html to everything loaded in the page as script templates (including necessary fixes for adsense). NOTE: this commit won't work, it depends a bit on the *next* commit with Challenges functionality, but I wanted to separate it out a bit for clarity
46 lines
2.1 KiB
JavaScript
46 lines
2.1 KiB
JavaScript
"use strict";
|
|
|
|
window.habitrpg = angular.module('habitrpg',
|
|
['ngRoute', 'ngResource', 'ngSanitize', 'userServices', 'groupServices', 'memberServices', 'challengeServices', 'sharedServices', 'authServices', 'notificationServices', 'guideServices', 'ui.bootstrap', 'ui.keypress'])
|
|
|
|
.constant("API_URL", "")
|
|
.constant("STORAGE_USER_ID", 'habitrpg-user')
|
|
.constant("STORAGE_SETTINGS_ID", 'habit-mobile-settings')
|
|
//.constant("STORAGE_GROUPS_ID", "") // if we decide to take groups offline
|
|
|
|
.config(['$routeProvider', '$httpProvider', 'STORAGE_SETTINGS_ID',
|
|
function($routeProvider, $httpProvider, STORAGE_SETTINGS_ID) {
|
|
$routeProvider
|
|
//.when('/login', {templateUrl: 'views/login.html'})
|
|
.when('/tasks', {templateUrl: 'templates/habitrpg-main.html'})
|
|
.when('/options', {templateUrl: 'templates/habitrpg-options.html'})
|
|
|
|
.otherwise({redirectTo: '/tasks'});
|
|
|
|
var settings = JSON.parse(localStorage.getItem(STORAGE_SETTINGS_ID));
|
|
if (settings && settings.auth) {
|
|
$httpProvider.defaults.headers.common['Content-Type'] = 'application/json;charset=utf-8';
|
|
$httpProvider.defaults.headers.common['x-api-user'] = settings.auth.apiId;
|
|
$httpProvider.defaults.headers.common['x-api-key'] = settings.auth.apiToken;
|
|
}
|
|
|
|
// Handle errors
|
|
var interceptor = ['$rootScope', '$q', function ($rootScope, $q) {
|
|
function success(response) {
|
|
return response;
|
|
}
|
|
function error(response) {
|
|
//var status = response.status;
|
|
response.data = (response.data.err) ? response.data.err : response.data;
|
|
if (response.status == 0) response.data = 'Server currently unreachable';
|
|
if (response.status == 500) response.data += '(see Chrome console for more details).';
|
|
$rootScope.flash.errors.push(response.status + ': ' + response.data);
|
|
console.log(arguments);
|
|
return $q.reject(response);
|
|
}
|
|
return function (promise) {
|
|
return promise.then(success, error);
|
|
}
|
|
}];
|
|
$httpProvider.responseInterceptors.push(interceptor);
|
|
}]) |