Ported over UI code

This commit is contained in:
Keith Holliday
2017-06-08 16:03:20 -07:00
parent 5d0fe0aac3
commit 7422d020b1
8 changed files with 92 additions and 7 deletions

View File

@@ -3,6 +3,58 @@
habitrpg.controller('NotificationCtrl',
['$scope', '$rootScope', 'Shared', 'Content', 'User', 'Guide', 'Notification', 'Analytics', 'Achievement', 'Social', 'Tasks',
function ($scope, $rootScope, Shared, Content, User, Guide, Notification, Analytics, Achievement, Social, Tasks) {
$scope.yesterDailiesModalOpen = false;
$rootScope.$watch('user.yesterDailies', function (after, before) {
if (!after || after.length === 0 || $scope.yesterDailiesModalOpen) return;
var yesterDailies = [];
after.forEach(function (taskId) {
var dailyFound = _.find(User.user.dailys, function (task) {
return taskId === task._id;
});
if (dailyFound && dailyFound.group.approval && dailyFound.group.approval.requested) return;
if (dailyFound) yesterDailies.push(dailyFound);
});
if (yesterDailies.length === 0) return;
var modalScope = $rootScope.$new();
modalScope.obj = User.user;
modalScope.taskList = yesterDailies;
modalScope.list = {
showCompleted: false,
type: 'daily',
};
$scope.yesterDailiesModalOpen = true;
$rootScope.openModal('yesterDailies', {
scope: modalScope,
controller: ['$scope', 'Tasks', 'User', '$rootScope', function ($scope, Tasks, User, $rootScope) {
$rootScope.$on('task:scored', function (event, data) {
var task = data.task;
var indexOfTask = _.findIndex($scope.taskList, function (taskInList) {
return taskInList._id === task._id;
});
if (!$scope.taskList[indexOfTask]) return;
$scope.taskList[indexOfTask].group.approval.requested = task.group.approval.requested;
if ($scope.taskList[indexOfTask].group.approval.requested) return;
$scope.taskList[indexOfTask].completed = task.completed;
});
$scope.ageDailies = function () {
Tasks.ageDailies()
.then(function () {
$scope.yesterDailiesModalOpen = false;
User.sync();
});
};
}],
})
.result.catch(function() {
$scope.yesterDailiesModalOpen = false;
});
});
$rootScope.$watch('user.stats.hp', function (after, before) {
if (after <= 0){