From 1ecf608408a0acfc05d9c9b00f4d0a4475675642 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Thu, 7 May 2015 15:23:54 -0700 Subject: [PATCH 01/49] =?UTF-8?q?Added=20support=20in=20daily=20tasks=20fo?= =?UTF-8?q?r=20specifying=20=E2=80=99every=20X=20days=E2=80=99=20and=20?= =?UTF-8?q?=E2=80=98every=20X=20weeks=20on=20specific=20days=20of=20the=20?= =?UTF-8?q?week=E2=80=99.=20-=20shouldDo()=20now=20takes=20the=20entire=20?= =?UTF-8?q?task=20as=20an=20input=20instead=20of=20just=20the=20=E2=80=98r?= =?UTF-8?q?epeat=E2=80=99=20(days=20of=20the=20week)=20dictionary.=20-=20t?= =?UTF-8?q?he=20=E2=80=98start=E2=80=99=20date=20for=20a=20task=20can=20be?= =?UTF-8?q?=20specified=20(and=20can=20also=20be=20in=20the=20future,=20in?= =?UTF-8?q?=20which=20case=20it=20will=20be=20greyed=20out=20until=20then.?= =?UTF-8?q?)=20=E2=80=98start=E2=80=99=20date=20also=20affects=20=E2=80=98?= =?UTF-8?q?every=20X=20days=E2=80=99=20and=20=E2=80=98every=20X=20weeks?= =?UTF-8?q?=E2=80=99.=20-=20no=20migration=20code=20yet.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/script/index.coffee | 52 +++++++++++++++--- website/public/js/controllers/tasksCtrl.js | 23 +++++++- website/public/js/directives/directives.js | 1 + website/src/models/task.js | 8 ++- website/views/shared/tasks/task.jade | 62 +++++++++++++++++----- 5 files changed, 122 insertions(+), 24 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index f251ad7db5..5c44457319 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -72,13 +72,51 @@ api.daysSince = (yesterday, options = {}) -> Math.abs api.startOfDay(_.defaults {now:yesterday}, o).diff(api.startOfDay(_.defaults {now:o.now}, o), 'days') ### - Should the user do this taks on this date, given the task's repeat options and user.preferences.dayStart? + Should the user do this task on this date, given the task's repeat options and user.preferences.dayStart? ### -api.shouldDo = (day, repeat, options={}) -> - return false unless repeat +api.shouldDo = (day, dailyTask, options = {}) -> + return false unless dailyTask.type == 'daily' && dailyTask.repeat + # MIGRATION HACK, FIXME + if dailyTask.startDate == null + console.log("null!!!!!") + dailyTask.startDate = moment().toDate(); + if dailyTask.startDate instanceof String + console.log("startDate is a string: " + dailyTask.startDate + ". Converting to date"); + dailyTask.startDate = moment(dailyTask.startDate).toDate(); o = sanitizeOptions options - selected = repeat[api.dayMapping[api.startOfDay(_.defaults {now:day}, o).day()]] - return selected + dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() + + # check if event is in the future + hasStartedCheck = moment(day).isAfter(dailyTask.startDate) || moment(day).isSame(dailyTask.startDate) + + if dailyTask.frequency == 'daily' + daysSinceTaskStart = api.numDaysApart(day, dailyTask.startDate, o) + everyXCheck = (daysSinceTaskStart % dailyTask.everyX == 0) + return everyXCheck && hasStartedCheck + else if dailyTask.frequency == 'weekly' + dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeek]]; + weeksSinceTaskStartWeek = api.numWeeksApart(day, dailyTask.startDate, o) + everyXCheck = (weeksSinceTaskStartWeek % dailyTask.everyX == 0) + return dayOfWeekCheck && everyXCheck && hasStartedCheck + else + # unexpected frequency string + return true + +api.numDaysApart = (day1, day2, o) -> + startOfDay1 = api.startOfDay(_.defaults {now:day1}, o) + startOfDay2 = api.startOfDay(_.defaults {now:day2}, o) + numDays = Math.abs(startOfDay1.diff(startOfDay2, 'days')) + return numDays + +# weeks between the two days, counting Monday as the start of each week +api.numWeeksApart = (day1, day2, o) -> + startOfDay1 = api.startOfDay(_.defaults {now:day1}, o) + startOfDay2 = api.startOfDay(_.defaults {now:day2}, o) + startWeekOfDay1 = startOfDay1.startOf('week') + startWeekOfDay2 = startOfDay2.startOf('week') + numWeeks = Math.abs(startWeekOfDay1.diff(startWeekOfDay2, 'weeks')) + return numWeeks + ### ------------------------------------------------------ @@ -280,7 +318,7 @@ api.taskClasses = (task, filters=[], dayStart=0, lastCron=+new Date, showComplet # show as completed if completed (naturally) or not required for today if type in ['todo', 'daily'] - if completed or (type is 'daily' and !api.shouldDo(+new Date, task.repeat, {dayStart})) + if completed or (type is 'daily' and !api.shouldDo(+new Date, task, {dayStart})) classes += " completed" else classes += " uncompleted" @@ -1537,7 +1575,7 @@ api.wrap = (user, main=true) -> scheduleMisses = 0 _.times daysMissed, (n) -> thatDay = moment(now).subtract({days: n + 1}) - if api.shouldDo(thatDay, repeat, user.preferences) + if api.shouldDo(thatDay, task, user.preferences) scheduleMisses++ if user.stats.buffs.stealth user.stats.buffs.stealth-- diff --git a/website/public/js/controllers/tasksCtrl.js b/website/public/js/controllers/tasksCtrl.js index c070727f8f..41ec17655a 100644 --- a/website/public/js/controllers/tasksCtrl.js +++ b/website/public/js/controllers/tasksCtrl.js @@ -4,6 +4,9 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N function($scope, $rootScope, $location, User, Notification, $http, ApiUrl, $timeout, Shared, Guide) { $scope.obj = User.user; // used for task-lists $scope.user = User.user; + // HACK: flagDict is for storing whether the datePicker popup is open or not. This should just be a boolean flag, + // but apparently due to angular bug need to put the bool in intermediate dict... + $scope.flagDict = {}; $scope.score = function(task, direction) { switch (task.type) { @@ -127,6 +130,24 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N */ $scope._today = moment().add({days: 1}); + /* + ------------------------ + Dailies + ------------------------ + */ + $scope.updateTaskStartDate = function(task) { + // TODO: Weirdness here...startDate should be a Date and _dateString + // should be a string, but the datePicker input fields sets _dateString + // to a Date even though input type="text"... + task.startDate = task._dateString; + }; + + $scope.open = function($event) { + $event.stopPropagation(); + $scope.flagDict['opened'] = !$scope.flagDict['opened']; + } + + /* ------------------------ Checklists @@ -212,7 +233,7 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N $scope.shouldShow = function(task, list, prefs){ if (task._editing) // never hide a task while being edited return true; - var shouldDo = task.type == 'daily' ? habitrpgShared.shouldDo(new Date, task.repeat, prefs) : true; + var shouldDo = task.type == 'daily' ? habitrpgShared.shouldDo(new Date, task, prefs) : true; switch (list.view) { case "yellowred": // Habits return task.value < 1; diff --git a/website/public/js/directives/directives.js b/website/public/js/directives/directives.js index 424913d00e..92a596af70 100644 --- a/website/public/js/directives/directives.js +++ b/website/public/js/directives/directives.js @@ -45,6 +45,7 @@ habitrpg task._editing = !task._editing; task._tags = User.user.preferences.tagsCollapsed; task._advanced = User.user.preferences.advancedCollapsed; + task._dateString = moment(task.startDate).format('YYYY-MM-DD'); if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false; }; }], diff --git a/website/src/models/task.js b/website/src/models/task.js index 2646263e80..14ee018439 100644 --- a/website/src/models/task.js +++ b/website/src/models/task.js @@ -50,10 +50,14 @@ var checklist = [{ var DailySchema = new Schema( _.defaults({ - type: {type:String, 'default': 'daily'}, + type: {type: String, 'default': 'daily'}, + //TODO: Cleaner to store interval as enum instead of str? + frequency: {type: String, 'default': 'daily'}, // 'daily', 'weekly' + everyX: {type: Number, 'default': 1}, // e.g. once every X weeks + startDate: {type: Date}, history: Array, completed: {type: Boolean, 'default': false}, - repeat: { + repeat: { // used only for 'weekly' frequency, TODO: Rename to daysOfWeek or something with 'week' m: {type: Boolean, 'default': true}, t: {type: Boolean, 'default': true}, w: {type: Boolean, 'default': true}, diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 05661a939e..2afe1608a0 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -166,22 +166,56 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s // if Daily, calendar fieldset(ng-if='::task.type=="daily"', class="option-group") legend.option-title=env.t('repeat') - ul.repeat-days(bindonce) - // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding + + // Choose the frequency + ul.priority-multiplier li - button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} + button(ng-class='{active: task.frequency=="daily"}', type='button', ng-click='task.frequency="daily"')='Daily' li - button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} - li - button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} - li - button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} - li - button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} - li - button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} - li - button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} + button(ng-class='{active: task.frequency=="weekly"}', type='button', ng-click='task.frequency="weekly"')='Weekly' + + // If frequency is daily + fieldset(ng-show='task.frequency=="daily"') + | Once every   + select(ng-model='task.everyX') + option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} + | days

+ | Start date:  + p(class='input-group') + input(type='text' class='form-control' datepicker-popup ng-model='task._dateString' ng-change='updateTaskStartDate(task)' is-open='flagDict.opened') + span(class='input-group-btn') + button(type="button" ng-click="open($event)") + span.input-group-addon.glyphicon.glyphicon-calendar + // If frequency is weekly + fieldset(ng-show='task.frequency=="weekly"') + | Once every  + select(ng-model='task.everyX') + option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} + | weeks on these days:

+ ul.repeat-days(bindonce) + // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding + li + button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} + li + button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} + li + button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} + li + button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} + li + button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} + li + button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} + li + button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} + |

+ | Start date:  + p(class='input-group') + input(type='text' class='form-control' datepicker-popup ng-model='task._dateString' ng-change='updateTaskStartDate(task)' is-open='flagDict.opened') + span(class='input-group-btn') + button(type="button" ng-click="open($event)") + span.input-group-addon.glyphicon.glyphicon-calendar + // if Reward, pricing fieldset.option-group.option-short(ng-if='task.type=="reward" && !task.challenge.id') From a763a3a3da635c9f2294d0a495f34dce8a870fb1 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Thu, 14 May 2015 00:22:27 -0700 Subject: [PATCH 02/49] =?UTF-8?q?Cleaned=20up=20task.jade=20file:=20-=20mo?= =?UTF-8?q?ved=20ugly=20html=20newlines=20into=20the=20stylesheet=20-=20re?= =?UTF-8?q?named=20temporary=20var=20for=20datePicker=E2=80=99s=20ngmodel?= =?UTF-8?q?=20from=20=5FdateString=20to=20=5FtempDateForPicker=20-=20renam?= =?UTF-8?q?ed=20open=20->=20openDatePicker,=20and=20have=20the=20function?= =?UTF-8?q?=20track=20datePicker=E2=80=99s=20open/closed=20state=20on=20a?= =?UTF-8?q?=20per=20task=20instead=20of=20global=20basis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/locales/en/tasks.json | 1 + website/public/css/tasks.styl | 12 ++- website/public/js/controllers/tasksCtrl.js | 19 +++-- website/public/js/directives/directives.js | 2 +- website/views/shared/tasks/task.jade | 91 +++++++++++----------- 5 files changed, 65 insertions(+), 60 deletions(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index 885eb9dddc..770fbf8cfb 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -60,6 +60,7 @@ "clearTags": "Clear", "hideTags": "Hide", "showTags": "Show", + "startDate": "Start Date", "streakName": "Streak Achievements", "streakText": "Has performed <%= streaks %> 21-day streaks on Dailies", "streakSingular": "Streaker", diff --git a/website/public/css/tasks.styl b/website/public/css/tasks.styl index 59cd9271c4..aca785619c 100644 --- a/website/public/css/tasks.styl +++ b/website/public/css/tasks.styl @@ -12,7 +12,7 @@ for $stage in $stages .color-{$stage[0]}:not(.completed) background-color: $stage[1] border: 1px solid shade($stage[1],10%) - .priority-multiplier, .task-attributes, .repeat-days + .priority-multiplier, .task-attributes, .repeat-days, .repeat-frequency li hrpg-button-color-mixin($stage[1]) button @@ -63,7 +63,7 @@ for $stage in $stages color: darken($completed,30%) background-color: $completed border: 1px solid shade($completed,10%) - .priority-multiplier, .task-attributes, .repeat-days + .priority-multiplier, .task-attributes, .repeat-days, .repeat-frequency li hrpg-button-color-mixin($completed) button @@ -507,7 +507,7 @@ form form padding-bottom: 1em - .priority-multiplier, .task-attributes, .repeat-days + .priority-multiplier, .task-attributes, .repeat-days, .repeat-frequency text-align: center li @extend $hrpg-button @@ -517,6 +517,7 @@ form &:last-of-type margin-right: 0 .repeat-days + padding-bottom: 1em li button min-width: 2.5em @@ -524,6 +525,11 @@ form text-align: center @extend $hrpg-button +// Dailies +.dailies + .repeat-weekly + padding-bottom: 1em + // Habits – task button styles (+ -) .habits .task-actions diff --git a/website/public/js/controllers/tasksCtrl.js b/website/public/js/controllers/tasksCtrl.js index 41ec17655a..70c180ef36 100644 --- a/website/public/js/controllers/tasksCtrl.js +++ b/website/public/js/controllers/tasksCtrl.js @@ -4,10 +4,6 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N function($scope, $rootScope, $location, User, Notification, $http, ApiUrl, $timeout, Shared, Guide) { $scope.obj = User.user; // used for task-lists $scope.user = User.user; - // HACK: flagDict is for storing whether the datePicker popup is open or not. This should just be a boolean flag, - // but apparently due to angular bug need to put the bool in intermediate dict... - $scope.flagDict = {}; - $scope.score = function(task, direction) { switch (task.type) { case 'reward': @@ -136,15 +132,18 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N ------------------------ */ $scope.updateTaskStartDate = function(task) { - // TODO: Weirdness here...startDate should be a Date and _dateString - // should be a string, but the datePicker input fields sets _dateString - // to a Date even though input type="text"... - task.startDate = task._dateString; + /* + Keep startDate and _tempDateForPicker in sync. The reason for having both instead + of having startDate be the ngmodel for datePicker is that datePicker initializes with + an incorrect format when given a Date for an ngmodel; instead we initialize _tempDate + to be a string that datePicker then converts to a Date, which lets us control the format. + */ + task.startDate = task._tempDateForPicker; }; - $scope.open = function($event) { + $scope.openDatePicker = function($event, task) { $event.stopPropagation(); - $scope.flagDict['opened'] = !$scope.flagDict['opened']; + task._isDatePickerOpen = !task._isDatePickerOpen; } diff --git a/website/public/js/directives/directives.js b/website/public/js/directives/directives.js index 92a596af70..b9eccde098 100644 --- a/website/public/js/directives/directives.js +++ b/website/public/js/directives/directives.js @@ -45,7 +45,7 @@ habitrpg task._editing = !task._editing; task._tags = User.user.preferences.tagsCollapsed; task._advanced = User.user.preferences.advancedCollapsed; - task._dateString = moment(task.startDate).format('YYYY-MM-DD'); + task._tempDateForPicker = moment(task.startDate).format('YYYY-MM-DD'); if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false; }; }], diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 2afe1608a0..f15e090d10 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -164,57 +164,56 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s label(for='{{obj._id}}_{{task.id}}-option-minus') // if Daily, calendar - fieldset(ng-if='::task.type=="daily"', class="option-group") - legend.option-title=env.t('repeat') + fieldset.option-group.calendar(ng-if='::task.type=="daily"', class="option-group") + .dailies + legend.option-title=env.t('repeat') - // Choose the frequency - ul.priority-multiplier - li - button(ng-class='{active: task.frequency=="daily"}', type='button', ng-click='task.frequency="daily"')='Daily' - li - button(ng-class='{active: task.frequency=="weekly"}', type='button', ng-click='task.frequency="weekly"')='Weekly' + // Choose the frequency + ul.repeat-frequency + li + button(ng-class='{active: task.frequency=="daily"}', type='button', ng-click='task.frequency="daily"')='Daily' + li + button(ng-class='{active: task.frequency=="weekly"}', type='button', ng-click='task.frequency="weekly"')='Weekly' - // If frequency is daily - fieldset(ng-show='task.frequency=="daily"') - | Once every   - select(ng-model='task.everyX') - option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} - | days

- | Start date:  + // If frequency is daily + div.repeat-frequency(ng-show='task.frequency=="daily"') + div.repeat-daily + | Once every   + select(ng-model='task.everyX') + option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} + | days + + // If frequency is weekly + div.repeat-frequency(ng-show='task.frequency=="weekly"') + div.repeat-weekly + | Once every  + select(ng-model='task.everyX') + option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} + | weeks on these days: + + ul.repeat-days(bindonce) + // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding + li + button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} + li + button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} + li + button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} + li + button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} + li + button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} + li + button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} + li + button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} + + label.option-title=env.t('startDate') p(class='input-group') - input(type='text' class='form-control' datepicker-popup ng-model='task._dateString' ng-change='updateTaskStartDate(task)' is-open='flagDict.opened') + input(type='text' class='form-control' datepicker-popup ng-model='task._tempDateForPicker' ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') span(class='input-group-btn') - button(type="button" ng-click="open($event)") + button(type="button" ng-click="openDatePicker($event, task)") span.input-group-addon.glyphicon.glyphicon-calendar - // If frequency is weekly - fieldset(ng-show='task.frequency=="weekly"') - | Once every  - select(ng-model='task.everyX') - option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} - | weeks on these days:

- ul.repeat-days(bindonce) - // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding - li - button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} - li - button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} - li - button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} - li - button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} - li - button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} - li - button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} - li - button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} - |

- | Start date:  - p(class='input-group') - input(type='text' class='form-control' datepicker-popup ng-model='task._dateString' ng-change='updateTaskStartDate(task)' is-open='flagDict.opened') - span(class='input-group-btn') - button(type="button" ng-click="open($event)") - span.input-group-addon.glyphicon.glyphicon-calendar // if Reward, pricing From fbb636a339b0e4afa56fac3b0776e64ac8f9e53b Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Thu, 14 May 2015 00:24:10 -0700 Subject: [PATCH 03/49] Removed stray debugging console logs. --- common/script/index.coffee | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index 5c44457319..0ea1af6e9e 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -76,12 +76,11 @@ api.daysSince = (yesterday, options = {}) -> ### api.shouldDo = (day, dailyTask, options = {}) -> return false unless dailyTask.type == 'daily' && dailyTask.repeat - # MIGRATION HACK, FIXME - if dailyTask.startDate == null - console.log("null!!!!!") + if !dailyTask.startDate + # TODO: Unexpected code path reached. Log a warning. dailyTask.startDate = moment().toDate(); if dailyTask.startDate instanceof String - console.log("startDate is a string: " + dailyTask.startDate + ". Converting to date"); + #TODO: Unexpected code path reached. Log a warning. dailyTask.startDate = moment(dailyTask.startDate).toDate(); o = sanitizeOptions options dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() @@ -100,7 +99,7 @@ api.shouldDo = (day, dailyTask, options = {}) -> return dayOfWeekCheck && everyXCheck && hasStartedCheck else # unexpected frequency string - return true + return false; api.numDaysApart = (day1, day2, o) -> startOfDay1 = api.startOfDay(_.defaults {now:day1}, o) From e7cd3ff533101424ff54066a93abb331c060047b Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Thu, 14 May 2015 02:38:03 -0700 Subject: [PATCH 04/49] =?UTF-8?q?Set=20DailySchema=E2=80=99s=20=E2=80=98fr?= =?UTF-8?q?equency=E2=80=99=20default=20to=20weekly=20to=20maintain=20back?= =?UTF-8?q?wards=20compatibility.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/src/models/task.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/models/task.js b/website/src/models/task.js index 14ee018439..de6a6dfe48 100644 --- a/website/src/models/task.js +++ b/website/src/models/task.js @@ -52,12 +52,12 @@ var DailySchema = new Schema( _.defaults({ type: {type: String, 'default': 'daily'}, //TODO: Cleaner to store interval as enum instead of str? - frequency: {type: String, 'default': 'daily'}, // 'daily', 'weekly' + frequency: {type: String, 'default': 'weekly'}, // 'daily', 'weekly' everyX: {type: Number, 'default': 1}, // e.g. once every X weeks startDate: {type: Date}, history: Array, completed: {type: Boolean, 'default': false}, - repeat: { // used only for 'weekly' frequency, TODO: Rename to daysOfWeek or something with 'week' + repeat: { // used only for 'weekly' frequency, m: {type: Boolean, 'default': true}, t: {type: Boolean, 'default': true}, w: {type: Boolean, 'default': true}, From d1805f91814f1bb114face7de547645190dddb7d Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Fri, 15 May 2015 20:21:43 -0700 Subject: [PATCH 05/49] =?UTF-8?q?Fixed=20issue=20where=20incorrect=20time?= =?UTF-8?q?=20type=20passed=20in=20for=20shouldDo=E2=80=99s=20=E2=80=98day?= =?UTF-8?q?=E2=80=99=20argument=20(should=20be=20a=20Date,=20sometimes=20M?= =?UTF-8?q?oment=20is=20passed=20in).=20Fixed=20incorrect=20comparison=20b?= =?UTF-8?q?etween=20Moment=20and=20Date.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/script/index.coffee | 6 +++--- test/common/algos.mocha.coffee | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index 0ea1af6e9e..5cd774f15c 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -86,7 +86,7 @@ api.shouldDo = (day, dailyTask, options = {}) -> dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() # check if event is in the future - hasStartedCheck = moment(day).isAfter(dailyTask.startDate) || moment(day).isSame(dailyTask.startDate) + hasStartedCheck = day >= dailyTask.startDate if dailyTask.frequency == 'daily' daysSinceTaskStart = api.numDaysApart(day, dailyTask.startDate, o) @@ -1547,7 +1547,7 @@ api.wrap = (user, main=true) -> {completed, repeat} = daily thatDay = moment(now).subtract({days: 1}) - if api.shouldDo(thatDay, repeat, user.preferences) || completed + if api.shouldDo(thatDay.toDate(), daily, user.preferences) || completed _.each daily.checklist, ((box)->box.completed=false;true) daily.completed = false return @@ -1574,7 +1574,7 @@ api.wrap = (user, main=true) -> scheduleMisses = 0 _.times daysMissed, (n) -> thatDay = moment(now).subtract({days: n + 1}) - if api.shouldDo(thatDay, task, user.preferences) + if api.shouldDo(thatDay.toDate(), task, user.preferences) scheduleMisses++ if user.stats.buffs.stealth user.stats.buffs.stealth-- diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index e6a709edf4..4fc9431d86 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -793,7 +793,7 @@ describe 'Cron', -> before.dailys[0].streak = after.dailys[0].streak = 10 before.dailys[0].completed = after.dailys[0].completed = true if options.checked if options.shouldDo - expect(shared.shouldDo(now, options.repeat, {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() + expect(shared.shouldDo(now.toDate(), options.repeat, {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() after.fns.cron {now} before.stats.mp=after.stats.mp #FIXME switch options.expect From dd1b2a4b07c1080cb2f5626fb5ba214509dd2910 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Fri, 15 May 2015 20:23:21 -0700 Subject: [PATCH 06/49] In taskDefaults method, added default values for new fields: startDate, everyX, and frequency. --- common/script/index.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index 5cd774f15c..6d293bd831 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -247,7 +247,7 @@ api.taskDefaults = (task={}) -> _.defaults(task, {up:true,down:true}) if task.type is 'habit' _.defaults(task, {history: []}) if task.type in ['habit', 'daily'] _.defaults(task, {completed:false}) if task.type in ['daily', 'todo'] - _.defaults(task, {streak:0, repeat: {su:1,m:1,t:1,w:1,th:1,f:1,s:1}}) if task.type is 'daily' + _.defaults(task, {streak:0, repeat: {su:1,m:1,t:1,w:1,th:1,f:1,s:1}}, startDate: new Date(0), everyX: 1, frequency: 'weekly') if task.type is 'daily' task._id = task.id # may need this for TaskSchema if we go back to using it, see http://goo.gl/a5irq4 task.value ?= if task.type is 'reward' then 10 else 0 task.priority = 1 unless _.isNumber(task.priority) # hotfix for apiv1. once we're off apiv1, we can remove this From 664bf491d2dbc369e0dc91be97e1496c9e4a37cd Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 17 May 2015 21:10:40 -0500 Subject: [PATCH 07/49] Adjust fallenPanda's PR * Use enum for frequency in task model * Adjust ui of task selection * Correct check for hasStarted * Remove semicolons * Set default start day to today * Correct perfect day and resting in inn tests to have dailies with start dates of a week ago * Add tests for dailies/weeklies functionality --- common/script/index.coffee | 15 +- test/common/algos.mocha.coffee | 4 +- test/common/dailies.coffee | 359 +++++++++++++++++++++++++++ website/src/models/task.js | 3 +- website/views/shared/tasks/task.jade | 8 +- 5 files changed, 374 insertions(+), 15 deletions(-) create mode 100644 test/common/dailies.coffee diff --git a/common/script/index.coffee b/common/script/index.coffee index 6d293bd831..48ca7afcbe 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -76,30 +76,31 @@ api.daysSince = (yesterday, options = {}) -> ### api.shouldDo = (day, dailyTask, options = {}) -> return false unless dailyTask.type == 'daily' && dailyTask.repeat + day = moment(day).startOf('day') if !dailyTask.startDate # TODO: Unexpected code path reached. Log a warning. - dailyTask.startDate = moment().toDate(); + dailyTask.startDate = moment().toDate() if dailyTask.startDate instanceof String #TODO: Unexpected code path reached. Log a warning. - dailyTask.startDate = moment(dailyTask.startDate).toDate(); + dailyTask.startDate = moment(dailyTask.startDate).toDate() o = sanitizeOptions options dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() - # check if event is in the future - hasStartedCheck = day >= dailyTask.startDate + # check if event is today or in the future + hasStartedCheck = day >= moment(dailyTask.startDate).startOf('day') if dailyTask.frequency == 'daily' daysSinceTaskStart = api.numDaysApart(day, dailyTask.startDate, o) everyXCheck = (daysSinceTaskStart % dailyTask.everyX == 0) return everyXCheck && hasStartedCheck else if dailyTask.frequency == 'weekly' - dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeek]]; + dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeek]] weeksSinceTaskStartWeek = api.numWeeksApart(day, dailyTask.startDate, o) everyXCheck = (weeksSinceTaskStartWeek % dailyTask.everyX == 0) return dayOfWeekCheck && everyXCheck && hasStartedCheck else # unexpected frequency string - return false; + return false api.numDaysApart = (day1, day2, o) -> startOfDay1 = api.startOfDay(_.defaults {now:day1}, o) @@ -247,7 +248,7 @@ api.taskDefaults = (task={}) -> _.defaults(task, {up:true,down:true}) if task.type is 'habit' _.defaults(task, {history: []}) if task.type in ['habit', 'daily'] _.defaults(task, {completed:false}) if task.type in ['daily', 'todo'] - _.defaults(task, {streak:0, repeat: {su:1,m:1,t:1,w:1,th:1,f:1,s:1}}, startDate: new Date(0), everyX: 1, frequency: 'weekly') if task.type is 'daily' + _.defaults(task, {streak:0, repeat: {su:1,m:1,t:1,w:1,th:1,f:1,s:1}}, startDate: new Date(), everyX: 1, frequency: 'weekly') if task.type is 'daily' task._id = task.id # may need this for TaskSchema if we go back to using it, see http://goo.gl/a5irq4 task.value ?= if task.type is 'reward' then 10 else 0 task.priority = 1 unless _.isNumber(task.priority) # hotfix for apiv1. once we're off apiv1, we can remove this diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index 4fc9431d86..d6c1512e42 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -157,7 +157,7 @@ describe 'User', -> it 'handles perfect days', -> user = newUser() user.dailys = [] - _.times 3, ->user.dailys.push shared.taskDefaults({type:'daily'}) + _.times 3, ->user.dailys.push shared.taskDefaults({type:'daily', startDate: moment().subtract(7, 'days')}) cron = -> user.lastCron = moment().subtract(1,'days');user.fns.cron() cron() @@ -191,7 +191,7 @@ describe 'User', -> user.preferences.sleep = true cron = -> user.lastCron = moment().subtract(1, 'days');user.fns.cron() user.dailys = [] - _.times 2, -> user.dailys.push shared.taskDefaults({type:'daily'}) + _.times 2, -> user.dailys.push shared.taskDefaults({type:'daily', startDate: moment().subtract(7, 'days')}) it 'remains in the inn on cron', -> cron() diff --git a/test/common/dailies.coffee b/test/common/dailies.coffee new file mode 100644 index 0000000000..35d9d1833e --- /dev/null +++ b/test/common/dailies.coffee @@ -0,0 +1,359 @@ +_ = require 'lodash' +expect = require 'expect.js' +sinon = require 'sinon' +moment = require 'moment' +shared = require '../../common/script/index.coffee' +shared.i18n.translations = require('../../website/src/i18n.js').translations + +repeatWithoutLastWeekday = ()-> + repeat = {su:1,m:1,t:1,w:1,th:1,f:1,s:1} + if shared.startOfWeek(moment().zone(0)).isoWeekday() == 1 # Monday + repeat.su = false + else + repeat.s = false + {repeat: repeat} + +### Helper Functions #### +# @TODO: Refactor into helper file +newUser = (addTasks=true)-> + buffs = {per:0, int:0, con:0, str:0, stealth: 0, streaks: false} + user = + auth: + timestamps: {} + stats: {str:1, con:1, per:1, int:1, mp: 32, class: 'warrior', buffs: buffs} + items: + lastDrop: + count: 0 + hatchingPotions: {} + eggs: {} + food: {} + gear: + equipped: {} + costume: {} + party: + quest: + progress: + down: 0 + preferences: {} + dailys: [] + todos: [] + rewards: [] + flags: {} + achievements: {} + contributor: + level: 2 + shared.wrap(user) + user.ops.reset(null, ->) + if addTasks + _.each ['habit', 'todo', 'daily'], (task)-> + user.ops.addTask {body: {type: task, id: shared.uuid()}} + user + +cron = (usr) -> + usr.lastCron = moment().subtract(1,'days') + usr.fns.cron() + +describe 'daily/weekly that repeats everyday (default)', -> + user = null + daily = null + weekly = null + + describe 'when startDate is in the future', -> + + beforeEach -> + user = newUser() + user.dailys = [ + shared.taskDefaults({type:'daily', startDate: moment().add(7, 'days'), frequency: 'daily'}) + shared.taskDefaults({type:'daily', startDate: moment().add(7, 'days'), frequency: 'weekly', repeat: {su:1,m:1,t:1,w:1,th:1,f:1,s:1}}) + ] + daily = user.dailys[0] + weekly = user.dailys[1] + + it 'does not damage user for not completing it', -> + cron(user) + expect(user.stats.hp).to.be 50 + + it 'does not change value on cron if daily is incomplete', -> + cron(user) + expect(daily.value).to.be 0 + expect(weekly.value).to.be 0 + + it 'does not reset checklists if daily is not marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + weekly.checklist = checklist + cron(user) + + expect(daily.checklist[0].completed).to.be true + expect(daily.checklist[1].completed).to.be true + expect(daily.checklist[2].completed).to.be false + + expect(weekly.checklist[0].completed).to.be true + expect(weekly.checklist[1].completed).to.be true + expect(weekly.checklist[2].completed).to.be false + + it 'resets checklists if daily is marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + weekly.checklist = checklist + daily.completed = true + weekly.completed = true + cron(user) + + _.each daily.checklist, (box)-> + expect(box.completed).to.be false + + _.each weekly.checklist, (box)-> + expect(box.completed).to.be false + + it 'is due on startDate', -> + daily_due_today = shared.shouldDo moment(), daily + daily_due_on_start_date = shared.shouldDo moment().add(7, 'days'), daily + + expect(daily_due_today).to.be false + expect(daily_due_on_start_date).to.be true + + weekly_due_today = shared.shouldDo moment(), weekly + weekly_due_on_start_date = shared.shouldDo moment().add(7, 'days'), weekly + + expect(weekly_due_today).to.be false + expect(weekly_due_on_start_date).to.be true + + describe 'when startDate is in the past', -> + completeDaily = null + + beforeEach -> + user = newUser() + user.dailys = [ + shared.taskDefaults({type:'daily', startDate: moment().subtract(7, 'days'), frequency: 'daily'}) + shared.taskDefaults({type:'daily', startDate: moment().subtract(7, 'days'), frequency: 'weekly'}) + ] + daily = user.dailys[0] + weekly = user.dailys[1] + + it 'does damage user for not completing it', -> + cron(user) + expect(user.stats.hp).to.be.lessThan 50 + + it 'decreases value on cron if daily is incomplete', -> + cron(user) + expect(daily.value).to.be.lessThan 0 + expect(weekly.value).to.be.lessThan 0 + + it 'resets checklists if daily is not marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + weekly.checklist = checklist + cron(user) + + _.each daily.checklist, (box)-> + expect(box.completed).to.be false + + _.each weekly.checklist, (box)-> + expect(box.completed).to.be false + + it 'resets checklists if daily is marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + daily.completed = true + weekly.checklist = checklist + weekly.completed = true + cron(user) + + _.each daily.checklist, (box)-> + expect(box.completed).to.be false + + _.each weekly.checklist, (box)-> + expect(box.completed).to.be false + + describe 'when startDate is today', -> + completeDaily = null + + beforeEach -> + user = newUser() + user.dailys = [ + # Must set start date to yesterday, because cron mock sets last cron to yesterday + shared.taskDefaults({type:'daily', startDate: moment().subtract(1, 'days'), frequency: 'daily'}) + shared.taskDefaults({type:'daily', startDate: moment().subtract(1, 'days'), frequency: 'weekly'}) + ] + daily = user.dailys[0] + weekly = user.dailys[1] + + it 'does damage user for not completing it', -> + cron(user) + expect(user.stats.hp).to.be.lessThan 50 + + it 'decreases value on cron if daily is incomplete', -> + cron(user) + expect(daily.value).to.be.lessThan 0 + expect(weekly.value).to.be.lessThan 0 + + it 'resets checklists if daily is not marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + weekly.checklist = checklist + cron(user) + + _.each daily.checklist, (box)-> + expect(box.completed).to.be false + + _.each weekly.checklist, (box)-> + expect(box.completed).to.be false + + it 'resets checklists if daily is marked as complete', -> + checklist = [ + { + 'text' : '1', + 'id' : 'checklist-one', + 'completed' : true + }, + { + 'text' : '2', + 'id' : 'checklist-two', + 'completed' : true + }, + { + 'text' : '3', + 'id' : 'checklist-three', + 'completed' : false + } + ] + daily.checklist = checklist + daily.completed = true + weekly.checklist = checklist + weekly.completed = true + cron(user) + + _.each daily.checklist, (box)-> + expect(box.completed).to.be false + + _.each weekly.checklist, (box)-> + expect(box.completed).to.be false + +describe 'daily that repeats every x days', -> + user = null + daily = null + + beforeEach -> + user = newUser() + user.dailys = [ shared.taskDefaults({type:'daily', startDate: moment(), frequency: 'daily'}) ] + daily = user.dailys[0] + + _.times 10, (n) -> + due = n + 1 + + it 'where x equals ' + due, -> + daily.everyX = due + + _.times 100, (day) -> + isDue = shared.shouldDo moment().add(day, 'days'), daily + expect(isDue).to.be true if day % due == 0 + expect(isDue).to.be false if day % due != 0 + +describe 'weekly that repeats on M,W,F every x days', -> + user = null + weekly = null + start_date = moment() + + beforeEach -> + user = newUser() + user.dailys = [ shared.taskDefaults({type:'daily', startDate: start_date, frequency: 'weekly', repeat: {su:false,m:1,t:false,w:1,th:false,f:1,s:false}}) ] + weekly = user.dailys[0] + + _.times 10, (n) -> + due = n + 1 + + it 'where x equals ' + due, -> + weekly.everyX = due + _.times 100, (day) -> + valid_days = { Mon: true, Wed: true, Fri: true } + day_to_test = start_date.add(day, 'days') + day_of_week = moment(day_to_test).format('ddd') + + isDue = shared.shouldDo day_to_test, weekly + is_correct_week = shared.numWeeksApart(day_to_test, start_date) % due == 0 + + if valid_days[day_of_week] && is_correct_week + expect(isDue).to.be true + else + expect(isDue).to.be false diff --git a/website/src/models/task.js b/website/src/models/task.js index de6a6dfe48..ac4ef56337 100644 --- a/website/src/models/task.js +++ b/website/src/models/task.js @@ -51,8 +51,7 @@ var checklist = [{ var DailySchema = new Schema( _.defaults({ type: {type: String, 'default': 'daily'}, - //TODO: Cleaner to store interval as enum instead of str? - frequency: {type: String, 'default': 'weekly'}, // 'daily', 'weekly' + frequency: {type: String, 'default': 'weekly', enum: ['daily', 'weekly']}, everyX: {type: Number, 'default': 1}, // e.g. once every X weeks startDate: {type: Date}, history: Array, diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index f15e090d10..7cb4ae73a2 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -209,11 +209,11 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} label.option-title=env.t('startDate') - p(class='input-group') + p.input-group input(type='text' class='form-control' datepicker-popup ng-model='task._tempDateForPicker' ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') - span(class='input-group-btn') - button(type="button" ng-click="openDatePicker($event, task)") - span.input-group-addon.glyphicon.glyphicon-calendar + span.input-group-btn + button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') + .glyphicon.glyphicon-calendar // if Reward, pricing From 56f0e3ae4ad7f1d907539797876a948c87718ef2 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Fri, 22 May 2015 22:18:17 -0700 Subject: [PATCH 08/49] Removed unnecessary TODOs. --- common/script/index.coffee | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index 48ca7afcbe..a627eced21 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -78,10 +78,8 @@ api.shouldDo = (day, dailyTask, options = {}) -> return false unless dailyTask.type == 'daily' && dailyTask.repeat day = moment(day).startOf('day') if !dailyTask.startDate - # TODO: Unexpected code path reached. Log a warning. dailyTask.startDate = moment().toDate() if dailyTask.startDate instanceof String - #TODO: Unexpected code path reached. Log a warning. dailyTask.startDate = moment(dailyTask.startDate).toDate() o = sanitizeOptions options dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() From b25fa06019e1bcc994d752bee4ca77d35a60b758 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Fri, 22 May 2015 23:42:05 -0700 Subject: [PATCH 09/49] Fixed algos test to pass in task instead of task.repeat to shouldDo (API changed a few commits ago, but missed updating this test). --- test/common/algos.mocha.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index d6c1512e42..cc21db931b 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -793,7 +793,7 @@ describe 'Cron', -> before.dailys[0].streak = after.dailys[0].streak = 10 before.dailys[0].completed = after.dailys[0].completed = true if options.checked if options.shouldDo - expect(shared.shouldDo(now.toDate(), options.repeat, {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() + expect(shared.shouldDo(now.toDate(), after.dailys[0], {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() after.fns.cron {now} before.stats.mp=after.stats.mp #FIXME switch options.expect From 90dd078a6af9289d39e5eb86423c5f40f736cbc4 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Sat, 23 May 2015 00:19:52 -0700 Subject: [PATCH 10/49] Fixed bug where we were using moment.startOf instead of api.startOfDay in shouldDo. --- common/script/index.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index a627eced21..3f31af62ee 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -76,23 +76,23 @@ api.daysSince = (yesterday, options = {}) -> ### api.shouldDo = (day, dailyTask, options = {}) -> return false unless dailyTask.type == 'daily' && dailyTask.repeat - day = moment(day).startOf('day') if !dailyTask.startDate dailyTask.startDate = moment().toDate() if dailyTask.startDate instanceof String dailyTask.startDate = moment(dailyTask.startDate).toDate() o = sanitizeOptions options - dayOfWeek = api.startOfDay(_.defaults {now:day}, o).day() + day = api.startOfDay(_.defaults {now:day}, o) + dayOfWeekNum = day.day() # e.g. 1 for Monday if week starts on Mon # check if event is today or in the future - hasStartedCheck = day >= moment(dailyTask.startDate).startOf('day') + hasStartedCheck = day >= api.startOfDay(_.defaults {now:dailyTask.startDate}, o) if dailyTask.frequency == 'daily' daysSinceTaskStart = api.numDaysApart(day, dailyTask.startDate, o) everyXCheck = (daysSinceTaskStart % dailyTask.everyX == 0) return everyXCheck && hasStartedCheck else if dailyTask.frequency == 'weekly' - dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeek]] + dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeekNum]] weeksSinceTaskStartWeek = api.numWeeksApart(day, dailyTask.startDate, o) everyXCheck = (weeksSinceTaskStartWeek % dailyTask.everyX == 0) return dayOfWeekCheck && everyXCheck && hasStartedCheck From d3ecb885d4b4397dfab7a60d3dffcd3b8815427b Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 23 May 2015 08:54:01 -0500 Subject: [PATCH 11/49] Set daillys startDate in the past --- test/common/algos.mocha.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index 1132d7f6cd..6f8ebb76d5 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -792,6 +792,7 @@ describe 'Cron', -> before.dailys[0].repeat = after.dailys[0].repeat = options.repeat if options.repeat before.dailys[0].streak = after.dailys[0].streak = 10 before.dailys[0].completed = after.dailys[0].completed = true if options.checked + before.dailys[0].startDate = after.dailys[0].startDate = moment().subtract(30, 'days') if options.shouldDo expect(shared.shouldDo(now.toDate(), after.dailys[0], {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() after.fns.cron {now} From 3a8715f0a9a6be79c14aadbc6ebdeaa1b2a90573 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 23 May 2015 15:29:36 -0500 Subject: [PATCH 12/49] Set default startDate to today if task does not already have them --- website/src/models/task.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/models/task.js b/website/src/models/task.js index ac4ef56337..36fc6b2619 100644 --- a/website/src/models/task.js +++ b/website/src/models/task.js @@ -53,7 +53,7 @@ var DailySchema = new Schema( type: {type: String, 'default': 'daily'}, frequency: {type: String, 'default': 'weekly', enum: ['daily', 'weekly']}, everyX: {type: Number, 'default': 1}, // e.g. once every X weeks - startDate: {type: Date}, + startDate: {type: Date, 'default': new Date()}, history: Array, completed: {type: Boolean, 'default': false}, repeat: { // used only for 'weekly' frequency, From 0c9576733eade53cd17d155939ef45d1e54a1e0f Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 23 May 2015 15:39:18 -0500 Subject: [PATCH 13/49] Use moment to set startDate --- website/src/models/task.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/src/models/task.js b/website/src/models/task.js index 36fc6b2619..8ae24e353a 100644 --- a/website/src/models/task.js +++ b/website/src/models/task.js @@ -8,6 +8,7 @@ var mongoose = require("mongoose"); var Schema = mongoose.Schema; var shared = require('../../../common'); var _ = require('lodash'); +var moment = require('moment'); // Task Schema // ----------- @@ -53,7 +54,7 @@ var DailySchema = new Schema( type: {type: String, 'default': 'daily'}, frequency: {type: String, 'default': 'weekly', enum: ['daily', 'weekly']}, everyX: {type: Number, 'default': 1}, // e.g. once every X weeks - startDate: {type: Date, 'default': new Date()}, + startDate: {type: Date, 'default': moment().startOf('day').toDate()}, history: Array, completed: {type: Boolean, 'default': false}, repeat: { // used only for 'weekly' frequency, From 0dcd388925c542b20c8846642ca7dac8f0eaaff2 Mon Sep 17 00:00:00 2001 From: Allen Pan Date: Sat, 23 May 2015 23:57:46 -0700 Subject: [PATCH 14/49] Made sure to use api.startOfDay in dailies.coffee unit test when calculating day of the week. --- test/common/dailies.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/common/dailies.coffee b/test/common/dailies.coffee index 35d9d1833e..5dc9fd4cd7 100644 --- a/test/common/dailies.coffee +++ b/test/common/dailies.coffee @@ -348,7 +348,7 @@ describe 'weekly that repeats on M,W,F every x days', -> _.times 100, (day) -> valid_days = { Mon: true, Wed: true, Fri: true } day_to_test = start_date.add(day, 'days') - day_of_week = moment(day_to_test).format('ddd') + day_of_week = shared.startOfDay({now:day_to_test}).format('ddd') isDue = shared.shouldDo day_to_test, weekly is_correct_week = shared.numWeeksApart(day_to_test, start_date) % due == 0 From a15506e95146deab4dfdacef485a0c3b57bb1e27 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 23 May 2015 08:54:01 -0500 Subject: [PATCH 15/49] Set daillys startDate in the past --- test/common/algos.mocha.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index cc21db931b..62812b157c 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -792,6 +792,7 @@ describe 'Cron', -> before.dailys[0].repeat = after.dailys[0].repeat = options.repeat if options.repeat before.dailys[0].streak = after.dailys[0].streak = 10 before.dailys[0].completed = after.dailys[0].completed = true if options.checked + before.dailys[0].startDate = after.dailys[0].startDate = moment().subtract(30, 'days') if options.shouldDo expect(shared.shouldDo(now.toDate(), after.dailys[0], {timezoneOffset, dayStart:options.dayStart, now})).to.be.ok() after.fns.cron {now} From 8b347bca8b3f58dbfc02b08d4284a32559af3482 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 26 May 2015 17:18:16 -0500 Subject: [PATCH 16/49] Remove everyX check from weeklies; Change UI of frequency selection; Prep for monthlies in UI --- common/script/index.coffee | 14 +--- test/common/dailies.coffee | 33 +-------- website/views/shared/tasks/task.jade | 103 ++++++++++++++------------- 3 files changed, 58 insertions(+), 92 deletions(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index fe22dabd7d..87feb96bde 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -93,9 +93,7 @@ api.shouldDo = (day, dailyTask, options = {}) -> return everyXCheck && hasStartedCheck else if dailyTask.frequency == 'weekly' dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeekNum]] - weeksSinceTaskStartWeek = api.numWeeksApart(day, dailyTask.startDate, o) - everyXCheck = (weeksSinceTaskStartWeek % dailyTask.everyX == 0) - return dayOfWeekCheck && everyXCheck && hasStartedCheck + return dayOfWeekCheck && hasStartedCheck else # unexpected frequency string return false @@ -106,16 +104,6 @@ api.numDaysApart = (day1, day2, o) -> numDays = Math.abs(startOfDay1.diff(startOfDay2, 'days')) return numDays -# weeks between the two days, counting Monday as the start of each week -api.numWeeksApart = (day1, day2, o) -> - startOfDay1 = api.startOfDay(_.defaults {now:day1}, o) - startOfDay2 = api.startOfDay(_.defaults {now:day2}, o) - startWeekOfDay1 = startOfDay1.startOf('week') - startWeekOfDay2 = startOfDay2.startOf('week') - numWeeks = Math.abs(startWeekOfDay1.diff(startWeekOfDay2, 'weeks')) - return numWeeks - - ### ------------------------------------------------------ Level cap diff --git a/test/common/dailies.coffee b/test/common/dailies.coffee index 5dc9fd4cd7..d26c8d012e 100644 --- a/test/common/dailies.coffee +++ b/test/common/dailies.coffee @@ -319,41 +319,12 @@ describe 'daily that repeats every x days', -> user.dailys = [ shared.taskDefaults({type:'daily', startDate: moment(), frequency: 'daily'}) ] daily = user.dailys[0] - _.times 10, (n) -> - due = n + 1 + _.times 11, (due) -> it 'where x equals ' + due, -> daily.everyX = due - _.times 100, (day) -> + _.times 30, (day) -> isDue = shared.shouldDo moment().add(day, 'days'), daily expect(isDue).to.be true if day % due == 0 expect(isDue).to.be false if day % due != 0 - -describe 'weekly that repeats on M,W,F every x days', -> - user = null - weekly = null - start_date = moment() - - beforeEach -> - user = newUser() - user.dailys = [ shared.taskDefaults({type:'daily', startDate: start_date, frequency: 'weekly', repeat: {su:false,m:1,t:false,w:1,th:false,f:1,s:false}}) ] - weekly = user.dailys[0] - - _.times 10, (n) -> - due = n + 1 - - it 'where x equals ' + due, -> - weekly.everyX = due - _.times 100, (day) -> - valid_days = { Mon: true, Wed: true, Fri: true } - day_to_test = start_date.add(day, 'days') - day_of_week = shared.startOfDay({now:day_to_test}).format('ddd') - - isDue = shared.shouldDo day_to_test, weekly - is_correct_week = shared.numWeeksApart(day_to_test, start_date) % due == 0 - - if valid_days[day_of_week] && is_correct_week - expect(isDue).to.be true - else - expect(isDue).to.be false diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 7cb4ae73a2..95e5ea2293 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -1,3 +1,31 @@ +mixin repeatOptions + // If frequency is daily + .form-group(ng-if='task.frequency=="daily"') + .input-group + span.input-group-addon Once every   + input.form-control(type='number', ng-model='task.everyX', min='1') + span.input-group-addon day{{task.everyX == 1 ? '' : 's'}} + + // If frequency is weekly + .form-group(ng-show='task.frequency=="weekly"') + + ul.repeat-days(bindonce) + // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding + li + button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} + li + button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} + li + button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} + li + button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} + li + button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} + li + button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} + li + button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} + li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s"] | conditionalOrderBy: list.view=="dated":"date"', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward"), "locked-task":obj._locked === true}', popover-trigger='mouseenter', data-popover-html="{{task.popoverOpen ? '' : task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', ng-show='shouldShow(task, list, user.preferences)') // right-hand side control buttons .task-meta-controls @@ -168,52 +196,7 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s .dailies legend.option-title=env.t('repeat') - // Choose the frequency - ul.repeat-frequency - li - button(ng-class='{active: task.frequency=="daily"}', type='button', ng-click='task.frequency="daily"')='Daily' - li - button(ng-class='{active: task.frequency=="weekly"}', type='button', ng-click='task.frequency="weekly"')='Weekly' - - // If frequency is daily - div.repeat-frequency(ng-show='task.frequency=="daily"') - div.repeat-daily - | Once every   - select(ng-model='task.everyX') - option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} - | days - - // If frequency is weekly - div.repeat-frequency(ng-show='task.frequency=="weekly"') - div.repeat-weekly - | Once every  - select(ng-model='task.everyX') - option(ng-repeat='x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]') {{x}} - | weeks on these days: - - ul.repeat-days(bindonce) - // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding - li - button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} - li - button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} - li - button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} - li - button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} - li - button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} - li - button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} - li - button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} - - label.option-title=env.t('startDate') - p.input-group - input(type='text' class='form-control' datepicker-popup ng-model='task._tempDateForPicker' ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') - span.input-group-btn - button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') - .glyphicon.glyphicon-calendar + +repeatOptions // if Reward, pricing @@ -238,7 +221,32 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s // Advanced Options span(ng-if='::task.type!="reward"') p.option-title.mega(ng-click='task._advanced = !task._advanced', tooltip=env.t('expandCollapse'))=env.t('advancedOptions') - fieldset.option-group.advanced-option(ng-class="{visuallyhidden: task._advanced}") + + div(ng-show='task._advanced') + div(ng-if='task.type == "daily"') + .form-group + legend.option-title=env.t('startDate') + .input-group + input(type='text' class='form-control' datepicker-popup ng-model='task._tempDateForPicker' ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') + span.input-group-btn + button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') + .glyphicon.glyphicon-calendar + + hr + + .form-group + legend.option-title Repeat Frequency + select.form-control(ng-model='task.frequency') + option(value='weekly') Repeat on certain days of the week + option(value='daily') Repeat every X days + option(value='monthly') Repeat on certain days of the month + + +repeatOptions + + hr + + fieldset.option-group.advanced-option(ng-show="task._advanced") + legend.option-title a.hint.priority-multiplier-help(href='http://habitrpg.wikia.com/wiki/Difficulty', target='_blank', popover-title=env.t('difficultyHelpTitle'), popover-trigger='mouseenter', popover=env.t('difficultyHelpContent'))=env.t('difficulty') ul.priority-multiplier @@ -249,7 +257,6 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s li button(type='button', ng-class='{active: task.priority==2}', ng-click='task.challenge.id || (task.priority=2)')=env.t('hard') //span(ng-if='task.type=="daily" && !task.challenge.id') - span(ng-if='task.type=="daily"') legend.option-title.pull-left=env.t('restoreStreak') input.option-content(type='number', ng-model='task.streak') From dc4359ab6f0217aba0f8e6613e61672ffb7f4a3f Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 27 May 2015 12:32:14 -0500 Subject: [PATCH 17/49] Remove monthly option --- website/views/shared/tasks/task.jade | 1 - 1 file changed, 1 deletion(-) diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 95e5ea2293..19dae0ea32 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -239,7 +239,6 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s select.form-control(ng-model='task.frequency') option(value='weekly') Repeat on certain days of the week option(value='daily') Repeat every X days - option(value='monthly') Repeat on certain days of the month +repeatOptions From 85879177a6dec809576eb85cc5d48397eff1e144 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Tue, 2 Jun 2015 00:54:54 -0400 Subject: [PATCH 18/49] Added group leader to group description, and removed group leader from member list --- common/locales/en/groups.json | 2 ++ website/views/options/social/group.jade | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/common/locales/en/groups.json b/common/locales/en/groups.json index 6e5e0915d8..78ad3d162c 100644 --- a/common/locales/en/groups.json +++ b/common/locales/en/groups.json @@ -39,6 +39,8 @@ "editGroup": "Edit Group", "newGroupName": "<%= groupType %> Name", "groupName": "Group Name", + "groupLeader": "Group Leader: ", + "groupID": "Group ID: ", "groupDescr": "Description shown in public Guilds list (Markdown OK)", "logoUrl": "Logo URL", "assignLeader": "Assign Group Leader", diff --git a/website/views/options/social/group.jade b/website/views/options/social/group.jade index 850694e7e4..858df2adee 100644 --- a/website/views/options/social/group.jade +++ b/website/views/options/social/group.jade @@ -51,7 +51,12 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter img.pull-right(ng-show='group.logo', ng-src='{{group.logo}}') markdown(text='group.description') hr - small.muted Group ID: {{group._id}} + p=env.t('groupLeader') + a(class='badge badge-info', ng-click='clickMember(group.leader, true)') + | {{group.leader}} + .formatting-help + small.muted=env.t('groupID') + | {{group._id}} include ./challenge-box @@ -78,14 +83,14 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter ng-change='set({"party.orderAscending": user.party.orderAscending})' ) table.table.table-striped(bindonce='group') - tr(ng-repeat='member in group.members track by member._id') + tr(ng-repeat='member in group.members track by member._id' ng-if='member._id != group.leader') td.media // allow leaders to ban members - div.pull-left(ng-show='group.leader == user.id && user.id!=member._id') + div.pull-left(ng-show='group.leader == user.id') a.media-object(ng-click='removeMember(group, member, true)') span.glyphicon.glyphicon-ban-circle(tooltip=env.t('banTip')) a.media-body - span(ng-class='{"badge badge-info": group.leader==member._id}', ng-click='clickMember(member._id, true)') + span(ng-click='clickMember(member._id, true)') | {{member.profile.name}} tr(ng-if='group.memberCount > group.members.length') td From 705e0dce715c4d93e51ce13c35eb21e298ddc6f8 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 4 Jun 2015 08:25:06 -0500 Subject: [PATCH 19/49] Calculate days since task start with start of day --- common/script/index.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/script/index.coffee b/common/script/index.coffee index b97ededb07..20b0cbacb3 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -88,7 +88,7 @@ api.shouldDo = (day, dailyTask, options = {}) -> hasStartedCheck = day >= api.startOfDay(_.defaults {now:dailyTask.startDate}, o) if dailyTask.frequency == 'daily' - daysSinceTaskStart = api.numDaysApart(day, dailyTask.startDate, o) + daysSinceTaskStart = api.numDaysApart(day.startOf('day'), dailyTask.startDate, o) everyXCheck = (daysSinceTaskStart % dailyTask.everyX == 0) return everyXCheck && hasStartedCheck else if dailyTask.frequency == 'weekly' From 076f7f0db971588f2b3117abdf453a42d1872532 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 3 Jun 2015 21:48:38 -0500 Subject: [PATCH 20/49] Create translatable strings for dailies --- common/locales/en/tasks.json | 5 +++++ website/views/shared/tasks/task.jade | 13 ++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index 41258f6ea0..e23b413ef3 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -36,6 +36,11 @@ "newDailyBulk": "New Dailies (one per line)", "streakCounter": "Streak Counter", "repeat": "Repeat", + "repeatEvery": "Repeat Every", + "repeatDays": "Every X Days", + "repeatWeek": "On Certain Days of the Week", + "day": "Day", + "days": "Days", "restoreStreak": "Restore Streak", "todos": "To-Dos", "newTodo": "New To-Do", diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 19dae0ea32..ed79174ac7 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -1,10 +1,11 @@ mixin repeatOptions + legend.option-title=env.t('repeatEvery') + // If frequency is daily .form-group(ng-if='task.frequency=="daily"') .input-group - span.input-group-addon Once every   input.form-control(type='number', ng-model='task.everyX', min='1') - span.input-group-addon day{{task.everyX == 1 ? '' : 's'}} + span.input-group-addon {{task.everyX == 1 ? env.t('day') : env.t('days')}} // If frequency is weekly .form-group(ng-show='task.frequency=="weekly"') @@ -194,8 +195,6 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s // if Daily, calendar fieldset.option-group.calendar(ng-if='::task.type=="daily"', class="option-group") .dailies - legend.option-title=env.t('repeat') - +repeatOptions @@ -235,10 +234,10 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s hr .form-group - legend.option-title Repeat Frequency + legend.option-title=env.t('repeat') select.form-control(ng-model='task.frequency') - option(value='weekly') Repeat on certain days of the week - option(value='daily') Repeat every X days + option(value='weekly')=env.t('repeatWeek') + option(value='daily')=env.t('repeatDays') +repeatOptions From 90015134da2346b27dacbcf9ee54380c3ff47ad1 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Thu, 4 Jun 2015 15:18:09 -0400 Subject: [PATCH 21/49] Fixed 'group.leader.profile.name' issue and changed all instances of 'group.leader' to 'group.leader._id' --- website/src/controllers/groups.js | 1 + website/views/options/social/group.jade | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/website/src/controllers/groups.js b/website/src/controllers/groups.js index b9d2643c61..321a460760 100644 --- a/website/src/controllers/groups.js +++ b/website/src/controllers/groups.js @@ -41,6 +41,7 @@ var populateQuery = function(type, q, additionalFields){ else q.populate(guildPopulate); q.populate('invites', nameFields); + q.populate('leader', nameFields); q.populate({ path: 'challenges', match: (type=='habitrpg') ? {_id:{$ne:'95533e05-1ff9-4e46-970b-d77219f199e9'}} : undefined, // remove the Spread the Word Challenge for now, will revisit when we fix the closing-challenge bug diff --git a/website/views/options/social/group.jade b/website/views/options/social/group.jade index 858df2adee..50609912d8 100644 --- a/website/views/options/social/group.jade +++ b/website/views/options/social/group.jade @@ -22,7 +22,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter span.glyphicon.glyphicon-ban-circle =env.t('leave') a.btn.btn-success.pull-right(ng-if=':: !isMemberOfGroup(User.user._id, group)', ng-click='join(group)')=env.t('join') - span(ng-if='group.leader == user.id') + span(ng-if='group.leader._id == user.id') button.btn.btn-sm.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing')=env.t('save') button.btn.btn-sm.btn-default.pull-right(ng-click='group._editing = true', ng-hide='group._editing')=env.t('editGroup') @@ -52,8 +52,8 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter markdown(text='group.description') hr p=env.t('groupLeader') - a(class='badge badge-info', ng-click='clickMember(group.leader, true)') - | {{group.leader}} + a(class='badge badge-info', ng-click='clickMember(group.leader._id, true)') + | {{group.leader.profile.name}} .formatting-help small.muted=env.t('groupID') | {{group._id}} @@ -83,10 +83,10 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter ng-change='set({"party.orderAscending": user.party.orderAscending})' ) table.table.table-striped(bindonce='group') - tr(ng-repeat='member in group.members track by member._id' ng-if='member._id != group.leader') + tr(ng-repeat='member in group.members track by member._id' ng-if='member._id != group.leader._id') td.media // allow leaders to ban members - div.pull-left(ng-show='group.leader == user.id') + div.pull-left(ng-show='group.leader._id == user.id') a.media-object(ng-click='removeMember(group, member, true)') span.glyphicon.glyphicon-ban-circle(tooltip=env.t('banTip')) a.media-body @@ -103,7 +103,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter tr(ng-repeat='invite in group.invites') td.media // allow leaders to ban members - div.pull-left(ng-show='group.leader == user.id') + div.pull-left(ng-show='group.leader._id == user.id') a.media-object(ng-click='removeMember(group, invite, false)') span.glyphicon.glyphicon-ban-circle(tooltip=env.t('banTip')) a.media-body @@ -122,7 +122,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter td .popover.static-popover.fade.right.in.wide-popover .arrow - h3.popover-title {{Members.members[group.leader].profile.name}} + h3.popover-title {{group.leader.profile.name}} .popover-content markdown(text='group.leaderMessage') div(ng-controller='ChatCtrl') From 60ecdb2dcad1307140388864c31da9cc6f07c30e Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Thu, 4 Jun 2015 17:48:31 -0400 Subject: [PATCH 22/49] Removed colons from JSON and 'formatting-help' class to 'slight-vertical-padding' --- common/locales/en/groups.json | 4 ++-- website/public/css/game-pane.styl | 2 +- website/views/options/social/group.jade | 5 +++-- website/views/shared/formatting-help.jade | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/common/locales/en/groups.json b/common/locales/en/groups.json index 78ad3d162c..78a6aac270 100644 --- a/common/locales/en/groups.json +++ b/common/locales/en/groups.json @@ -39,8 +39,8 @@ "editGroup": "Edit Group", "newGroupName": "<%= groupType %> Name", "groupName": "Group Name", - "groupLeader": "Group Leader: ", - "groupID": "Group ID: ", + "groupLeader": "Group Leader", + "groupID": "Group ID", "groupDescr": "Description shown in public Guilds list (Markdown OK)", "logoUrl": "Logo URL", "assignLeader": "Assign Group Leader", diff --git a/website/public/css/game-pane.styl b/website/public/css/game-pane.styl index 1b6b1976ad..ea2729910d 100644 --- a/website/public/css/game-pane.styl +++ b/website/public/css/game-pane.styl @@ -21,7 +21,7 @@ padding: 1em; margin-bottom: 0.5em; -.formatting-help +.slight-vertical-padding clear: both padding-top: 0.618em diff --git a/website/views/options/social/group.jade b/website/views/options/social/group.jade index 50609912d8..2e57cb49a1 100644 --- a/website/views/options/social/group.jade +++ b/website/views/options/social/group.jade @@ -52,11 +52,12 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter markdown(text='group.description') hr p=env.t('groupLeader') + |: a(class='badge badge-info', ng-click='clickMember(group.leader._id, true)') | {{group.leader.profile.name}} - .formatting-help + .slight-vertical-padding small.muted=env.t('groupID') - | {{group._id}} + |: {{group._id}} include ./challenge-box diff --git a/website/views/shared/formatting-help.jade b/website/views/shared/formatting-help.jade index c4500e03b3..9ad945093e 100644 --- a/website/views/shared/formatting-help.jade +++ b/website/views/shared/formatting-help.jade @@ -1,7 +1,7 @@ small.btn-link(ng-init='showHelp = false', ng-click='showHelp = !showHelp') | {{showHelp ? env.t('hideFormattingHelp') : env.t('showFormattingHelp')}} -.formatting-help(ng-if='showHelp') +.slight-vertical-padding(ng-if='showHelp') table.table.table-striped tr.info td.col-xs-6 #[b=env.t('youType')] From b132b3c4fa8a108a9d0b35f6b692fd0e1061595b Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 4 Jun 2015 17:39:15 -0500 Subject: [PATCH 23/49] Make advanced options a button --- website/public/css/tasks.styl | 4 ++++ website/views/shared/tasks/task.jade | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/website/public/css/tasks.styl b/website/public/css/tasks.styl index aca785619c..7e98df0f9e 100644 --- a/website/public/css/tasks.styl +++ b/website/public/css/tasks.styl @@ -410,6 +410,10 @@ form padding: 0 0 1em margin-bottom: 1em + button.advanced-options-toggle + display: block; + width: 100%; + background: none; .option-title font-size: 1em margin: 0 0 0.5em diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index ed79174ac7..5bcde72d00 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -219,7 +219,9 @@ li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s // Advanced Options span(ng-if='::task.type!="reward"') - p.option-title.mega(ng-click='task._advanced = !task._advanced', tooltip=env.t('expandCollapse'))=env.t('advancedOptions') + button.advanced-options-toggle.option-title.mega(type='button', + ng-click='task._advanced = !task._advanced', tooltip=env.t('expandCollapse')) + =env.t('advancedOptions') div(ng-show='task._advanced') div(ng-if='task.type == "daily"') From 701fa2455fee919d72bfa4df1aea79f0903729b4 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 4 Jun 2015 21:05:41 -0500 Subject: [PATCH 24/49] Refactor task views --- website/views/index.jade | 2 +- .../shared/tasks/edit/advanced_options.jade | 70 +++++ .../views/shared/tasks/edit/checklist.jade | 22 ++ .../shared/tasks/edit/dailies/calendar.jade | 3 + .../tasks/edit/dailies/repeat_options.jade | 27 ++ .../shared/tasks/edit/habits/plus_minus.jade | 8 + website/views/shared/tasks/edit/index.jade | 52 ++++ .../shared/tasks/edit/rewards/pricing.jade | 5 + website/views/shared/tasks/edit/tags.jade | 5 + .../views/shared/tasks/edit/text_notes.jade | 6 + .../shared/tasks/edit/todos/due_date.jade | 4 + website/views/shared/tasks/index.jade | 39 +++ website/views/shared/tasks/lists.jade | 188 ------------ website/views/shared/tasks/meta_controls.jade | 56 ++++ website/views/shared/tasks/task.jade | 284 +----------------- .../views/shared/tasks/task_view/add_new.jade | 10 + .../views/shared/tasks/task_view/graph.jade | 9 + .../views/shared/tasks/task_view/help.jade | 25 ++ .../views/shared/tasks/task_view/index.jade | 35 +++ .../views/shared/tasks/task_view/mixins.jade | 60 ++++ .../views/shared/tasks/task_view/spells.jade | 25 ++ .../tasks/task_view/static_rewards.jade | 14 + 22 files changed, 487 insertions(+), 462 deletions(-) create mode 100644 website/views/shared/tasks/edit/advanced_options.jade create mode 100644 website/views/shared/tasks/edit/checklist.jade create mode 100644 website/views/shared/tasks/edit/dailies/calendar.jade create mode 100644 website/views/shared/tasks/edit/dailies/repeat_options.jade create mode 100644 website/views/shared/tasks/edit/habits/plus_minus.jade create mode 100644 website/views/shared/tasks/edit/index.jade create mode 100644 website/views/shared/tasks/edit/rewards/pricing.jade create mode 100644 website/views/shared/tasks/edit/tags.jade create mode 100644 website/views/shared/tasks/edit/text_notes.jade create mode 100644 website/views/shared/tasks/edit/todos/due_date.jade create mode 100644 website/views/shared/tasks/index.jade delete mode 100644 website/views/shared/tasks/lists.jade create mode 100644 website/views/shared/tasks/meta_controls.jade create mode 100644 website/views/shared/tasks/task_view/add_new.jade create mode 100644 website/views/shared/tasks/task_view/graph.jade create mode 100644 website/views/shared/tasks/task_view/help.jade create mode 100644 website/views/shared/tasks/task_view/index.jade create mode 100644 website/views/shared/tasks/task_view/mixins.jade create mode 100644 website/views/shared/tasks/task_view/spells.jade create mode 100644 website/views/shared/tasks/task_view/static_rewards.jade diff --git a/website/views/index.jade b/website/views/index.jade index cf70ebccdf..52d464c1b0 100644 --- a/website/views/index.jade +++ b/website/views/index.jade @@ -38,7 +38,7 @@ html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":a include ./shared/header/menu include ./shared/modals/index include ./shared/header/header - include ./shared/tasks/lists + include ./shared/tasks/index include ./main/index include ./options/index diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade new file mode 100644 index 0000000000..c757330adb --- /dev/null +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -0,0 +1,70 @@ +div(ng-if='::task.type!="reward"') + button.advanced-options-toggle.option-title.mega(type='button', + ng-click='task._advanced = !task._advanced', tooltip=env.t('expandCollapse')) + =env.t('advancedOptions') + + div(ng-show='task._advanced') + div(ng-if='::task.type == "daily"') + .form-group + legend.option-title=env.t('startDate') + .input-group + input.form-control(type='text', ng-model='task._tempDateForPicker' datepicker-popup + ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') + span.input-group-btn + button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') + .glyphicon.glyphicon-calendar + + hr + + .form-group + legend.option-title=env.t('repeat') + select.form-control(ng-model='task.frequency') + option(value='weekly')=env.t('repeatWeek') + option(value='daily')=env.t('repeatDays') + + include ./dailies/repeat_options + + hr + + fieldset.option-group.advanced-option(ng-show="task._advanced") + + legend.option-title + a.hint.priority-multiplier-help(href='http://habitrpg.wikia.com/wiki/Difficulty', target='_blank', popover-title=env.t('difficultyHelpTitle'), popover-trigger='mouseenter', popover=env.t('difficultyHelpContent'))=env.t('difficulty') + ul.priority-multiplier + li + button(type='button', ng-class='{active: task.priority==1 || !task.priority}', + ng-click='task.challenge.id || (task.priority=1)') + =env.t('easy') + li + button(type='button', ng-class='{active: task.priority==1.5}', + ng-click='task.challenge.id || (task.priority=1.5)') + =env.t('medium') + li + button(type='button', ng-class='{active: task.priority==2}', + ng-click='task.challenge.id || (task.priority=2)') + =env.t('hard') + + //span(ng-if='task.type=="daily" && !task.challenge.id') + legend.option-title.pull-left=env.t('restoreStreak') + input.option-content(type='number', ng-model='task.streak') + + div(ng-if='::(user.preferences.allocationMode == "taskbased" && user.preferences.automaticAllocation) || $state.is("options.social.challenges")') + legend.option-title.pull-left=env.t('attributes') + ul.task-attributes + li + button(type='button', ng-class='{active: task.attribute=="str"}', + ng-click='task.attribute="str"') + =env.t('physical') + li + button(type='button', ng-class='{active: task.attribute=="int"}', + ng-click='task.attribute="int"') + =env.t('mental') + li + button(type='button', ng-class='{active: task.attribute=="con"}', + ng-click='task.attribute="con"') + =env.t('social') + li + button(type='button', ng-class='{active: task.attribute=="per"}', + ng-click='task.attribute="per"', + popover=env.t('otherExamples'), popover-trigger='mouseenter', popover-placement='top') + =env.t('other') diff --git a/website/views/shared/tasks/edit/checklist.jade b/website/views/shared/tasks/edit/checklist.jade new file mode 100644 index 0000000000..2d5b9c347d --- /dev/null +++ b/website/views/shared/tasks/edit/checklist.jade @@ -0,0 +1,22 @@ +.task-checklist-edit(ng-if='!$state.includes("options.social.challenges")') + ul + li + button(type='button', ng-if='!task.checklist[0] && (task.type=="daily" || task.type=="todo")', + ng-click='addChecklist(task)') + span.glyphicon.glyphicon-tasks + span=env.t('addChecklist') + + form.checklist-form(ng-if='task.checklist') + fieldset.option-group(ng-if='!$state.includes("options.social.challenges")') + legend.option-title + span.hint(popover=env.t('checklistText'), popover-trigger='mouseenter', popover-placement='bottom') + =env.t('checklist') + ul(hrpg-sort-checklist) + li(ng-repeat='item in task.checklist') + //input(type='checkbox',ng-model='item.completed',ng-change='saveTask(task,true)') + //-,ng-blur='saveTask(task,true)') + span.checklist-icon.glyphicon.glyphicon-resize-vertical + input(type='text', ng-model='item.text', + ui-keyup="{'13':'addChecklistItem(task,$event,$index)','38 40':'navigateChecklist(task,$index,$event)'}") + a(ng-click='removeChecklistItem(task,$event,$index,true)') + span.glyphicon.glyphicon-trash(tooltip=env.t('delete')) diff --git a/website/views/shared/tasks/edit/dailies/calendar.jade b/website/views/shared/tasks/edit/dailies/calendar.jade new file mode 100644 index 0000000000..0ffb033acb --- /dev/null +++ b/website/views/shared/tasks/edit/dailies/calendar.jade @@ -0,0 +1,3 @@ +fieldset.option-group.calendar(ng-if='::task.type=="daily"', class="option-group") + .dailies + include ./repeat_options diff --git a/website/views/shared/tasks/edit/dailies/repeat_options.jade b/website/views/shared/tasks/edit/dailies/repeat_options.jade new file mode 100644 index 0000000000..1e57ac7c6a --- /dev/null +++ b/website/views/shared/tasks/edit/dailies/repeat_options.jade @@ -0,0 +1,27 @@ +legend.option-title=env.t('repeatEvery') + +// If frequency is daily +.form-group(ng-if='task.frequency=="daily"') + .input-group + input.form-control(type='number', ng-model='task.everyX', min='1') + span.input-group-addon {{task.everyX == 1 ? env.t('day') : env.t('days')}} + +// If frequency is weekly +.form-group(ng-show='task.frequency=="weekly"') + + ul.repeat-days(bindonce) + // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding + li + button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} + li + button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} + li + button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} + li + button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} + li + button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} + li + button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} + li + button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} diff --git a/website/views/shared/tasks/edit/habits/plus_minus.jade b/website/views/shared/tasks/edit/habits/plus_minus.jade new file mode 100644 index 0000000000..bbe17b7d4e --- /dev/null +++ b/website/views/shared/tasks/edit/habits/plus_minus.jade @@ -0,0 +1,8 @@ +fieldset.option-group.plusminus(ng-if='task.type=="habit" && !task.challenge.id') + legend.option-title=env.t('direction/Actions') + span.task-checker + input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-plus', type='checkbox', ng-model='task.up') + label(for='{{obj._id}}_{{task.id}}-option-plus') + span.task-checker + input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-minus', type='checkbox', ng-model='task.down') + label(for='{{obj._id}}_{{task.id}}-option-minus') diff --git a/website/views/shared/tasks/edit/index.jade b/website/views/shared/tasks/edit/index.jade new file mode 100644 index 0000000000..ce29ee8896 --- /dev/null +++ b/website/views/shared/tasks/edit/index.jade @@ -0,0 +1,52 @@ +div(ng-if='task._editing') + .task-options + + // Broken Challenge + .well(ng-if='task.challenge.broken') + div(ng-if='task.challenge.broken=="TASK_DELETED"') + p=env.t('brokenTask') + p + a(ng-click='unlink(task, "keep")')=env.t('keepIt') + |    + a(ng-click="removeTask(task, obj[list.type+'s'])")=env.t('removeIt') + div(ng-if='task.challenge.broken=="CHALLENGE_DELETED"') + p + |  + =env.t('brokenChallenge') + p + a(ng-click='unlink(task, "keep-all")')=env.t('keepThem') + |  |  + a(ng-click='unlink(task, "remove-all")')=env.t('removeThem') + div(ng-if='task.challenge.broken=="CHALLENGE_CLOSED"') + p + !=env.t('challengeCompleted', {user: "{{task.challenge.winner}}"}) + p + a(ng-click='unlink(task, "keep-all")')=env.t('keepThem') + |  |  + a(ng-click='unlink(task, "remove-all")')=env.t('removeThem') + //div(ng-if='task.challenge.broken=="UNSUBSCRIBED"') + p=env.t('unsubChallenge') + p + a(ng-click="unlink(task, 'keep-all')")=env.t('keepThem') + |  |  + a(ng-click="unlink(task, 'remove-all')")=env.t('removeThem') + + include ./checklist + + form(ng-submit='saveTask(task,false,true)') + include ./text_notes + + include ./habits/plus_minus + + include ./dailies/calendar + + include ./rewards/pricing + + include ./todos/due_date + + include ./tags + + include ./advanced_options + + .save-close + button(type='submit')=env.t('saveAndClose') diff --git a/website/views/shared/tasks/edit/rewards/pricing.jade b/website/views/shared/tasks/edit/rewards/pricing.jade new file mode 100644 index 0000000000..ff07223072 --- /dev/null +++ b/website/views/shared/tasks/edit/rewards/pricing.jade @@ -0,0 +1,5 @@ +fieldset.option-group.option-short(ng-if='task.type=="reward" && !task.challenge.id') + legend.option-title=env.t('price') + input.option-content(type='number', size='16', min='0', step="any", ng-model='task.value') + .money.input-suffix + span.shop_gold diff --git a/website/views/shared/tasks/edit/tags.jade b/website/views/shared/tasks/edit/tags.jade new file mode 100644 index 0000000000..ab512731fd --- /dev/null +++ b/website/views/shared/tasks/edit/tags.jade @@ -0,0 +1,5 @@ +fieldset.option-group(ng-if='!$state.includes("options.social.challenges")') + p.option-title.mega(ng-click='task._tags = !task._tags', tooltip=env.t('expandCollapse'))=env.t('tags') + label.checkbox(ng-repeat='tag in user.tags', ng-class="{visuallyhidden: task._tags}") + input(type='checkbox', ng-model='task.tags[tag.id]') + markdown(text='tag.name') diff --git a/website/views/shared/tasks/edit/text_notes.jade b/website/views/shared/tasks/edit/text_notes.jade new file mode 100644 index 0000000000..72cddbd59c --- /dev/null +++ b/website/views/shared/tasks/edit/text_notes.jade @@ -0,0 +1,6 @@ +fieldset.option-group + label.option-title=env.t('text') + input.option-content(type='text', ng-model='task.text', required, ng-disabled='task.challenge.id') + + label.option-title=env.t('extraNotes') + textarea.option-content(rows='3', ng-model='task.notes', ng-model-options="{debounce: 1000}") diff --git a/website/views/shared/tasks/edit/todos/due_date.jade b/website/views/shared/tasks/edit/todos/due_date.jade new file mode 100644 index 0000000000..32b081a610 --- /dev/null +++ b/website/views/shared/tasks/edit/todos/due_date.jade @@ -0,0 +1,4 @@ +fieldset.option-group(ng-if='task.type=="todo" && !task.challenge.id') + legend.option-title=env.t('dueDate') + input.option-content.datepicker(type='text', datepicker-popup='{{user.preferences.dateFormat}}', ng-model='task.date', is-open='datepickerOpened', ng-click='datepickerOpened = true') + diff --git a/website/views/shared/tasks/index.jade b/website/views/shared/tasks/index.jade new file mode 100644 index 0000000000..31dd35bd42 --- /dev/null +++ b/website/views/shared/tasks/index.jade @@ -0,0 +1,39 @@ +// Note here, we need this part of Habit to be a directive since we're going to be passing it variables from various +// parts of the app. The alternative would be to create new scopes for different containing sections, but that +// started to get unwieldy + +include ./task_view/mixins +script(id='templates/habitrpg-tasks.html', type="text/ng-template") + .tasks-lists.container-fluid + .row + .col-md-3.col-sm-6(ng-repeat='::list in lists', ng-class='::{"rewards-module": list.type==="reward"}') + .task-column(class='{{::list.type}}s') + + include ./task_view/graph + + h2.task-column_title {{::list.header}} + + include ./task_view/help + + .todos-chart(ng-if='::list.type == "todo"', ng-show='charts.todos') + + include ./task_view/add_new + + alert.alert-warning.dailiesRestingInInn(ng-if='::list.type == "daily" && user.preferences.sleep') + i.glyphicon.glyphicon-warning-sign   + =env.t('dailiesRestingInInn') + + +taskColumnTabs('top') + + // Actual List + ul(class='{{::list.type}}s main-list', ng-show='obj[list.type + "s"].length > 0', hrpg-sort-tasks, ng-if='!$state.includes("options.social.challenges")') + include ./task + //Loads the non-sortable lists for challenges + ul(class='{{::list.type}}s main-list', ng-show='obj[list.type + "s"].length > 0', ng-if='$state.includes("options.social.challenges")') + include ./task + + include ./task_view/static_rewards + + include ./task_view/spells + + +taskColumnTabs('bottom') diff --git a/website/views/shared/tasks/lists.jade b/website/views/shared/tasks/lists.jade deleted file mode 100644 index 73567ff2cc..0000000000 --- a/website/views/shared/tasks/lists.jade +++ /dev/null @@ -1,188 +0,0 @@ -// Note here, we need this part of Habit to be a directive since we're going to be passing it variables from various -// parts of the app. The alternative would be to create new scopes for different containing sections, but that -// started to get unwieldy -script(id='templates/habitrpg-tasks.html', type="text/ng-template") - .tasks-lists.container-fluid - .row - .col-md-3.col-sm-6(bindonce='lists', ng-repeat='list in lists', ng-class='::{"rewards-module": list.type==="reward"}') - .task-column(class='{{list.type}}s') - - // Todos export/graph options - span.option-box.pull-right(ng-if='::main') - a.option-action(ng-if='list.type=="todo"', ng-show='obj.history.todos', ng-click='toggleChart("todos")', tooltip=env.t('progress'), style='margin-right:5px;') - span.glyphicon.glyphicon-signal - //a.option-action(ng-href='/v1/users/{{user.id}}/calendar.ics?apiToken={{user.apiToken}}', tooltip='iCal') - //-a.option-action(ng-if='list.type=="todo"', ng-click='notPorted()', tooltip='iCal', ng-show='false') - span.glyphicon.glyphicon-calendar - // - a.option-action(ng-click='list.help=!list.help', tooltip='Click for help') - span.glyphicon.glyphicon-question-sign(style={'zoom':1.5,'vertical-align':'-webkit-baseline-middle'}) - - // Header - h2.task-column_title - | {{list.header}} - - div(ng-if='list.help', ng-switch='::list.type') - div(ng-switch-when='habit') - ul - li!=env.t('habitHelp1', {plusIcon:""}) - li!=env.t('habitHelp2', {minusIcon:""}) - li!=env.t('habitHelp3') - li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) - div(ng-switch-when='daily') - ul - li!=env.t('dailyHelp1', {emphasisStart:"", emphasisEnd:"", pencilIcon:""}) - li!=env.t('dailyHelp2') - li!=env.t('dailyHelp3', {emphasisStart:"", emphasisEnd:""}) - li!=env.t('dailyHelp4', {linkStart:"", linkEnd:""}) - li!=env.t('dailyHelp5') - li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) - div(ng-switch-when='todo') - ul - li!=env.t('toDoHelp1') - li!=env.t('toDoHelp2') - li!=env.t('toDoHelp3') - li!=env.t('toDoHelp4') - li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) - div(ng-switch-when='reward') - ul - li!=env.t('rewardHelp1', {linkStart:"", linkEnd: ""}) - li!=env.t('rewardHelp2', {linkStart:"", linkEnd: ""}) - li!=env.t('rewardHelp3') - li!=env.t('rewardHelp4') - li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) - - // Todo Chart - .todos-chart(ng-if='::list.type == "todo"', ng-show='charts.todos') - - // Add New - form.task-add(name='new{{list.type}}form', ng-hide='obj._locked', ng-submit='addTask(obj[list.type+"s"],list)') - textarea(rows='6', task-focus='list.bulk && list.focus', ng-model='list.newTask', placeholder='{{list.placeHolderBulk}}', ng-if='list.bulk', ui-keydown='{"meta-enter ctrl-enter":"addTask(obj[list.type+\'s\'],list)"}', required) - input(type='text', task-focus='!list.bulk && list.focus', ng-model='list.newTask', placeholder='{{list.placeHolder}}', ng-if='!list.bulk', required) - button(type='submit', ng-disabled='new{{list.type}}form.$invalid') - div.empty-task-notification( ng-show='new{{list.type}}form.$invalid', tooltip=env.t("emptyTask") ) - span.glyphicon.glyphicon-plus - span.glyphicon.glyphicon-plus(ng-show='!new{{list.type}}form.$invalid') - small.help-block.btn-link.pull-right(ng-click='toggleBulk(list)') - span(ng-if='!list.bulk')=env.t('addmultiple') - span(ng-if='list.bulk')=env.t('addsingle') - - alert.alert-warning.dailiesRestingInInn(ng-if='::list.type == "daily" && user.preferences.sleep') - i.glyphicon.glyphicon-warning-sign   - =env.t('dailiesRestingInInn') - - mixin taskColumnTabs(position) - // Habits Tabs - div(ng-if='::main && list.type=="habit"', class='tabbable tabs-below') - ul.task-filter - li(ng-class='{active: list.view == "all"}') - a(ng-click='list.view = "all"')=env.t('all') - li(ng-class='{active: list.view == "yellowred"}') - a(ng-click='list.view = "yellowred"')=env.t('yellowred') - li(ng-class='{active: list.view == "greenblue"}') - a(ng-click='list.view = "greenblue"')=env.t('greenblue') - // Daily Tabs - div(ng-if='::main && list.type=="daily"', class='tabbable tabs-below') - // remaining/completed tabs - ul.task-filter - li(ng-class='{active: list.view == "all"}') - a(ng-click='list.view = "all"')=env.t('all') - li(ng-class='{active: list.view == "remaining"}') - a(ng-click='list.view = "remaining"')=env.t('due') - li(ng-class='{active: list.view == "complete"}') - a(ng-click='list.view = "complete"')=env.t('grey') - // Todo Tabs - div(ng-if='::main && list.type=="todo"', ng-class='::{"tabbable tabs-below": list.type=="todo"}') - if position=="bottom" - div(ng-show='list.view == "complete"') - .alert - =env.t('lotOfToDos') - button.task-action-btn.tile.spacious.bright(ng-click='user.ops.clearCompleted({})',popover=env.t('deleteToDosExplanation'),popover-trigger='mouseenter')=env.t('clearCompleted') - p!=env.t('beeminderDeleteWarning') - // remaining/completed tabs - ul.task-filter - li(ng-class='{active: list.view == "remaining"}') - a(ng-click='list.view = "remaining"')=env.t('remaining') - li(ng-class='{active: list.view == "dated"}') - a(ng-click='list.view = "dated"')=env.t('dated') - li(ng-class='{active: list.view == "complete"}') - a(ng-click='list.view = "complete"')=env.t('complete') - // Rewards Tabs - div(ng-if='::main && list.type=="reward"', class='tabbable tabs-below') - ul.task-filter - li(ng-class='{active: list.view == "all"}') - a(ng-click='list.view = "all"')=env.t('all') - li(ng-class='{active: list.view == "ingamerewards"}') - a(ng-click='list.view = "ingamerewards"')=env.t('ingamerewards') - - +taskColumnTabs('top') - - // Actual List - ul(class='{{list.type}}s main-list', ng-show='obj[list.type + "s"].length > 0', hrpg-sort-tasks, ng-if='!$state.includes("options.social.challenges")') - include ./task - //Loads the non-sortable lists for challenges - ul(class='{{list.type}}s main-list', ng-show='obj[list.type + "s"].length > 0', ng-if='$state.includes("options.social.challenges")') - include ./task - - // Static Rewards - ul.items.rewards(ng-if='main && list.type=="reward"') - li.task.reward-item(ng-repeat='item in itemStore',popover-trigger='mouseenter', popover-placement='top', popover='{{item.notes()}}') - // right-hand side control buttons - .task-meta-controls - span.task-notes - span.glyphicon.glyphicon-comment - //left-hand size commands - .task-controls.task-primary - a.money.btn-buy.item-btn(ng-class='{highValue: item.value >= 1000}', ng-click='buy(item)') - span.shop_gold - span.reward-cost {{item.value}} - // main content - span(ng-class='::{"shop_{{item.key}} shop-sprite item-img": true}').reward-img - p.task-text {{item.text()}} - - // Events - ul.items.rewards(ng-if='main && list.type=="reward" && (user.items.special.snowball>0 || user.stats.buffs.snowball || user.items.special.spookDust>0 || user.stats.buffs.spookDust || user.items.special.shinySeed>0 || user.stats.buffs.shinySeed)') - - mixin specialSpell(k,canceler) - li.task.reward-item(ng-if='#{canceler ? "user.stats.buffs."+canceler : "user.items.special."+k+">0"}',popover-trigger='mouseenter', popover-placement='top', popover='{{Content.spells.special.#{k}.notes()}}') - .task-meta-controls - span.task-notes - span.glyphicon.glyphicon-comment - //left-hand size commands - .task-controls.task-primary - a.money.btn-buy.item-btn(ng-click='castStart(Content.spells.special.#{k})', ng-class='{active: Content.spells.special.#{k}.key == spell.key}') - if canceler - span.shop_gold - span.reward-cost {{Content.spells.special.#{k}.value}} - else - span.shop_spell(class='shop_#{k}') - span.reward-cost {{user.items.special.#{k}}} - // main content - p.task-text {{Content.spells.special.#{k}.text()}} - - +specialSpell('snowball') - +specialSpell('spookDust') - +specialSpell('shinySeed') - +specialSpell('salt','snowball') - +specialSpell('opaquePotion','spookDust') - +specialSpell('petalFreePotion','shinySeed') - - // Spells - ul.items(ng-if='main && list.type=="reward" && user.stats.class && !user.preferences.disableClasses') - li.task.reward-item(ng-repeat='(k,skill) in Content.spells[user.stats.class]', ng-if='user.stats.lvl >= skill.lvl',popover-trigger='mouseenter', popover-placement='top', popover='{{skill.notes()}}') - .task-meta-controls - span.task-notes - span.glyphicon.glyphicon-comment - //left-hand size commands - .task-controls.task-primary - a.money.btn-buy.item-btn(ng-click='castStart(skill)', ng-class='{active: skill.key == spell.key}') - span.reward-cost - strong {{skill.mana}} - =env.t('mp') - // main content - span(ng-class='{"shop_{{skill.key}} shop-sprite item-img": true}') - p.task-text {{skill.text()}} - - br - - +taskColumnTabs('bottom') diff --git a/website/views/shared/tasks/meta_controls.jade b/website/views/shared/tasks/meta_controls.jade new file mode 100644 index 0000000000..acff83ef6f --- /dev/null +++ b/website/views/shared/tasks/meta_controls.jade @@ -0,0 +1,56 @@ +.task-meta-controls + + // Due Date + span(ng-if='task.type=="todo" && task.date') + span(ng-class='{"label label-danger":(moment(task.date).isBefore(_today, "days") && !task.completed)}') {{task.date | date:(user.preferences.dateFormat.indexOf('yyyy') == 0 ? user.preferences.dateFormat.substr(5) : user.preferences.dateFormat.substr(0,5))}} + + // Streak + |   + span(ng-show='task.streak') {{task.streak}}  + span(tooltip=env.t('streakCounter')) + span.glyphicon.glyphicon-forward + |   + + // Icons only available if you own the tasks (aka, hidden from challenge stats) + span(ng-if='!obj._locked') + a(ng-click='pushTask(task,$index,"top")', tooltip=env.t('pushTaskToTop')) + span.glyphicon.glyphicon-open + // a(ng-click='pushTask(task,$index,"bottom")', tooltip=env.t('pushTaskToBottom')) + // span.glyphicon.glyphicon-import + // // glyphicon-import or glyphicon-save or glyphicon-sort-by-attributes + a.badge(ng-if='task.checklist[0]', ng-class='{"badge-success":checklistCompletion(task.checklist) == task.checklist.length}', ng-click='collapseChecklist(task)', tooltip=env.t('expandCollapse')) + |{{checklistCompletion(task.checklist)}}/{{task.checklist.length}} + span.glyphicon.glyphicon-tags(tooltip='{{Shared.appliedTags(user.tags, task.tags)}}', ng-hide='Shared.noTags(task.tags)') + // edit + a(ng-hide='task._editing', ng-click='editTask(task)', tooltip=env.t('edit')) + |   + span.glyphicon.glyphicon-pencil(ng-hide='task._editing') + |   + a(ng-hide='!task._editing', ng-click='editTask(task)', tooltip=env.t('cancel')) + span.glyphicon.glyphicon-remove(ng-hide='!task._editing') + |   + // save + a(ng-hide='!task._editing', ng-click='editTask(task);saveTask(task)', tooltip=env.t('save')) + span.glyphicon.glyphicon-ok(ng-hide='!task._editing') + |   + //challenges + span(ng-if='task.challenge.id') + span(ng-if='task.challenge.broken') + span.glyphicon.glyphicon-bullhorn(style='background-color:red;', ng-click='task._editing = true', tooltip=env.t('brokenChaLink') tooltip-placement='right') + |   + span(ng-if='!task.challenge.broken') + span.glyphicon.glyphicon-bullhorn(tooltip=env.t('challenge')) + |   + // delete + a(ng-if='!task.challenge.id', ng-click='removeTask(task, obj[list.type+"s"])', tooltip=env.t('delete')) + span.glyphicon.glyphicon-trash + |   + + // chart + a(ng-show='task.history', ng-click='toggleChart(obj._id+task.id, task)', tooltip=env.t('progress')) + span.glyphicon.glyphicon-signal + |   + // notes + span.task-notes(ng-show='task.notes && !task._editing', ng-click='task.popoverOpen = !task.popoverOpen', popover-trigger='click', data-popover-html="{{task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}') + span.glyphicon.glyphicon-comment + |   diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 5bcde72d00..1ee6d90a74 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -1,278 +1,16 @@ -mixin repeatOptions - legend.option-title=env.t('repeatEvery') +li(id='task-{{::task.id}}', + ng-repeat='task in obj[list.type+"s"] | conditionalOrderBy: list.view=="dated":"date"', + class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', + ng-class='{"cast-target":spell && (list.type != "reward"), "locked-task":obj._locked === true}', + ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', + ng-show='shouldShow(task, list, user.preferences)', + popover-trigger='mouseenter', popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', + data-popover-html="{{task.popoverOpen ? '' : task.notes | markdown}}") - // If frequency is daily - .form-group(ng-if='task.frequency=="daily"') - .input-group - input.form-control(type='number', ng-model='task.everyX', min='1') - span.input-group-addon {{task.everyX == 1 ? env.t('day') : env.t('days')}} + include ./meta_controls - // If frequency is weekly - .form-group(ng-show='task.frequency=="weekly"') + include ./task_view/index - ul.repeat-days(bindonce) - // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding - li - button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} - li - button(ng-class='{active: task.repeat.m}', type='button', ng-click='task.challenge.id || (task.repeat.m = !task.repeat.m)') {{::moment.weekdaysMin(1)}} - li - button(ng-class='{active: task.repeat.t}', type='button', ng-click='task.challenge.id || (task.repeat.t = !task.repeat.t)') {{::moment.weekdaysMin(2)}} - li - button(ng-class='{active: task.repeat.w}', type='button', ng-click='task.challenge.id || (task.repeat.w = !task.repeat.w)') {{::moment.weekdaysMin(3)}} - li - button(ng-class='{active: task.repeat.th}', type='button', ng-click='task.challenge.id || (task.repeat.th = !task.repeat.th)') {{::moment.weekdaysMin(4)}} - li - button(ng-class='{active: task.repeat.f}', type='button', ng-click='task.challenge.id || (task.repeat.f= !task.repeat.f)') {{::moment.weekdaysMin(5)}} - li - button(ng-class='{active: task.repeat.s}', type='button', ng-click='task.challenge.id || (task.repeat.s = !task.repeat.s)') {{::moment.weekdaysMin(6)}} - -li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s"] | conditionalOrderBy: list.view=="dated":"date"', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward"), "locked-task":obj._locked === true}', popover-trigger='mouseenter', data-popover-html="{{task.popoverOpen ? '' : task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', ng-show='shouldShow(task, list, user.preferences)') - // right-hand side control buttons - .task-meta-controls - - // Due Date - span(ng-if='task.type=="todo" && task.date') - span(ng-class='{"label label-danger":(moment(task.date).isBefore(_today, "days") && !task.completed)}') {{task.date | date:(user.preferences.dateFormat.indexOf('yyyy') == 0 ? user.preferences.dateFormat.substr(5) : user.preferences.dateFormat.substr(0,5))}} - - // Streak - |   - span(ng-show='task.streak') {{task.streak}}  - span(tooltip=env.t('streakCounter')) - span.glyphicon.glyphicon-forward - |   - - // Icons only available if you own the tasks (aka, hidden from challenge stats) - span(ng-if='!obj._locked') - a(ng-click='pushTask(task,$index,"top")', tooltip=env.t('pushTaskToTop')) - span.glyphicon.glyphicon-open - // a(ng-click='pushTask(task,$index,"bottom")', tooltip=env.t('pushTaskToBottom')) - // span.glyphicon.glyphicon-import - // // glyphicon-import or glyphicon-save or glyphicon-sort-by-attributes - a.badge(ng-if='task.checklist[0]', ng-class='{"badge-success":checklistCompletion(task.checklist) == task.checklist.length}', ng-click='collapseChecklist(task)', tooltip=env.t('expandCollapse')) - |{{checklistCompletion(task.checklist)}}/{{task.checklist.length}} - span.glyphicon.glyphicon-tags(tooltip='{{Shared.appliedTags(user.tags, task.tags)}}', ng-hide='Shared.noTags(task.tags)') - // edit - a(ng-hide='task._editing', ng-click='editTask(task)', tooltip=env.t('edit')) - |   - span.glyphicon.glyphicon-pencil(ng-hide='task._editing') - |   - a(ng-hide='!task._editing', ng-click='editTask(task)', tooltip=env.t('cancel')) - span.glyphicon.glyphicon-remove(ng-hide='!task._editing') - |   - // save - a(ng-hide='!task._editing', ng-click='editTask(task);saveTask(task)', tooltip=env.t('save')) - span.glyphicon.glyphicon-ok(ng-hide='!task._editing') - |   - //challenges - span(ng-if='task.challenge.id') - span(ng-if='task.challenge.broken') - span.glyphicon.glyphicon-bullhorn(style='background-color:red;', ng-click='task._editing = true', tooltip=env.t('brokenChaLink') tooltip-placement='right') - |   - span(ng-if='!task.challenge.broken') - span.glyphicon.glyphicon-bullhorn(tooltip=env.t('challenge')) - |   - // delete - a(ng-if='!task.challenge.id', ng-click='removeTask(task, obj[list.type+"s"])', tooltip=env.t('delete')) - span.glyphicon.glyphicon-trash - |   - - // chart - a(ng-show='task.history', ng-click='toggleChart(obj._id+task.id, task)', tooltip=env.t('progress')) - span.glyphicon.glyphicon-signal - |   - // notes - span.task-notes(ng-show='task.notes && !task._editing', ng-click='task.popoverOpen = !task.popoverOpen', popover-trigger='click', data-popover-html="{{task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}') - span.glyphicon.glyphicon-comment - |   - - // left-hand side checkbox - .task-controls.task-primary(ng-if='!task._editing') - - // Habits - .task-actions(ng-if='::task.type=="habit"') - // score() is overridden in challengesCtrl to do nothing - a(ng-if='task.up', ng-click='applyingAction || score(task,"up")') - span.glyphicon.glyphicon-plus - a(ng-if='task.down', ng-click='applyingAction || score(task,"down")') - span.glyphicon.glyphicon-minus - - // Rewards - span(ng-show='task.type=="reward"') - a.money.btn-buy(ng-class='{highValue: task.value >= 1000}', ng-click='score(task, "down")') - span.shop_gold - span.reward-cost {{task.value}} - // Daily & Todos - span.task-checker.action-yesno(ng-if='::task.type=="daily" || task.type=="todo"') - input.visuallyhidden.focusable(ng-if='$state.includes("tasks")', id='box-{{obj._id}}_{{task.id}}', type='checkbox', ng-model='task.completed', ng-change='task.type=="todo" && pushTask(task,$index,"bottom"); changeCheck(task)') - input.visuallyhidden.focusable(ng-if='!$state.includes("tasks")', id='box-{{obj._id}}_{{task.id}}', type='checkbox') - label(for='box-{{obj._id}}_{{task.id}}') - - // main content - div.task-text(ng-dblclick='task._editing ? saveTask(task) : editTask(task)') - markdown(text='task.text',target='_blank') - //-| {{task.text}} - - div(ng-if='task.checklist && !$state.includes("options.social.challenges") && !task.collapseChecklist && !task._editing') - fieldset.option-group.task-checklist - label.checkbox(ng-repeat='item in task.checklist') - input(type='checkbox',ng-model='item.completed',ng-change='saveTask(task,true)') - markdown(text='item.text',target='_blank') - - // edit/options dialog - div(ng-if='task._editing') - .task-options - - // Broken Challenge - .well(ng-if='task.challenge.broken') - div(ng-if='task.challenge.broken=="TASK_DELETED"') - p=env.t('brokenTask') - p - a(ng-click='unlink(task, "keep")')=env.t('keepIt') - |    - a(ng-click="removeTask(task, obj[list.type+'s'])")=env.t('removeIt') - div(ng-if='task.challenge.broken=="CHALLENGE_DELETED"') - p - |  - =env.t('brokenChallenge') - p - a(ng-click='unlink(task, "keep-all")')=env.t('keepThem') - |  |  - a(ng-click='unlink(task, "remove-all")')=env.t('removeThem') - div(ng-if='task.challenge.broken=="CHALLENGE_CLOSED"') - p - !=env.t('challengeCompleted', {user: "{{task.challenge.winner}}"}) - p - a(ng-click='unlink(task, "keep-all")')=env.t('keepThem') - |  |  - a(ng-click='unlink(task, "remove-all")')=env.t('removeThem') - //div(ng-if='task.challenge.broken=="UNSUBSCRIBED"') - p=env.t('unsubChallenge') - p - a(ng-click="unlink(task, 'keep-all')")=env.t('keepThem') - |  |  - a(ng-click="unlink(task, 'remove-all')")=env.t('removeThem') - - // Checklists - .task-checklist-edit(ng-if='!$state.includes("options.social.challenges")') - ul - li - button(type='button', ng-if='!task.checklist[0] && (task.type=="daily" || task.type=="todo")',ng-click='addChecklist(task)') - span.glyphicon.glyphicon-tasks - span=env.t('addChecklist') - form.checklist-form(ng-if='task.checklist') - fieldset.option-group(ng-if='!$state.includes("options.social.challenges")') - legend.option-title - span.hint(popover=env.t('checklistText'),popover-trigger='mouseenter',popover-placement='bottom')=env.t('checklist') - ul(hrpg-sort-checklist) - li(ng-repeat='item in task.checklist') - //input(type='checkbox',ng-model='item.completed',ng-change='saveTask(task,true)') - //-,ng-blur='saveTask(task,true)') - span.checklist-icon.glyphicon.glyphicon-resize-vertical() - input(type='text',ng-model='item.text', ui-keyup="{'13':'addChecklistItem(task,$event,$index)','38 40':'navigateChecklist(task,$index,$event)'}") - a(ng-click='removeChecklistItem(task,$event,$index,true)') - span.glyphicon.glyphicon-trash(tooltip=env.t('delete')) - - form(ng-submit='saveTask(task,false,true)') - // text & notes - fieldset.option-group - label.option-title=env.t('text') - input.option-content(type='text', ng-model='task.text', required, ng-disabled='task.challenge.id') - - label.option-title=env.t('extraNotes') - textarea.option-content(rows='3', ng-model='task.notes', ng-model-options="{debounce: 1000}") - - // if Habit, plus/minus command options - fieldset.option-group.plusminus(ng-if='task.type=="habit" && !task.challenge.id') - legend.option-title=env.t('direction/Actions') - span.task-checker - input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-plus', type='checkbox', ng-model='task.up') - label(for='{{obj._id}}_{{task.id}}-option-plus') - span.task-checker - input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-minus', type='checkbox', ng-model='task.down') - label(for='{{obj._id}}_{{task.id}}-option-minus') - - // if Daily, calendar - fieldset.option-group.calendar(ng-if='::task.type=="daily"', class="option-group") - .dailies - +repeatOptions - - - // if Reward, pricing - fieldset.option-group.option-short(ng-if='task.type=="reward" && !task.challenge.id') - legend.option-title=env.t('price') - input.option-content(type='number', size='16', min='0', step="any", ng-model='task.value') - .money.input-suffix - span.shop_gold - - // if Todos, the due date - fieldset.option-group(ng-if='task.type=="todo" && !task.challenge.id') - legend.option-title=env.t('dueDate') - input.option-content.datepicker(type='text', datepicker-popup='{{user.preferences.dateFormat}}', ng-model='task.date', is-open='datepickerOpened', ng-click='datepickerOpened = true') - - // Tags - fieldset.option-group(ng-if='!$state.includes("options.social.challenges")') - p.option-title.mega(ng-click='task._tags = !task._tags', tooltip=env.t('expandCollapse'))=env.t('tags') - label.checkbox(ng-repeat='tag in user.tags', ng-class="{visuallyhidden: task._tags}") - input(type='checkbox', ng-model='task.tags[tag.id]') - markdown(text='tag.name') - - // Advanced Options - span(ng-if='::task.type!="reward"') - button.advanced-options-toggle.option-title.mega(type='button', - ng-click='task._advanced = !task._advanced', tooltip=env.t('expandCollapse')) - =env.t('advancedOptions') - - div(ng-show='task._advanced') - div(ng-if='task.type == "daily"') - .form-group - legend.option-title=env.t('startDate') - .input-group - input(type='text' class='form-control' datepicker-popup ng-model='task._tempDateForPicker' ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') - span.input-group-btn - button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') - .glyphicon.glyphicon-calendar - - hr - - .form-group - legend.option-title=env.t('repeat') - select.form-control(ng-model='task.frequency') - option(value='weekly')=env.t('repeatWeek') - option(value='daily')=env.t('repeatDays') - - +repeatOptions - - hr - - fieldset.option-group.advanced-option(ng-show="task._advanced") - - legend.option-title - a.hint.priority-multiplier-help(href='http://habitrpg.wikia.com/wiki/Difficulty', target='_blank', popover-title=env.t('difficultyHelpTitle'), popover-trigger='mouseenter', popover=env.t('difficultyHelpContent'))=env.t('difficulty') - ul.priority-multiplier - li - button(type='button', ng-class='{active: task.priority==1 || !task.priority}', ng-click='task.challenge.id || (task.priority=1)')=env.t('easy') - li - button(type='button', ng-class='{active: task.priority==1.5}', ng-click='task.challenge.id || (task.priority=1.5)')=env.t('medium') - li - button(type='button', ng-class='{active: task.priority==2}', ng-click='task.challenge.id || (task.priority=2)')=env.t('hard') - //span(ng-if='task.type=="daily" && !task.challenge.id') - legend.option-title.pull-left=env.t('restoreStreak') - input.option-content(type='number', ng-model='task.streak') - - div(ng-if='(user.preferences.allocationMode == "taskbased" && user.preferences.automaticAllocation) || $state.is("options.social.challenges")') - legend.option-title.pull-left=env.t('attributes') - ul.task-attributes - li - button(type='button', ng-class='{active: task.attribute=="str"}', ng-click='task.attribute="str"')=env.t('physical') - li - button(type='button', ng-class='{active: task.attribute=="int"}', ng-click='task.attribute="int"')=env.t('mental') - li - button(type='button', ng-class='{active: task.attribute=="con"}', ng-click='task.attribute="con"')=env.t('social') - li - button(type='button', ng-class='{active: task.attribute=="per"}', ng-click='task.attribute="per"', popover=env.t('otherExamples'), popover-trigger='mouseenter', popover-placement='top')=env.t('other') - - .save-close - button(type='submit')=env.t('saveAndClose') + include ./edit/index div(class='{{obj._id}}{{task.id}}-chart', ng-show='charts[obj._id+task.id]') diff --git a/website/views/shared/tasks/task_view/add_new.jade b/website/views/shared/tasks/task_view/add_new.jade new file mode 100644 index 0000000000..ef214d5ce1 --- /dev/null +++ b/website/views/shared/tasks/task_view/add_new.jade @@ -0,0 +1,10 @@ +form.task-add(name='new{{list.type}}form', ng-hide='obj._locked', ng-submit='addTask(obj[list.type+"s"],list)') + textarea(rows='6', task-focus='list.bulk && list.focus', ng-model='list.newTask', placeholder='{{list.placeHolderBulk}}', ng-if='list.bulk', ui-keydown='{"meta-enter ctrl-enter":"addTask(obj[list.type+\'s\'],list)"}', required) + input(type='text', task-focus='!list.bulk && list.focus', ng-model='list.newTask', placeholder='{{list.placeHolder}}', ng-if='!list.bulk', required) + button(type='submit', ng-disabled='new{{list.type}}form.$invalid') + div.empty-task-notification( ng-show='new{{list.type}}form.$invalid', tooltip=env.t("emptyTask") ) + span.glyphicon.glyphicon-plus + span.glyphicon.glyphicon-plus(ng-show='!new{{list.type}}form.$invalid') + small.help-block.btn-link.pull-right(ng-click='toggleBulk(list)') + span(ng-if='!list.bulk')=env.t('addmultiple') + span(ng-if='list.bulk')=env.t('addsingle') diff --git a/website/views/shared/tasks/task_view/graph.jade b/website/views/shared/tasks/task_view/graph.jade new file mode 100644 index 0000000000..2ccc3cae1c --- /dev/null +++ b/website/views/shared/tasks/task_view/graph.jade @@ -0,0 +1,9 @@ +span.option-box.pull-right(ng-if='::main') + a.option-action(ng-if='list.type=="todo"', ng-show='obj.history.todos', ng-click='toggleChart("todos")', tooltip=env.t('progress'), style='margin-right:5px;') + span.glyphicon.glyphicon-signal + //a.option-action(ng-href='/v1/users/{{user.id}}/calendar.ics?apiToken={{user.apiToken}}', tooltip='iCal') + //-a.option-action(ng-if='list.type=="todo"', ng-click='notPorted()', tooltip='iCal', ng-show='false') + span.glyphicon.glyphicon-calendar + // + a.option-action(ng-click='list.help=!list.help', tooltip='Click for help') + span.glyphicon.glyphicon-question-sign(style={'zoom':1.5,'vertical-align':'-webkit-baseline-middle'}) diff --git a/website/views/shared/tasks/task_view/help.jade b/website/views/shared/tasks/task_view/help.jade new file mode 100644 index 0000000000..609aad5bc9 --- /dev/null +++ b/website/views/shared/tasks/task_view/help.jade @@ -0,0 +1,25 @@ +div(ng-if='list.help', ng-switch='::list.type') + ul(ng-switch-when='habit') + li!=env.t('habitHelp1', {plusIcon:""}) + li!=env.t('habitHelp2', {minusIcon:""}) + li!=env.t('habitHelp3') + li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) + ul(ng-switch-when='daily') + li!=env.t('dailyHelp1', {emphasisStart:"", emphasisEnd:"", pencilIcon:""}) + li!=env.t('dailyHelp2') + li!=env.t('dailyHelp3', {emphasisStart:"", emphasisEnd:""}) + li!=env.t('dailyHelp4', {linkStart:"", linkEnd:""}) + li!=env.t('dailyHelp5') + li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) + ul(ng-switch-when='todo') + li!=env.t('toDoHelp1') + li!=env.t('toDoHelp2') + li!=env.t('toDoHelp3') + li!=env.t('toDoHelp4') + li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) + ul(ng-switch-when='reward') + li!=env.t('rewardHelp1', {linkStart:"", linkEnd: ""}) + li!=env.t('rewardHelp2', {linkStart:"", linkEnd: ""}) + li!=env.t('rewardHelp3') + li!=env.t('rewardHelp4') + li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) diff --git a/website/views/shared/tasks/task_view/index.jade b/website/views/shared/tasks/task_view/index.jade new file mode 100644 index 0000000000..f15490969d --- /dev/null +++ b/website/views/shared/tasks/task_view/index.jade @@ -0,0 +1,35 @@ +// left-hand side checkbox +.task-controls.task-primary(ng-if='!task._editing') + + // Habits + .task-actions(ng-if='::task.type=="habit"') + // score() is overridden in challengesCtrl to do nothing + a(ng-if='task.up', ng-click='applyingAction || score(task,"up")') + span.glyphicon.glyphicon-plus + a(ng-if='task.down', ng-click='applyingAction || score(task,"down")') + span.glyphicon.glyphicon-minus + + // Rewards + span(ng-if='::task.type=="reward"') + a.money.btn-buy(ng-class='{highValue: task.value >= 1000}', ng-click='score(task, "down")') + span.shop_gold + span.reward-cost {{task.value}} + + // Daily & Todos + span.task-checker.action-yesno(ng-if='::task.type=="daily" || task.type=="todo"') + input.visuallyhidden.focusable(id='box-{{::obj._id}}_{{::task.id}}', type='checkbox', + ng-model='task.completed', ng-if='$state.includes("tasks")', + ng-change='task.type=="todo" && pushTask(task,$index,"bottom"); changeCheck(task)') + input.visuallyhidden.focusable(id='box-{{::obj._id}}_{{::task.id}}', type='checkbox', + ng-if='!$state.includes("tasks")') + label(for='box-{{::obj._id}}_{{::task.id}}') + +// main content +.task-text(ng-dblclick='task._editing ? saveTask(task) : editTask(task)') + markdown(text='task.text',target='_blank') + + div(ng-if='task.checklist && !$state.includes("options.social.challenges") && !task.collapseChecklist && !task._editing') + fieldset.option-group.task-checklist + label.checkbox(ng-repeat='item in task.checklist') + input(type='checkbox', ng-model='item.completed', ng-change='saveTask(task,true)') + markdown(text='item.text', target='_blank') diff --git a/website/views/shared/tasks/task_view/mixins.jade b/website/views/shared/tasks/task_view/mixins.jade new file mode 100644 index 0000000000..775f194a76 --- /dev/null +++ b/website/views/shared/tasks/task_view/mixins.jade @@ -0,0 +1,60 @@ +mixin taskColumnTabs(position) + // Habits Tabs + div(ng-if='::main && list.type=="habit"', class='tabbable tabs-below') + ul.task-filter + li(ng-class='{active: list.view == "all"}') + a(ng-click='list.view = "all"')=env.t('all') + li(ng-class='{active: list.view == "yellowred"}') + a(ng-click='list.view = "yellowred"')=env.t('yellowred') + li(ng-class='{active: list.view == "greenblue"}') + a(ng-click='list.view = "greenblue"')=env.t('greenblue') + // Daily Tabs + div(ng-if='::main && list.type=="daily"', class='tabbable tabs-below') + // remaining/completed tabs + ul.task-filter + li(ng-class='{active: list.view == "all"}') + a(ng-click='list.view = "all"')=env.t('all') + li(ng-class='{active: list.view == "remaining"}') + a(ng-click='list.view = "remaining"')=env.t('due') + li(ng-class='{active: list.view == "complete"}') + a(ng-click='list.view = "complete"')=env.t('grey') + // Todo Tabs + div(ng-if='::main && list.type=="todo"', ng-class='::{"tabbable tabs-below": list.type=="todo"}') + if position=="bottom" + div(ng-show='list.view == "complete"') + .alert + =env.t('lotOfToDos') + button.task-action-btn.tile.spacious.bright(ng-click='user.ops.clearCompleted({})',popover=env.t('deleteToDosExplanation'),popover-trigger='mouseenter')=env.t('clearCompleted') + p!=env.t('beeminderDeleteWarning') + // remaining/completed tabs + ul.task-filter + li(ng-class='{active: list.view == "remaining"}') + a(ng-click='list.view = "remaining"')=env.t('remaining') + li(ng-class='{active: list.view == "dated"}') + a(ng-click='list.view = "dated"')=env.t('dated') + li(ng-class='{active: list.view == "complete"}') + a(ng-click='list.view = "complete"')=env.t('complete') + // Rewards Tabs + div(ng-if='::main && list.type=="reward"', class='tabbable tabs-below') + ul.task-filter + li(ng-class='{active: list.view == "all"}') + a(ng-click='list.view = "all"')=env.t('all') + li(ng-class='{active: list.view == "ingamerewards"}') + a(ng-click='list.view = "ingamerewards"')=env.t('ingamerewards') + +mixin specialSpell(k,canceler) + li.task.reward-item(ng-if='#{canceler ? "user.stats.buffs."+canceler : "user.items.special."+k+">0"}',popover-trigger='mouseenter', popover-placement='top', popover='{{Content.spells.special.#{k}.notes()}}') + .task-meta-controls + span.task-notes + span.glyphicon.glyphicon-comment + //left-hand size commands + .task-controls.task-primary + a.money.btn-buy.item-btn(ng-click='castStart(Content.spells.special.#{k})', ng-class='{active: Content.spells.special.#{k}.key == spell.key}') + if canceler + span.shop_gold + span.reward-cost {{Content.spells.special.#{k}.value}} + else + span.shop_spell(class='shop_#{k}') + span.reward-cost {{user.items.special.#{k}}} + // main content + p.task-text {{Content.spells.special.#{k}.text()}} diff --git a/website/views/shared/tasks/task_view/spells.jade b/website/views/shared/tasks/task_view/spells.jade new file mode 100644 index 0000000000..9360b0e656 --- /dev/null +++ b/website/views/shared/tasks/task_view/spells.jade @@ -0,0 +1,25 @@ +// Events +ul.items.rewards(ng-if='main && list.type=="reward" && (user.items.special.snowball>0 || user.stats.buffs.snowball || user.items.special.spookDust>0 || user.stats.buffs.spookDust || user.items.special.shinySeed>0 || user.stats.buffs.shinySeed)') + + +specialSpell('snowball') + +specialSpell('spookDust') + +specialSpell('shinySeed') + +specialSpell('salt','snowball') + +specialSpell('opaquePotion','spookDust') + +specialSpell('petalFreePotion','shinySeed') + +// Spells +ul.items(ng-if='main && list.type=="reward" && user.stats.class && !user.preferences.disableClasses') + li.task.reward-item(ng-repeat='(k,skill) in Content.spells[user.stats.class]', ng-if='user.stats.lvl >= skill.lvl',popover-trigger='mouseenter', popover-placement='top', popover='{{skill.notes()}}') + .task-meta-controls + span.task-notes + span.glyphicon.glyphicon-comment + //left-hand size commands + .task-controls.task-primary + a.money.btn-buy.item-btn(ng-click='castStart(skill)', ng-class='{active: skill.key == spell.key}') + span.reward-cost + strong {{skill.mana}} + =env.t('mp') + // main content + span(ng-class='{"shop_{{skill.key}} shop-sprite item-img": true}') + p.task-text {{skill.text()}} diff --git a/website/views/shared/tasks/task_view/static_rewards.jade b/website/views/shared/tasks/task_view/static_rewards.jade new file mode 100644 index 0000000000..3f2b5f3b51 --- /dev/null +++ b/website/views/shared/tasks/task_view/static_rewards.jade @@ -0,0 +1,14 @@ +ul.items.rewards(ng-if='main && list.type=="reward"') + li.task.reward-item(ng-repeat='item in itemStore',popover-trigger='mouseenter', popover-placement='top', popover='{{item.notes()}}') + // right-hand side control buttons + .task-meta-controls + span.task-notes + span.glyphicon.glyphicon-comment + //left-hand size commands + .task-controls.task-primary + a.money.btn-buy.item-btn(ng-class='{highValue: item.value >= 1000}', ng-click='buy(item)') + span.shop_gold + span.reward-cost {{item.value}} + // main content + span(ng-class='::{"shop_{{item.key}} shop-sprite item-img": true}').reward-img + p.task-text {{item.text()}} From 099e0abeedb450cfc43caf5c4f9fa65515af5785 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 5 Jun 2015 07:19:34 -0500 Subject: [PATCH 25/49] Restore restore streaks functionality --- website/views/shared/tasks/edit/advanced_options.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index c757330adb..1a36d2418f 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -44,7 +44,7 @@ div(ng-if='::task.type!="reward"') ng-click='task.challenge.id || (task.priority=2)') =env.t('hard') - //span(ng-if='task.type=="daily" && !task.challenge.id') + span(ng-if='task.type=="daily"') legend.option-title.pull-left=env.t('restoreStreak') input.option-content(type='number', ng-model='task.streak') From 403075262d6405b076b408a766614dc71244317c Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 5 Jun 2015 07:26:03 -0500 Subject: [PATCH 26/49] Remove bindonce symbol from ng-repeat --- website/views/shared/tasks/index.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/views/shared/tasks/index.jade b/website/views/shared/tasks/index.jade index 31dd35bd42..972a62f1db 100644 --- a/website/views/shared/tasks/index.jade +++ b/website/views/shared/tasks/index.jade @@ -6,7 +6,7 @@ include ./task_view/mixins script(id='templates/habitrpg-tasks.html', type="text/ng-template") .tasks-lists.container-fluid .row - .col-md-3.col-sm-6(ng-repeat='::list in lists', ng-class='::{"rewards-module": list.type==="reward"}') + .col-md-3.col-sm-6(ng-repeat='list in lists', ng-class='::{"rewards-module": list.type==="reward"}') .task-column(class='{{::list.type}}s') include ./task_view/graph From dc9bb352447765cd77f93b8b1b4c509ea57ac8a3 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 5 Jun 2015 07:40:48 -0500 Subject: [PATCH 27/49] Add ng-form --- website/views/shared/tasks/edit/advanced_options.jade | 5 +++-- website/views/shared/tasks/task.jade | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index 1a36d2418f..1f3869409f 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -8,8 +8,9 @@ div(ng-if='::task.type!="reward"') .form-group legend.option-title=env.t('startDate') .input-group - input.form-control(type='text', ng-model='task._tempDateForPicker' datepicker-popup - ng-change='updateTaskStartDate(task)' is-open='task._isDatePickerOpen') + input.form-control(type='text', ng-model='task._tempDateForPicker', + ng-change='updateTaskStartDate(task)', + is-open='task._isDatePickerOpen', datepicker-popup, required) span.input-group-btn button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') .glyphicon.glyphicon-calendar diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 1ee6d90a74..1ec55839b7 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -7,10 +7,11 @@ li(id='task-{{::task.id}}', popover-trigger='mouseenter', popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', data-popover-html="{{task.popoverOpen ? '' : task.notes | markdown}}") - include ./meta_controls + ng-form(name='taskForm') + include ./meta_controls - include ./task_view/index + include ./task_view/index - include ./edit/index + include ./edit/index div(class='{{obj._id}}{{task.id}}-chart', ng-show='charts[obj._id+task.id]') From d26e4780fdaf4df1d41132717e671cc88994bf54 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Fri, 5 Jun 2015 09:26:33 -0400 Subject: [PATCH 28/49] Added links to multiple task help phrases --- common/locales/en/tasks.json | 2 +- website/views/shared/tasks/lists.jade | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index 2353e9de2b..6d100164b6 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -95,5 +95,5 @@ "rewardHelp1": "The Equipment you buy for your avatar is stored in <%= linkStart %>Inventory > Equipment<%= linkEnd %>.", "rewardHelp2": "Equipment affects your stats (<%= linkStart %>Avatar > Stats<%= linkEnd %>).", "rewardHelp3": "Special equipment will appear here during World Events.", - "rewardHelp4": "Don't be afraid to set custom Rewards! Check out some samples here." + "rewardHelp4": "Don't be afraid to set custom Rewards! Check out <%= linkStart %>some samples here<%= linkEnd %>." } diff --git a/website/views/shared/tasks/lists.jade b/website/views/shared/tasks/lists.jade index 73567ff2cc..659d8bdb45 100644 --- a/website/views/shared/tasks/lists.jade +++ b/website/views/shared/tasks/lists.jade @@ -27,7 +27,7 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") ul li!=env.t('habitHelp1', {plusIcon:""}) li!=env.t('habitHelp2', {minusIcon:""}) - li!=env.t('habitHelp3') + li!=env.t('habitHelp3', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='daily') ul @@ -35,21 +35,21 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") li!=env.t('dailyHelp2') li!=env.t('dailyHelp3', {emphasisStart:"", emphasisEnd:""}) li!=env.t('dailyHelp4', {linkStart:"", linkEnd:""}) - li!=env.t('dailyHelp5') + li!=env.t('dailyHelp5', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='todo') ul li!=env.t('toDoHelp1') li!=env.t('toDoHelp2') li!=env.t('toDoHelp3') - li!=env.t('toDoHelp4') + li!=env.t('toDoHelp4', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='reward') ul li!=env.t('rewardHelp1', {linkStart:"", linkEnd: ""}) li!=env.t('rewardHelp2', {linkStart:"", linkEnd: ""}) li!=env.t('rewardHelp3') - li!=env.t('rewardHelp4') + li!=env.t('rewardHelp4', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) // Todo Chart From d415e9b0149cde09a0120b5424e34783cbd79170 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Fri, 5 Jun 2015 09:35:01 -0400 Subject: [PATCH 29/49] Slightly modified habitHelp3 --- common/locales/en/tasks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index 6d100164b6..5682c84be6 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -81,7 +81,7 @@ "dailiesRestingInInn": "You're Resting in the Inn! Your Dailies will NOT hurt you tonight, but they WILL still refresh every day. If you're in a quest, you won't deal damage/collect items until you check out of the Inn, but you can still be injured by a Boss if your Party mates skip their own Dailies.", "habitHelp1": "Good Habits are things that you do often. They award Gold and Experience every time you click the <%= plusIcon %>.", "habitHelp2": "Bad Habits are things you want to avoid doing. They remove Health every time you click the <%= minusIcon %>.", - "habitHelp3": "For inspiration, check out <%= linkStart %>these sample Habits<%= linkEnd %>.", + "habitHelp3": "For inspiration, check out these <%= linkStart %>sample Habits<%= linkEnd %>!", "newbieGuild": "More questions? Ask in the <%= linkStart %>Newbies Guild<%= linkEnd %>!", "dailyHelp1": "Dailies repeat <%= emphasisStart %>every day<%= emphasisEnd %> that they are active. Click the <%= pencilIcon %> to change the days a Daily is active.", "dailyHelp2": "If you don't complete active Dailies, you lose Health when your day rolls over.", From 16f0ece2f8d8ecb1bca801efa2288858b7a18911 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Fri, 5 Jun 2015 09:44:19 -0400 Subject: [PATCH 30/49] Removed ! from 'env.t' that don't have html characters --- website/views/shared/tasks/lists.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/views/shared/tasks/lists.jade b/website/views/shared/tasks/lists.jade index 659d8bdb45..189a88f40f 100644 --- a/website/views/shared/tasks/lists.jade +++ b/website/views/shared/tasks/lists.jade @@ -32,23 +32,23 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") div(ng-switch-when='daily') ul li!=env.t('dailyHelp1', {emphasisStart:"", emphasisEnd:"", pencilIcon:""}) - li!=env.t('dailyHelp2') + li=env.t('dailyHelp2') li!=env.t('dailyHelp3', {emphasisStart:"", emphasisEnd:""}) li!=env.t('dailyHelp4', {linkStart:"", linkEnd:""}) li!=env.t('dailyHelp5', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='todo') ul - li!=env.t('toDoHelp1') - li!=env.t('toDoHelp2') - li!=env.t('toDoHelp3') + li=env.t('toDoHelp1') + li=env.t('toDoHelp2') + li=env.t('toDoHelp3') li!=env.t('toDoHelp4', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='reward') ul li!=env.t('rewardHelp1', {linkStart:"", linkEnd: ""}) li!=env.t('rewardHelp2', {linkStart:"", linkEnd: ""}) - li!=env.t('rewardHelp3') + li=env.t('rewardHelp3') li!=env.t('rewardHelp4', {linkStart:"", linkEnd: ""}) li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) From 58a816d584aa99d9ef6059e5c3712126559ce5e9 Mon Sep 17 00:00:00 2001 From: Kevin Gisi Date: Fri, 5 Jun 2015 20:54:47 -0400 Subject: [PATCH 31/49] Server-side mixpanel should only load in a production env --- website/src/utils.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/website/src/utils.js b/website/src/utils.js index 85ffb664ec..beb093e28e 100644 --- a/website/src/utils.js +++ b/website/src/utils.js @@ -179,8 +179,11 @@ module.exports.setupConfig = function(){ baseUrl = nconf.get('BASE_URL'); module.exports.ga = require('universal-analytics')(nconf.get('GA_ID')); - var mixpanel = require('mixpanel') - module.exports.mixpanel = mixpanel.init(nconf.get('MP_ID')); + + var mixpanel = isProd && require('mixpanel'); + module.exports.mixpanel = mixpanel + ? mixpanel.init(nconf.get('MP_ID')) + : { track: function() {} }; }; var algorithm = 'aes-256-ctr'; From bf48671c7abc91ccd631b7e6ee057f7c22a84b72 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 6 Jun 2015 17:55:21 -0500 Subject: [PATCH 32/49] Add validation to everyX --- .../views/shared/tasks/edit/dailies/repeat_options.jade | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/website/views/shared/tasks/edit/dailies/repeat_options.jade b/website/views/shared/tasks/edit/dailies/repeat_options.jade index 1e57ac7c6a..e89f7d1d3b 100644 --- a/website/views/shared/tasks/edit/dailies/repeat_options.jade +++ b/website/views/shared/tasks/edit/dailies/repeat_options.jade @@ -1,15 +1,14 @@ legend.option-title=env.t('repeatEvery') // If frequency is daily -.form-group(ng-if='task.frequency=="daily"') +ng-form.form-group(name='everyX' ng-if='task.frequency=="daily"') .input-group - input.form-control(type='number', ng-model='task.everyX', min='1') + input.form-control(type='number', ng-model='task.everyX', min='0', required) span.input-group-addon {{task.everyX == 1 ? env.t('day') : env.t('days')}} // If frequency is weekly -.form-group(ng-show='task.frequency=="weekly"') - - ul.repeat-days(bindonce) +.form-group(ng-if='task.frequency=="weekly"') + ul.repeat-days // note, does not use data-toggle="buttons-checkbox" - it would interfere with our own click binding li button(ng-class='{active: task.repeat.su}', type='button', ng-click='task.challenge.id || (task.repeat.su = !task.repeat.su)') {{::moment.weekdaysMin(0)}} From 047902ac62b178d0bd7b035e9e84c611e3bd499b Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 6 Jun 2015 17:55:36 -0500 Subject: [PATCH 33/49] Use input type date for datepicker --- website/views/shared/tasks/edit/advanced_options.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index 1f3869409f..10635fb7e3 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -8,7 +8,7 @@ div(ng-if='::task.type!="reward"') .form-group legend.option-title=env.t('startDate') .input-group - input.form-control(type='text', ng-model='task._tempDateForPicker', + input.form-control(type='date', ng-model='task._tempDateForPicker', ng-change='updateTaskStartDate(task)', is-open='task._isDatePickerOpen', datepicker-popup, required) span.input-group-btn From 41d0f505f397143b169f6d635db42afb89e9f9bc Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 6 Jun 2015 22:34:02 -0500 Subject: [PATCH 34/49] Simplify datepicker --- website/public/js/controllers/tasksCtrl.js | 12 ++---------- .../views/shared/tasks/edit/advanced_options.jade | 8 ++++---- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/website/public/js/controllers/tasksCtrl.js b/website/public/js/controllers/tasksCtrl.js index 586e025c15..634847ad1a 100644 --- a/website/public/js/controllers/tasksCtrl.js +++ b/website/public/js/controllers/tasksCtrl.js @@ -137,22 +137,14 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N Dailies ------------------------ */ - $scope.updateTaskStartDate = function(task) { - /* - Keep startDate and _tempDateForPicker in sync. The reason for having both instead - of having startDate be the ngmodel for datePicker is that datePicker initializes with - an incorrect format when given a Date for an ngmodel; instead we initialize _tempDate - to be a string that datePicker then converts to a Date, which lets us control the format. - */ - task.startDate = task._tempDateForPicker; - }; $scope.openDatePicker = function($event, task) { + $event.preventDefault(); $event.stopPropagation(); + task._isDatePickerOpen = !task._isDatePickerOpen; } - /* ------------------------ Checklists diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index 10635fb7e3..a1c9284235 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -8,12 +8,12 @@ div(ng-if='::task.type!="reward"') .form-group legend.option-title=env.t('startDate') .input-group - input.form-control(type='date', ng-model='task._tempDateForPicker', - ng-change='updateTaskStartDate(task)', - is-open='task._isDatePickerOpen', datepicker-popup, required) + input.form-control(type='text', ng-model='task.startDate', + datepicker-popup='M/dd/yyyy', is-open='task._isDatePickerOpen', + ng-required='true', close-text='Close') span.input-group-btn button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') - .glyphicon.glyphicon-calendar + i.glyphicon.glyphicon-calendar hr From 91390138bb8d53a83b395241aad78470baef190a Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 6 Jun 2015 23:17:10 -0500 Subject: [PATCH 35/49] Make reward price required --- website/views/shared/tasks/edit/rewards/pricing.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/views/shared/tasks/edit/rewards/pricing.jade b/website/views/shared/tasks/edit/rewards/pricing.jade index ff07223072..f322dc06d9 100644 --- a/website/views/shared/tasks/edit/rewards/pricing.jade +++ b/website/views/shared/tasks/edit/rewards/pricing.jade @@ -1,5 +1,5 @@ fieldset.option-group.option-short(ng-if='task.type=="reward" && !task.challenge.id') legend.option-title=env.t('price') - input.option-content(type='number', size='16', min='0', step="any", ng-model='task.value') + input.option-content(type='number', size='16', min='0', step='any', ng-model='task.value', required) .money.input-suffix span.shop_gold From e6ed0c961dd026fcbcbab3e843a65c436835d59d Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 6 Jun 2015 23:27:03 -0500 Subject: [PATCH 36/49] Simplify datepickers --- website/views/shared/tasks/edit/advanced_options.jade | 10 +++------- website/views/shared/tasks/edit/todos/due_date.jade | 4 +++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index a1c9284235..db4b9c1e1a 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -7,13 +7,9 @@ div(ng-if='::task.type!="reward"') div(ng-if='::task.type == "daily"') .form-group legend.option-title=env.t('startDate') - .input-group - input.form-control(type='text', ng-model='task.startDate', - datepicker-popup='M/dd/yyyy', is-open='task._isDatePickerOpen', - ng-required='true', close-text='Close') - span.input-group-btn - button.btn.btn-default(type='button' ng-click='openDatePicker($event, task)') - i.glyphicon.glyphicon-calendar + input.form-control(type='text', ng-model='task.startDate', + datepicker-popup='{{::user.preferences.dateFormat}}', is-open='datepickerOpened', + ng-click='datepickerOpened = true') hr diff --git a/website/views/shared/tasks/edit/todos/due_date.jade b/website/views/shared/tasks/edit/todos/due_date.jade index 32b081a610..c9cbfe7d0e 100644 --- a/website/views/shared/tasks/edit/todos/due_date.jade +++ b/website/views/shared/tasks/edit/todos/due_date.jade @@ -1,4 +1,6 @@ fieldset.option-group(ng-if='task.type=="todo" && !task.challenge.id') legend.option-title=env.t('dueDate') - input.option-content.datepicker(type='text', datepicker-popup='{{user.preferences.dateFormat}}', ng-model='task.date', is-open='datepickerOpened', ng-click='datepickerOpened = true') + input.option-content.datepicker(type='text', ng-model='task.date', + datepicker-popup='{{::user.preferences.dateFormat}}', is-open='datepickerOpened', + ng-click='datepickerOpened = true') From c8ed73f6859e06cbe29bf93e7f4ebaadbe6ed3f4 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 7 Jun 2015 00:06:31 -0500 Subject: [PATCH 37/49] Added help text for startDate --- common/locales/en/tasks.json | 2 ++ website/views/shared/tasks/edit/advanced_options.jade | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index e23b413ef3..ffa781df2c 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -66,6 +66,8 @@ "hideTags": "Hide", "showTags": "Show", "startDate": "Start Date", + "startDateHelpTitle": "When should this task start?", + "startDateHelp": "Set the date for which this task takes effect. Will not be due on earlier days.", "streakName": "Streak Achievements", "streakText": "Has performed <%= streaks %> 21-day streaks on Dailies", "streakSingular": "Streaker", diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index db4b9c1e1a..21f96e7cb4 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -6,7 +6,10 @@ div(ng-if='::task.type!="reward"') div(ng-show='task._advanced') div(ng-if='::task.type == "daily"') .form-group - legend.option-title=env.t('startDate') + legend.option-title + span.hint(popover-title=env.t('startDateHelpTitle'), popover=env.t("startDateHelp"), popover-trigger='mouseenter') + =env.t('startDate') + input.form-control(type='text', ng-model='task.startDate', datepicker-popup='{{::user.preferences.dateFormat}}', is-open='datepickerOpened', ng-click='datepickerOpened = true') From b1b8dc18af4fd56b2e3bdfc888b631b99deef1a7 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Sun, 7 Jun 2015 13:17:57 -0400 Subject: [PATCH 38/49] Made links translatable --- common/locales/en/tasks.json | 8 ++++---- website/views/shared/tasks/lists.jade | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/common/locales/en/tasks.json b/common/locales/en/tasks.json index 5682c84be6..6f1f79e9a9 100644 --- a/common/locales/en/tasks.json +++ b/common/locales/en/tasks.json @@ -81,19 +81,19 @@ "dailiesRestingInInn": "You're Resting in the Inn! Your Dailies will NOT hurt you tonight, but they WILL still refresh every day. If you're in a quest, you won't deal damage/collect items until you check out of the Inn, but you can still be injured by a Boss if your Party mates skip their own Dailies.", "habitHelp1": "Good Habits are things that you do often. They award Gold and Experience every time you click the <%= plusIcon %>.", "habitHelp2": "Bad Habits are things you want to avoid doing. They remove Health every time you click the <%= minusIcon %>.", - "habitHelp3": "For inspiration, check out these <%= linkStart %>sample Habits<%= linkEnd %>!", + "habitHelp3": "For inspiration, check out these sample Habits!", "newbieGuild": "More questions? Ask in the <%= linkStart %>Newbies Guild<%= linkEnd %>!", "dailyHelp1": "Dailies repeat <%= emphasisStart %>every day<%= emphasisEnd %> that they are active. Click the <%= pencilIcon %> to change the days a Daily is active.", "dailyHelp2": "If you don't complete active Dailies, you lose Health when your day rolls over.", "dailyHelp3": "Dailies turn <%= emphasisStart %>redder<%= emphasisEnd %> when you miss them, and <%= emphasisStart %>bluer<%= emphasisEnd %> when you complete them. The redder the Daily, the more it will reward you... or hurt you.", "dailyHelp4": "To change when your day rolls over, go to <%= linkStart %> Settings > Site<%= linkEnd %> > Custom Day Start.", - "dailyHelp5": "For inspiration, check out these <%= linkStart %>sample Dailies<%= linkEnd %>!", + "dailyHelp5": "For inspiration, check out these sample Dailies!", "toDoHelp1": "To-Dos start yellow, and get redder (more valuable) the longer it takes to complete them.", "toDoHelp2": "To-Dos never hurt you! They only award Gold and Experience.", "toDoHelp3": "Breaking a To-Do down into a checklist of smaller items will make it less scary, and will increase your points!", - "toDoHelp4": "For inspiration, check out these <%= linkStart %>sample To-Dos<%= linkEnd %>!", + "toDoHelp4": "For inspiration, check out these sample To-Dos!", "rewardHelp1": "The Equipment you buy for your avatar is stored in <%= linkStart %>Inventory > Equipment<%= linkEnd %>.", "rewardHelp2": "Equipment affects your stats (<%= linkStart %>Avatar > Stats<%= linkEnd %>).", "rewardHelp3": "Special equipment will appear here during World Events.", - "rewardHelp4": "Don't be afraid to set custom Rewards! Check out <%= linkStart %>some samples here<%= linkEnd %>." + "rewardHelp4": "Don't be afraid to set custom Rewards! Check out some samples here." } diff --git a/website/views/shared/tasks/lists.jade b/website/views/shared/tasks/lists.jade index 189a88f40f..6b71c6140a 100644 --- a/website/views/shared/tasks/lists.jade +++ b/website/views/shared/tasks/lists.jade @@ -27,7 +27,7 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") ul li!=env.t('habitHelp1', {plusIcon:""}) li!=env.t('habitHelp2', {minusIcon:""}) - li!=env.t('habitHelp3', {linkStart:"", linkEnd: ""}) + li!=env.t('habitHelp3') li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='daily') ul @@ -35,21 +35,21 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") li=env.t('dailyHelp2') li!=env.t('dailyHelp3', {emphasisStart:"", emphasisEnd:""}) li!=env.t('dailyHelp4', {linkStart:"", linkEnd:""}) - li!=env.t('dailyHelp5', {linkStart:"", linkEnd: ""}) + li!=env.t('dailyHelp5') li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='todo') ul li=env.t('toDoHelp1') li=env.t('toDoHelp2') li=env.t('toDoHelp3') - li!=env.t('toDoHelp4', {linkStart:"", linkEnd: ""}) + li!=env.t('toDoHelp4') li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) div(ng-switch-when='reward') ul li!=env.t('rewardHelp1', {linkStart:"", linkEnd: ""}) li!=env.t('rewardHelp2', {linkStart:"", linkEnd: ""}) li=env.t('rewardHelp3') - li!=env.t('rewardHelp4', {linkStart:"", linkEnd: ""}) + li!=env.t('rewardHelp4') li!=env.t('newbieGuild', {linkStart:"", linkEnd: ""}) // Todo Chart From 099059462249c24e7181db142f511c00e3f84c36 Mon Sep 17 00:00:00 2001 From: agentx999 Date: Tue, 9 Jun 2015 10:53:54 -0700 Subject: [PATCH 39/49] removed unused text (untilNoFace) --- common/locales/en/generic.json | 1 - 1 file changed, 1 deletion(-) diff --git a/common/locales/en/generic.json b/common/locales/en/generic.json index c1aa3c2118..d92d82a524 100644 --- a/common/locales/en/generic.json +++ b/common/locales/en/generic.json @@ -70,7 +70,6 @@ "lastLoggedIn": "- Last logged in", "notPorted": "This feature is not yet ported from the original site.", "buyThis": "Buy this <%= text %> with <%= price %> of your <%= gems %> Gems?", - "untilNoFace": "Until we add Facebook, use your UUID and API Token to log in (found at https://habitrpg.com > Options > Settings).", "noReachServer": "Server not currently reachable, try again later", "errorUpCase": "ERROR:", "newPassSent": "New password sent.", From ef6fa13943b737aa1a4f1cedf0fdbf31cf78257f Mon Sep 17 00:00:00 2001 From: agentx999 Date: Tue, 9 Jun 2015 10:55:30 -0700 Subject: [PATCH 40/49] removed mention of "options" menu --- common/locales/en/quests.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/locales/en/quests.json b/common/locales/en/quests.json index c2aada5de6..41fa3627f0 100644 --- a/common/locales/en/quests.json +++ b/common/locales/en/quests.json @@ -3,7 +3,7 @@ "quest": "quest", "completed": "Completed!", "youReceived": "You've Received", - "questSend": "Clicking \"Invite\" will send an invitation to your party members. When all members have accepted or denied, the quest begins. See status under Options > Social > Party.", + "questSend": "Clicking \"Invite\" will send an invitation to your party members. When all members have accepted or denied, the quest begins. See status under Social > Party.", "inviteParty": "Invite Party", "questInvitation": "Quest Invitation: ", "questInvitationTitle": "Quest Invitation", From 87462043b6fd655f70c343fd90e19bb46b8070f6 Mon Sep 17 00:00:00 2001 From: agentx999 Date: Tue, 9 Jun 2015 10:57:22 -0700 Subject: [PATCH 41/49] changed comma to semicolon --- common/locales/en/character.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/locales/en/character.json b/common/locales/en/character.json index befd0d5f9c..25cb0e639d 100644 --- a/common/locales/en/character.json +++ b/common/locales/en/character.json @@ -48,7 +48,7 @@ "classBonusText": "Your class (Warrior, if you haven't unlocked or selected another class) uses its own equipment more effectively than gear from other classes. Equipped gear from your current class gets a 50% boost to the attribute bonus it grants.", "classEquipBonus": "Class Bonus", "battleGear": "Battle Gear", - "battleGearText": "This is the gear you wear into battle, it affects numbers when interacting with your tasks.", + "battleGearText": "This is the gear you wear into battle; it affects numbers when interacting with your tasks.", "costume": "Costume", "costumeText": "If you prefer the look of other gear to what you have equipped, check the \"Use Costume\" box to visually don a costume while wearing your battle gear underneath.", "useCostume": "Use Costume", From 738b78393cfe09ec4fb3b46dae45e5c9d6c72316 Mon Sep 17 00:00:00 2001 From: agentx999 Date: Tue, 9 Jun 2015 10:59:09 -0700 Subject: [PATCH 42/49] added a space to defaultHabit1Notes --- common/locales/en/defaultTasks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/locales/en/defaultTasks.json b/common/locales/en/defaultTasks.json index 48e405ab6f..cf7e179494 100644 --- a/common/locales/en/defaultTasks.json +++ b/common/locales/en/defaultTasks.json @@ -1,7 +1,7 @@ { "defaultTaskNotes": " ", "defaultHabit1Text": "Productive Work (Click the pencil to edit)", - "defaultHabit1Notes": "Sample Good Habits: + Eat a vegetable +15 minutes productive work", + "defaultHabit1Notes": "Sample Good Habits: + Eat a vegetable + 15 minutes productive work", "defaultHabit2Text": "Eat Junk Food (Click the pencil to edit)", "defaultHabit2Notes": "Sample Bad Habits: - Smoke - Procrastinate", From 097e1ff70bea76a6a96bbb4bd6900b58fa0d4d8d Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 10 Jun 2015 08:18:08 -0500 Subject: [PATCH 43/49] Put popover in containing span --- website/views/shared/modals/classes.jade | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/views/shared/modals/classes.jade b/website/views/shared/modals/classes.jade index b199cd0e83..d9fdaa054d 100644 --- a/website/views/shared/modals/classes.jade +++ b/website/views/shared/modals/classes.jade @@ -67,6 +67,7 @@ script(type='text/ng-template', id='modals/chooseClass.html') .well(ng-show='selectedClass=="healer"')=env.t('healerText') .modal-footer - button.btn.btn-danger(ng-click='user.ops.disableClasses({}); $close()', popover-placement='top', popover-trigger='mouseenter', popover=env.t('optOutText'))=env.t('optOut') + span(popover-placement='left', popover-trigger='mouseenter', popover=env.t('optOutText')) + button.btn.btn-danger(ng-click='user.ops.disableClasses({}); $close()')=env.t('optOut') button.btn.btn-primary(ng-disabled='!selectedClass' ng-click='changeClass(selectedClass); $close()')=env.t('select') .pull-left!=env.t('chooseClassLearn') From ed43bec8cd8b38996bb45ed1b949e6ea46055ea0 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 10 Jun 2015 08:49:26 -0500 Subject: [PATCH 44/49] Allow default tasks to not have notes --- common/script/content.coffee | 8 ++++---- website/src/models/user.js | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/common/script/content.coffee b/common/script/content.coffee index cef86206aa..30a0760b87 100644 --- a/common/script/content.coffee +++ b/common/script/content.coffee @@ -1877,9 +1877,9 @@ _.each api.subscriptionBlocks, (b,k)->b.key = k repeat = {m:true,t:true,w:true,th:true,f:true,s:true,su:true} api.userDefaults = habits: [ - {type: 'habit', text: t('defaultHabit1Text'), notes: t('defaultTaskNotes'), value: 0, up: true, down: false, attribute: 'per' } - {type: 'habit', text: t('defaultHabit2Text'), notes: t('defaultTaskNotes'), value: 0, up: false, down: true, attribute: 'str'} - {type: 'habit', text: t('defaultHabit3Text'), notes: t('defaultTaskNotes'), value: 0, up: true, down: true, attribute: 'str'} + {type: 'habit', text: t('defaultHabit1Text'), value: 0, up: true, down: false, attribute: 'per' } + {type: 'habit', text: t('defaultHabit2Text'), value: 0, up: false, down: true, attribute: 'str'} + {type: 'habit', text: t('defaultHabit3Text'), value: 0, up: true, down: true, attribute: 'str'} ] dailys: [ @@ -1898,7 +1898,7 @@ api.userDefaults = ] rewards: [ - {type: 'reward', text: t('defaultReward1Text'), notes: t('defaultTaskNotes'), value: 10 } + {type: 'reward', text: t('defaultReward1Text'), value: 10 } # {type: 'reward', text: t('defaultReward2Text'), notes: t('defaultReward2Notes'), value: 10 } ] diff --git a/website/src/models/user.js b/website/src/models/user.js index b24acfd886..634bb61f07 100644 --- a/website/src/models/user.js +++ b/website/src/models/user.js @@ -406,7 +406,7 @@ var UserSchema = new Schema({ rewards: {type:[TaskSchemas.RewardSchema]}, extra: Schema.Types.Mixed, - + pushDevices: {type: [{ regId: {type: String}, type: {type: String} @@ -459,7 +459,9 @@ UserSchema.pre('save', function(next) { newTask.name = newTask.name(self.preferences.language); }else{ newTask.text = newTask.text(self.preferences.language); - newTask.notes = newTask.notes(self.preferences.language); + if(newTask.notes) { + newTask.notes = newTask.notes(self.preferences.language); + } if(newTask.checklist){ newTask.checklist = _.map(newTask.checklist, function(checklistItem){ From 8dde41d18a49efa3010ad9feead60a2fe1df04b3 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 10 Jun 2015 23:39:46 -0500 Subject: [PATCH 45/49] Wrie and refactor guild tests --- test/api/groups.coffee | 109 +++++++++++++++++++----------- website/src/controllers/groups.js | 2 +- 2 files changed, 71 insertions(+), 40 deletions(-) diff --git a/test/api/groups.coffee b/test/api/groups.coffee index 40de0e4077..6c2d922476 100644 --- a/test/api/groups.coffee +++ b/test/api/groups.coffee @@ -6,16 +6,16 @@ Group = require("../../website/src/models/group").model app = require("../../website/src/server") describe "Guilds", -> - before (done) -> - registerNewUser -> - User.findByIdAndUpdate user._id, - $set: - "balance": 10 - , (err, _user) -> - done() - , true - context "creating groups", -> + before (done) -> + registerNewUser -> + User.findByIdAndUpdate user._id, + $set: + "balance": 10 + , (err, _user) -> + done() + , true + it "can create a public guild", (done) -> request.post(baseURL + "/groups").send( name: "TestGroup" @@ -53,19 +53,42 @@ describe "Guilds", -> done() , false - context "finding groups", -> - it "can find a guild", (done) -> - guild = undefined + context "get guilds", -> + guild = undefined + + beforeEach (done)-> request.post(baseURL + "/groups").send( name: "TestGroup2" type: "guild" ).end (res) -> guild = res.body - request.get(baseURL + "/groups/" + guild._id) - .send() + done() + + it "can find a guild", (done) -> + request.get(baseURL + "/groups/" + guild._id) .end (res) -> expectCode res, 200 - expect(guild._id).to.equal res.body._id + expect(res.body._id).to.equal res.body._id + done() + + it "transforms members array to an arrray of user objects", (done) -> + request.get(baseURL + "/groups/" + guild._id) + .end (res) -> + expectCode res, 200 + members = res.body.members + # @TODO: would be more instructive if it had more members in guild :( + _(members).each (member) -> + expect(member).to.be.an 'object' + expect(member.profile.name).to.exist + done() + + it "transforms leader id to a user object", (done) -> + request.get(baseURL + "/groups/" + guild._id) + .end (res) -> + expectCode res, 200 + leader = res.body.leader + expect(leader).to.be.an 'object' + expect(leader.profile.name).to.exist done() it "can list guilds", (done) -> @@ -228,38 +251,46 @@ describe "Guilds", -> describe "Public Guilds", -> guild = undefined before (done) -> - request.post(baseURL + "/groups").send( - name: "TestPublicGroup" - type: "guild" - privacy: "public" - ).end (res) -> - expectCode res, 200 - guild = res.body - expect(guild.members.length).to.equal 1 - expect(guild.leader).to.equal user._id - #Add members to guild - async.waterfall [ - (cb) -> - registerManyUsers 15, cb + async.waterfall [ + (cb) -> + registerNewUser -> + User.findByIdAndUpdate user._id, {$set: { "balance": 10 } }, (err, _user) -> + cb() + , true + (cb) -> + request.post(baseURL + "/groups").send( + name: "TestPublicGroup" + type: "guild" + privacy: "public" + ).end (res) -> + guild = res.body + expect(guild.members.length).to.equal 1 + expect(guild.leader).to.equal user._id + #Add members to guild + cb() - (_members, cb) -> - members = _members + (cb) -> + registerManyUsers 15, cb - joinGuild = (member, callback) -> - request.post(baseURL + "/groups/" + guild._id + "/join") - .set("X-API-User", member._id) - .set("X-API-Key", member.apiToken) - .end -> - callback(null, null) + (_members, cb) -> + members = _members - async.map members, joinGuild, (err, results) -> cb() - ], done + joinGuild = (member, callback) -> + request.post(baseURL + "/groups/" + guild._id + "/join") + .set("X-API-User", member._id) + .set("X-API-Key", member.apiToken) + .end -> + callback(null, null) + + async.map members, joinGuild, (err, results) -> cb() + + ], done context "is a member", -> before (done) -> registerNewUser -> request.post(baseURL + "/groups/" + guild._id + "/join") - .end -> + .end (res)-> done() , true diff --git a/website/src/controllers/groups.js b/website/src/controllers/groups.js index 6c4bb13fed..acb893b1ec 100644 --- a/website/src/controllers/groups.js +++ b/website/src/controllers/groups.js @@ -40,8 +40,8 @@ var populateQuery = function(type, q, additionalFields){ q.populate('members', partyFields + (additionalFields ? (' ' + additionalFields) : '')); else q.populate(guildPopulate); - q.populate('invites', nameFields); q.populate('leader', nameFields); + q.populate('invites', nameFields); q.populate({ path: 'challenges', match: (type=='habitrpg') ? {_id:{$ne:'95533e05-1ff9-4e46-970b-d77219f199e9'}} : undefined, // remove the Spread the Word Challenge for now, will revisit when we fix the closing-challenge bug From 4da4777dddfa0f901db6ea5e8ce0b5f871bb8d35 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 11 Jun 2015 14:22:39 -0500 Subject: [PATCH 46/49] chore(news): Every X Bailey --- website/views/shared/new-stuff.jade | 62 ++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/website/views/shared/new-stuff.jade b/website/views/shared/new-stuff.jade index ec2703ca20..1b86e5b522 100644 --- a/website/views/shared/new-stuff.jade +++ b/website/views/shared/new-stuff.jade @@ -1,33 +1,65 @@ -h5 6/1/2015 - NEW EQUIPMENT: THE ENCHANTED ARMOIRE, JUNE BACKGROUNDS, AND NEW MOUNT POSITIONING! +h5 6/11/2015 - REPEATING TASKS, START DATE, AND MOBILE APP UPDATES! + p + br + p.small.muted by Blade and fallenpanda hr tr td - .promo_enchanted_armoire.pull-right - h5 New Equipment: The Enchanted Armoire! - p Now after you achieve Ultimate Gear, you'll unlock a new Reward: THE ENCHANTED ARMOIRE! + h5 New Repeat Option for Dailies + p Dailies now have a new Advanced Option: Repeat Every X Days. You've wanted this feature for a long time, and it's finally here! br - p Click on the Enchanted Armoire, a 100 GP Reward in the Rewards Column, for a random chance at special Equipment! It may also give you random XP or food items. We'll be adding new equipment to it every month, but even when you've exhausted the current supply, you can keep clicking for a chance at food and XP. + p First, please note that this new option is OPT-IN only. We won't make any changes to your preexisting Dailies without you knowing it. We wouldn't do that! br - p Now go spend all that accumulated Gold! May the Random Number Generator smile upon you... - p.small.muted by Lemoness and SabreCat - p.small.muted Art by Kiwibot, Starsystemic, UncommonCriminal, Zoebeagle, and Andrews38 + p That being said, here are the new features: tr td - .background_island_waterfalls.pull-right - h5 June Backgrounds Revealed - p There are three new avatar backgrounds in the Background Shop! Now your avatar can paddle a Drifting Raft, float through a sea of Shimmery Bubbles, or picnic near Island Waterfalls! - p.small.muted by (in order): Teto is Great, beffymaroo, and UncommonCriminal + h5 Repeating Tasks + p Use the "Every X Days" function under Dailies Advanced Options to create tasks that repeat after a certain number of days have passed, whether every 2 days, every 15 days, every 30 days... You choose the number that works for you! + br + p These Dailies are only due on those given dates. Need to pay your rent every 30 days? Take medicine every other day? Water your plants every 4 days? No longer a problem. tr td - h5 New Mount Positioning! - p The mount positioning has been fixed for all the base mounts where it looked like the avatar was riding extreme sidesaddle. Now avatars sit properly, no longer clinging to the sides of their mounts for dear life. - p.small.muted by Kiwibot, Lemoness, and SabreCat + h5 Start Date + p Dailies now have a Start Date. They will not be due before this date. This means that if you want to add a new Daily while you're thinking about it, but not have it be due until later, you can achieve that by setting a future Start Date! + tr + td + h5 Mobile App Updates + p New Android and iOS updates are available to support this feature. Please, update your apps before using it, or the new repeating Dailies will not display normally on the mobile apps! + tr + td + h5 Other Notes + p For a short period of time, the Data Display Tool will not be able to calculate damage correctly for Repeat Every X Dailies. We'll get that updated very soon so that it will be accurate again! + br + p If you still have questions about Repeat Every X Dailies, don't hesitate to ask in the Newbies Guild! hr a(href='/static/old-news', target='_blank') Read older news mixin oldNews + h5 6/1/2015 - NEW EQUIPMENT: THE ENCHANTED ARMOIRE, JUNE BACKGROUNDS, AND NEW MOUNT POSITIONING! + tr + td + .promo_enchanted_armoire.pull-right + h5 New Equipment: The Enchanted Armoire! + p Now after you achieve Ultimate Gear, you'll unlock a new Reward: THE ENCHANTED ARMOIRE! + br + p Click on the Enchanted Armoire, a 100 GP Reward in the Rewards Column, for a random chance at special Equipment! It may also give you random XP or food items. We'll be adding new equipment to it every month, but even when you've exhausted the current supply, you can keep clicking for a chance at food and XP. + br + p Now go spend all that accumulated Gold! May the Random Number Generator smile upon you... + p.small.muted by Lemoness and SabreCat + p.small.muted Art by Kiwibot, Starsystemic, UncommonCriminal, Zoebeagle, and Andrews38 + tr + td + .background_island_waterfalls.pull-right + h5 June Backgrounds Revealed + p There are three new avatar backgrounds in the Background Shop! Now your avatar can paddle a Drifting Raft, float through a sea of Shimmery Bubbles, or picnic near Island Waterfalls! + p.small.muted by (in order): Teto is Great, beffymaroo, and UncommonCriminal + tr + td + h5 New Mount Positioning! + p The mount positioning has been fixed for all the base mounts where it looked like the avatar was riding extreme sidesaddle. Now avatars sit properly, no longer clinging to the sides of their mounts for dear life. + p.small.muted by Kiwibot, Lemoness, and SabreCat h5 6/1/2015 - JUNE MYSTERY ITEM! tr td From 5d84ead3f86b883d5357512057ec65f500c8d8df Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Thu, 11 Jun 2015 22:17:34 +0200 Subject: [PATCH 47/49] add image for bulk email --- .../emails/images/PROMO-Enchanted-Armoire-v1.png | Bin 0 -> 9225 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/public/emails/images/PROMO-Enchanted-Armoire-v1.png diff --git a/website/public/emails/images/PROMO-Enchanted-Armoire-v1.png b/website/public/emails/images/PROMO-Enchanted-Armoire-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a42b70e4288cc39bc8da49e52d0c047129a6267 GIT binary patch literal 9225 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 literal 0 HcmV?d00001 From 8d450aefb81778901d547dba132ed9e50c0cc027 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 11 Jun 2015 20:22:31 -0500 Subject: [PATCH 48/49] Replace head sprites with dark outline versions Closes #5171 --- .../customize/skin/skin_0ff591.png | Bin 1990 -> 3347 bytes .../customize/skin/skin_0ff591_sleep.png | Bin 1099 -> 3332 bytes .../customize/skin/skin_2b43f6.png | Bin 2105 -> 3362 bytes .../customize/skin/skin_2b43f6_sleep.png | Bin 1202 -> 3358 bytes .../customize/skin/skin_6bd049.png | Bin 1578 -> 3300 bytes .../customize/skin/skin_6bd049_sleep.png | Bin 697 -> 3281 bytes .../customize/skin/skin_800ed0.png | Bin 1986 -> 3315 bytes .../customize/skin/skin_800ed0_sleep.png | Bin 1107 -> 3314 bytes .../customize/skin/skin_915533.png | Bin 1545 -> 3261 bytes .../customize/skin/skin_915533_sleep.png | Bin 664 -> 3247 bytes .../customize/skin/skin_98461a.png | Bin 1592 -> 3264 bytes .../customize/skin/skin_98461a_sleep.png | Bin 705 -> 3249 bytes .../customize/skin/skin_c06534.png | Bin 1583 -> 3273 bytes .../customize/skin/skin_c06534_sleep.png | Bin 693 -> 3260 bytes .../customize/skin/skin_c3e1dc.png | Bin 1543 -> 3272 bytes .../customize/skin/skin_c3e1dc_sleep.png | Bin 667 -> 3255 bytes .../customize/skin/skin_d7a9f7.png | Bin 1990 -> 3368 bytes .../customize/skin/skin_d7a9f7_sleep.png | Bin 1096 -> 3359 bytes .../customize/skin/skin_ddc994.png | Bin 1859 -> 1666 bytes .../customize/skin/skin_ddc994_sleep.png | Bin 1845 -> 1645 bytes .../customize/skin/skin_ea8349.png | Bin 1585 -> 3277 bytes .../customize/skin/skin_ea8349_sleep.png | Bin 704 -> 3265 bytes .../customize/skin/skin_eb052b.png | Bin 2099 -> 3360 bytes .../customize/skin/skin_eb052b_sleep.png | Bin 1209 -> 3350 bytes .../customize/skin/skin_f5a76e.png | Bin 1418 -> 3271 bytes .../customize/skin/skin_f5a76e_sleep.png | Bin 542 -> 3251 bytes .../customize/skin/skin_f5d70f.png | Bin 2095 -> 3346 bytes .../customize/skin/skin_f5d70f_sleep.png | Bin 1210 -> 3349 bytes .../customize/skin/skin_f69922.png | Bin 2009 -> 3329 bytes .../customize/skin/skin_f69922_sleep.png | Bin 1115 -> 3327 bytes 30 files changed, 0 insertions(+), 0 deletions(-) diff --git a/common/img/sprites/spritesmith/customize/skin/skin_0ff591.png b/common/img/sprites/spritesmith/customize/skin/skin_0ff591.png index 9f046b4495adcc190cfeda8cd956426462f2af8d..3ca94dce1eec49fa692176d4cde291f2c843f880 100644 GIT binary patch delta 3344 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 a4FHAkjohz`4@&?500{s|MNUMnLSTaIP()(@ literal 1990 zcmbVNYg7|w8XlmaML`rQ2u0(tMWK*na?co$2}umnXikEfRZ5M?grty}m`pB$s0ZyH zrE3b?Qe~;46{}!z6$G>#i)gJ<4F<7ZutKq*RI4a((pHXXCknPdY=7*Wnfbo&o%em- z>vLwCe95Aa;OJlg075dPA_cjw^gWY<$T#mG;!iHK2(gM#;yS{vHlqNd#n+&e45K<1 zRiJ9^y0z`70008?hAb7KlD!3Ma3fXi)1f+yCej)J1PdJ|wI&ZGC~MGM1C{~~wX}j1 zgEj?R!IsfwrgT(qkQSIxWxeyS$(xf5v0yd_W^gIv z7f5D+PL6~3~&2G0-?My0e&ZR+oKHrDIU?h_o$(D5(p>`x=mbeK7 z5o*zx4JN{XV-z2vdJS$RQb01&=P4LXGT94Y%ragmvSc)e+C+n>behrV%j=o8g;1b> zgz-{sOV&CQN>iW~+-la4{m{it7?ZX8dq+M+G8%ZP*+4c$oiD;QRwIfL8KM-B{6f_l zv@lQ1XCMrwSjc10IXnpBF&KytVv4zRri8;`vL`TJX3L^8=`1!2Vzc-x2of`eToy;f zg&+nCVIw>~GGUv6SqL?zK_~ngNWbH@^uM)*)6J-wz|C1WoG*EkqSk=~cuCcQReukCb0+N*)+_X*zzN;7gc&+La0q8co_%_$RZ4k{e7;hw5X zyux`#Po)SRtGAbJ9J|%bY>9bq=LzBHoCRrs8`uu$HwEcmNef{4@9~S?GaU$VPbLMM zBmgTd4u~dYeiKTfA?TZ@0dCi}8(khxpVFFbBpJ~qIr+|px-S>@dROi)OAmonQUbwsrBeom6deT==`D zdGFku?6iI@5e&ZmNFSW0LsIv?-@i{^3u;$M&u#2DQ(GrB~&scrPaM(z!cN z+HaJfmv)Di23|bt&B;qfr~OO2s_y*0a#dwp>8{J!{_Mj@|J`eIf1`#TYx2vv7T$lb zsYEy1x@eiLuq5QuK-Ia?{LYna-s43@j);dJ+z+2~W%%jP=6xzeo3nIDWXZAOjq<3$ zy2R^s-&Ulaybwe@s4GY;z9KlM3pjwa#HSEZ%4s99vl8Ld#V%cg$92vA<>&1fv+B~* zEtRz$NuO9=&BqJllvyM1jx|Niw5ddk98j% zKOLNzbjZ{&{loH|9i^685pRcWO@d}(v5YO-&xg7Loq6H4*B=kx8>qbXXmRl8an+_e zsm+hSJ1v&E?1E%PU_ z7R1HYJs$Cki}_&p`myr`m%YOSle(`4bGH5X^U|ct3lkNcBG#$&vJHxa27_XDf5i^5 zZ0(+b+LET}R_~)CVT)Vr${FrtTxdHoZH(Sfouv2=7@0e8*X~Sc5Q6vi>o4YKszSzw z&+>jvY&;gLrw4`3JP Q`~IvM;w7TP!qvsU11G}~TmS$7 diff --git a/common/img/sprites/spritesmith/customize/skin/skin_0ff591_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_0ff591_sleep.png index c9e8e7acf31f6b949f3c34fedf93f9193e5d9904..f674a3c93feb07efec44e456b022f10841c2f09a 100644 GIT binary patch delta 3328 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 KMNUMnLSTYL8aOKe delta 1059 zcmV+;1l;?C8p{ZfBo78+OGiWi{{a60|De66laV18e*gz`Nliru-UtH#5*^*wFWLYA z1K3GKK~#9!?VYi16G0G$XCfCMNNY=W2Ne>gML^4IKnVqu@D$KekdnLxEl9L6q9ff! zid!Ou1`WmC?#=Ga`5f3gX|w+{iJZN2{Oy1L&dhEU77;>>9|u4H&;X49Xn+Q21V95c z0-ymJf1nWn4bTXH255jr05m`&02-hH8UfG%jR0tX257|SG0Xh}@Wrt|)AsV_T_Pe9 z5n^UPMns5-iJ0i)W zSHejcOA0xjCe?QF;>I1X;Cp{=5!EI^Lej`KfBbwu4le3@FnhI&2pwIXj%p*b+$}@f zgj1+!^Np|I0fr;#E>F9YqfDz{+9kmHF=sKJALZNpsayp43Ai{a61Ko&(lp^N0BXr>;rEu^F0 zf2X!8*~+`6dpkciy`5&HXb$sb>Q;AT%|)!z*e-&F5Cw~^GSM%y4c=0z^Jh`T4#yX# ztr+u4?+nGQzHd93MI6=rxxaq7Iae7;I{~_Ysn(0uTFPDwIkZ}pM~jeO3?(YfHBj#w z%-#Ij^6%n6I~$N)Gr^H+sW&!(e*TqVwqa=hKmcDX4%tqLM zZ6`zbGPrj`pl6G*aO=>aY(!6hD{x|)sMd3%>SLlqdnX0fVJX}xQer@nC-6Y03f8f| zrC3jbnHusmPjvp)5!;Big`tgcf0bQ~UHV_YLyo*-1E9xArikkYTB4PXclh~)k&Q<$ zzq}LIv_E_DmjBfX_KDTk_oC82E>h9VJi$YezNwU1n^Y!w=5aRTyU>$?k`LrZ7$5Z@~c?pb-EK&;Sht01eOxfCgxQMgTNGBLEtp0U80&0F3}> dfG#`!0t0%W4JdNm_W%F@2>?k&PDHLkV1m8w@CX0^ diff --git a/common/img/sprites/spritesmith/customize/skin/skin_2b43f6.png b/common/img/sprites/spritesmith/customize/skin/skin_2b43f6.png index 1d0460856dc41f29564e45e4620b7e34086aeb68..6ebc9f32e26c4a99bd45a09d33faec52166a4653 100644 GIT binary patch delta 3359 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 literal 2105 zcmbVNdsGuw8Xq1aWfwgtDqxo#g9kw+$t07fL`X=0hye+l@+_LiKmsHal7R#eVX=aU zf(nHeL_uM3MWx_TTFsWjDlY+1Kv=|uuEnZ6N-YYyYTXHf?H`{0(K$17@BQxg`(F3^ z&E)M0^s}{bvH<|VR_M2x9l)97?)D@Y+j6cQP~=^hZwrqS6H2Do?; zaBo_9EL+U?UG#;oI0OZTY1kx^Uau$WsYFy8M}k-^mdOT%;(=>;=u*{~#NeUUxhz@W zBRZK@slk+}8Z=pyNYP}BL%<__mx4+o61_L9)-4taFB!=o(U2e_nWR#g@>)^slIeNm9}K#Ls*zhCBrnBMuS-}1PQ1-22AHO zAcz8UX0&KWIE4mI}$1^||ELOwUtaBr&o zPT+vIea@q-(|N8BE(B$bW=n?RS}ZNTU1PN>!w#*^Gi>q9*6%o-2c{)9aj3e#_ajI8 zMX`^(K1*z>K=jQgf0;c+J@Caa*j7jb0Y#QC0DD`&=9OknX14*`+tyiD3QJtz?E*Me z+TjA=$a^K}v#*O@tus8Gh))Swf48~N`MjSm>~~*k~$yb)}z(JN7b1LI2#R#g&~hp*=}bmch^dVtV`M{g=$_6{%C3 z-5fBBU4L4};&W04Is=yf#|xT>kM;MPBwmat4qtWLBB&waT7i|K{LXkIN8=1F=h>C^ z8DBr!cw~L2+nI{d{~fIu13m02)GK2X^gE*ub}{G^uZ!LOa^J#t)OiIQHkq=!==ss% zHDGPgaow%X(csFP6|iAA&Suj)718^s&jy#|#GJ-sk}CL-Kd*E@6Q((QfRIma1? zbfJn`^3Y*#hrat`jOsE z>Ga*b=bEk<8VY(}jr5cpCQ;5H4^GFlO*|-faqNz%l3r%>g%@J_{co{dj;v*PI~xZ{ z^W8b5)z#Cd%x4_eOn&1|gj)UEYaTl;5oPzQEcL zJ>|-1UA(w0&~^35@_(G$EVXQR3)3E7F&Nom(YK+DIf~z5EDZ=l*x9%<-}6Gs>}V*G8K? zv9?*g!uI1-L2lut>2%{^%=~in4c8$l^(s1t@m8^BB*mq%w1S?0*Bx+t^*E}og{A#| zGBq*Ss;>b!CY<(l`|0}C&#TMN=5ICf*j5z!sLjJY`6U}2w%C;YvvI#-Z`YOMP8su0 z?7BQtbV&|1VYbZN%$&yL8}I-S@g^qs(>f{FZWs{-7o~BxocXch>!CzL^SjTtpMyeYk+-nZ`FJldUeDrQvRpzN2 z!@~(e&x0ogP2XMXC>x*HksB<^A79HdK6N#=pCJ!bq4CuNeO2e>k?BREdfE5G>t6-u z+LRQx9y1Qr&+czj^Gn|bM4Su@D$jCM!e1hv?rn^Wsm8{gU+mT_(b~dnk?jlQHnDx- h3t(b diff --git a/common/img/sprites/spritesmith/customize/skin/skin_2b43f6_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_2b43f6_sleep.png index 9ad780f1ba188308773efaab930e6a0cae2363e2..1cabeb8a05061088ff3a7784be3fc0b3c5e98b45 100644 GIT binary patch delta 3355 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 delta 1162 zcmV;51aH1OvPk1QK}>HZq2ZONU2rCnTE4 zk6stuRb78WOswvtsB;%GOgA(5^_f%W-fEz#!s@>kh=8C8nnlnAP0%cYCTJEx6Es1y z2%4Z-e*{g?1kEC7f@TpkK@&8Kpb45q&;(7;tln#>^#8#754Wl!0ugz&vY0pnBGTRV zcK!2rcgXyph+LdJ2NnHjq2-8zI+}EGr^bnmAT`Jo zt1F8Fpj9+FwFk)~l|Yb4DXJnDr+LyyL5lAD)`i^V4fqz(`u1G4w#Q5g>GY=JU7s4Q ze?uc+aGue?bA8{AJ=s46=IAW5Ow_o!A}~?agVj$t!>QH z=shb_v_^T?Bnv+;nCHYfrjDqsV$~ee;PQ$8DX9%~2LOrI1lGY*X#}yzy))qD7I^Pf zWoL+lvM(oRzM@?Pw~seRW2@Kcv! z5{+M@r(|7_N1HSN2VRqxqp;!H1pN5tfp>z6&D=;^Of?P5^7^s;O*gj2y}sA<^O@E2 z{p=tM^QDp$J?tzcucnIu4Ger?Ghf*<=h1MycD9pLA=b{5-K5TTf;mXLSgoH&f6iQG zXQ=8gQ95VEG5`@QX*Pu7&!vY@~65CK_Y8Q5s(FRv)<`L|>VH~-M26T=xGe+?BPi)mQq`Q`TBt-8D02Il3YX*yh-&D>)*F$om8 zIDLWni*Ut?4w~~wkU*C`?5!WhXf(E=zH3RIPyvq{fElA&i_zg4q2jH>tsWq!tY#ha8;Twlf3CG7HM8uy zultpaN!4HQ2JoS*6TF22{b8^RoAaU;qv(yTv9;T&h?-^Z;pz~%?7}?W9PLW(4XuKv zcmC3*bDHS?aEhRZtaMD8$`3hR#B`8-tpP>t8M^mrn5;axI>=*9qp^PrLguaTg|gHP zU&hG$`ffKF-s4eO>hN!Ba71qF@SeG(ocnnxI(( cP0)4MUk2y1z!kBN6#xJL07*qoM6N<$f`gJcDF6Tf diff --git a/common/img/sprites/spritesmith/customize/skin/skin_6bd049.png b/common/img/sprites/spritesmith/customize/skin/skin_6bd049.png index 291188167602a9f5630d5b9e2a708d47a824a15e..20e4000326ceac5f242da6eb68eac9b0ccd3a825 100644 GIT binary patch delta 3296 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 CmPE$@ diff --git a/common/img/sprites/spritesmith/customize/skin/skin_6bd049_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_6bd049_sleep.png index 09eecdd171cc73bddc75c07e03007a1e17d07408..722ba42cdb73bc9fdc0ab4d689aa0cb4dfa510a6 100644 GIT binary patch delta 3277 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 LNkvXXu0mjfPZlC^ delta 653 zcmca8xs!E*3O`$tx4R3&e-K=-clqRrisJPQ>?NMQuI%?Xm>Gmw7A)Tu&A`Cq=IP=X zQgQ3;+=F_|fg)}11r=MCyjvs>BGmeKm#S0poOitFdf1qY7I zy0z+A#?p5!ZEL%o>a=$EgI%cK#|u}3%n)%d{PYgid>FVdQ&MBb@04${^ZvX%Q diff --git a/common/img/sprites/spritesmith/customize/skin/skin_800ed0.png b/common/img/sprites/spritesmith/customize/skin/skin_800ed0.png index 46588cb9a56fd2fa9e170a2d268648d81777ebf3..5a490c6f4cdbd582b9efa748fad035b267f9620d 100644 GIT binary patch delta 3311 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 literal 1986 zcmbVNX;2eq7!If?IHDaz47GL}9E$=;HrbqzO2{Em5)ct6VkK-Al0vfUW-%dDn~E0* z-VRmN0Y%7YMHJ-{tY;Asizr1v(TY`6sun~AEbWHF_J`9S-Pzsm``&%t`+a89LsbhV zxp=rxD3nQxAZZx6M%$kWPUM?!6FZU%m5@adOVD`2q{b17ScAqPfI_cMK*A8UCS_$U z;!mNB(dxpZh$v;S5JvTMwH-q@>oHQBLh+w(#?){kLI80{g3chKy*TqD4bW*sv`CJU zsl+6RRu^Q!ktG&YIBZFT1sdA?F93hDkTjr22sL2VCmD=FvxqiiS4i&dVg?Nuf)I%! z+Hg=&%1}Up;t0T@vwdME2m)L#9fUYsF6aZWm>`S6ByX-S2njh{A&Uo$Tr|=fu89|h zN#!HH$dibsB?wH&V3;cHAW5Nflp!RR?^L5dh*T!#@l z)BxBms^idPLPR4Y9Zo@yDV6UH8;m1`B1^_Ft1$*hXEOA9dtO6mBN2xD6UGP8#_$vj zVT2(@G#Q7 zdxM7al_I!q6{3;js2&)quu%7b2$&o`IX^sz$s5U>$!Ci>figA|YM^9Mv{pFsoMoLqQO6UvQ5?I@R;gBTy~}NK<6Dl+pNiXJk``<=f;(x zLB&nk>#xmvH|5=o0spx*ck|!8I8dMS3;x-ISM}*T3$wP)`|+>A*M*95N5*U!@9IErYcmQ z7S|a-q*esQRcudURZavx!9?DB@+jEV@BZ-eOUH6+KgP#?7QEn1Ot{crelhdW&u9N({Oiq0iz@e&Q9~-)F5V9wUHO7eo?48^?wice%QkUq8D#A>GC2 z^u9XP=XtI-S&N?B2QJoSZwv%9g7T)aQul5C(O*^ZV(YROERgf3?CLMf=z(*px?(my zvp!2(b0zN#R?T+1)faQ)(BqxgJByFD71g_xPA+3^t8I=S@0)Wp2|jGy=hj(xr0$ub z=HSy-A-C;Jk+W)`qpj_H&#{^5<$LeNdI3G(RlH`f6TKzIGE?d=v#&G}?L8js=?(se z)9yNCwjR3^cfwY3)?!%QU2Adf{r+tE>nC5nWF8r(TA9wRnES^hDjl8;K{|n$;(;hZ}-RPVUH)w|z3BDD#p_S#b1=xLg~% zCi8Xjv_pL>Q~*HzeNJ!okw*7*@s<36{8GGjuY9fZ=4Ef9mbzYg^t!1kAa!t6e#|35 z(b{J37AQLHr}hBJ+XR=6v1{CCjuI)Nup*UaYXT4lRNGRunW9ZBYmNL)LS%e7bb2-zz;gg2Kc z>(%f5{C+s+`Td>`=bYy`=fjCNGSH$VVqU`=z5wkkZ_tn6T|3J`2@L0Y3|2y70faicihy_AYkjukHb$+4ohM%7N$rbn;~B3 zdY>Fw7?&_`wh~dG|R5kI!asETGw@Y<>D8bvIxoJP16iHJ8b0wH=!U_^&Wh+f9-hFy-TXlGzHi$u5- z^>^G50Qsp5*J^PW0V7mZBO@}&7%Cf)oi?H?ZhQN+%Z<@;FI50m{6fbrg(0=9VG2ZH z9+&U$>=U>=BF}$%lIUDRty%~2x91QzuYcZX6uiRD&Tg!)&)n~ZTGZV}iR|#~y1gNWW%G z>z%BglZ2Bf;*N*DzWe3Q_?6@8vhW$c^0G9jc2mX+P8BJ6=z#xQm!HPmuYL6dfWs!w zj&A}a_+c)QE2I8b2Pzj@`FB8=v(9U803NCHioyqKReDJPP|pt+tX5+?>R=XbCt~j) zT<9P_x0Q*4@^*JZX`p0|VeCG(cPk>G0x`qY9D=rxZ>k(p?Zz%KX4JW`Crp~=F!+hPf}*^KwfaE?epCFh!{{e} z0@`qmc2XGve<-KjEj4X(J#&K@?GjFQUa6aNq_U*=QO2G8+-W7cpZOYZ{^@46mk^IN z*B0iPqD`TL&;-Z9x@CE3<6#o~*jG1nK7D|X(~fJ7KQZCi7A{3eX|wXA_0KuF*AUCS z5#|)?i(b!N?^>5!XItkwv?9y3SM~mIYPu?5GT?TfWrJozYJi!NS%5M5XdGKYC-pQ(Za9)rN4Kc*efk8e3zN%<>&G8{jW-w5Zy98MMT`$_YyHUl zfq&#rK^emk*&BxxU_mhxGb362nLlRf6|+nvvh>2mWW{&0wz8?SJ;NCc^5U*u%3snmM!^IP+4AyY;ObGJ-qO&8H*XhwY{`Qs|lGWR03 zf+ltUwkPQQti0AoVR?F<=%v7xt-tIckPG;Q$6xfZ7KJ%cEd?*pJjDpJ;umRePel$$ z@BA-g*uySWSdm@2UFJ$uDt1h9~Yml{*L~Bj)^|D z_-?U+o`PQQ@X+x4;i+tCl#=+g#1?7`HH})Xx3vtg6vmWb8k}@$)-8)I_A$**qAlet zipe^554>Y`K6qZxBDs~Uyd@iAxQI4n$a1_H4NS0 z-EP-hQ`CeOk_n0Rjl{(z#_L85ie@T{qS$&C`&!oT`yG2fTnQRK&PCOtI`>NEKkm!y zyY9y>yc?2wcQ?;M()VjuAMCsF#+VBEyL2)4<%&>4m|-}wZi@%v07*quPFL3#`Inv8 z9WW{XR`z+fro5&oyCkt>VKXG#Uf)+gXxQbMXA`{)d%<(%colRt2GC)5@R0cN;cDSl zH_lFjo^!P&tH{qg{jQnaQ%lOnsxhdgL{vs>bX0P=^!Gs`eW)V zvE8O!Vpk{ye{^g#B1R?IE6$vCOgvNCe{2EfyR80KJwts7g%mfG`zUf>T2Q%6)J<_t zwo$54rAO4+VrbGl*IehZF1wtlV3o|1$F0lfd$`!u+*R_mV5Tfc-$Sp!f|1UnXf$J~ zD6O!3hN@ni!M!*CQKJzoVNAMnNaueinJloAqZ7#u8Iu`{n}Jyi-ZD7U7Ss=V{WG;$ zI*|8^WRdU&Hj2OWRkI$Y-Xcmqk1^*Nr-y`+e2aMG>(p1?&@wLlGz@YFx#|3Du)-<2 z=JLyv#CpiBbmD&Z+E*2X79wOAXz>rYrNFcxaShT5;oLSHKOmP;o+mWCH&iwVowqlaMDnbtGRiVHGpU|X&dzF*@A$XIJS1~iV7@65 z1H%@!DK<1aq5DUM6;$9K;79PkaGCw_#X7s`(%||(zaZwJ!c1eoO>&GY!A(-8gm$&4dT+O0 z<{tQqP|8r6y?ooV%HyRTxW0Wtx_okrQhx4PQgFoz@x<+C97qm`8#L!IM-ye5b7p04 z)o3`RJT|qn6m+gNf1CQPl%hr8eH^^sb#6OiA`N*snv|QK8xkt|XTf&Fl}H+8-b( z{^;nz*2W=C5 z0D|rS5Eco*pQ~%!2H>d}06Vq-$Y%k-izWa!ICRw2-~n?#->MjPsxrq0_Ym5z z-gca95Hr_e;z;62jQ>Ucqn)=llmuyK|BKFLmGd27(z5g7>MJ3^FEQP<^$Ce>`m8^v zirSKu-muK!KR8=Yb~kE0P~g1~4hLVu_`-;!@=5dY^Z})dDxE5R4q*Ksi6`|xk`^+U zc<#l&u`AH^I!Ih2nlj+Lq2RqSvBmSJ>SG#Dn~DveRD6tnbSj<4JX%jIqLQpx;_@wA z-ls5e(uWIrf}%8j>Q?F&m7vK{;;`QsCy`jaWTb7UC~hOvCUp0u(O3!oQ{l&}Zt51B z+;FKKPAo#p{~IYoq?No_GQvIyvi=Dn|KYk_f2@2^Au^;{2>!k2F-~C3rc(a>KRQc( z{T+T^bkE+2tJfpKch-#iFV|3Q$iFi<#Sm+V@^$^lbxn@O-Pqc^XR%EzL+r^fgbzaF zh8h1T^o;!+D4|C)vs0m!a09W|6Y{#(Qq6YyOm|^$;}<`fQOg)xS8B`n-H3nF^Z2r+ zO46a|@=T@(8D7d8^)A%bt-5J68#W2*@pv=P|7yAxu6Aj~FLb3pH}hhGTF~E$^#Z4E z+0^QbK7jap?LZi=jnP(S6t1b8Xh56%lPhN&`#imTwoSVkyYUk`qRNhjY7|nvUL+)E l_`e&u;qq@y@`HcafXPb4K*m{i`Sno&9SsBZDyVJ5e*s2Z9M%8; delta 1067 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 literal 1545 zcmbVMeM}Q)7(WodSTN4u7RZ=KMIzhiee`;5Pm5l^D8?cdrhv*k+M_+Nz3zI2(q&UY z7Ss)gG1+usVS%`k&CO(Px*284wy3jwD2l?AS?9+ThmPrp61VpXb^C+($1ZpGzVCC- z@ArJ)*1X*8g!trm2!axF%myo1i=}7AH1Jjj=~%ENiN-=PpDz=u7=eXoJ73DeIWES* zT3N(#o8o=%Em#s;Wv}rI7Q21Hm*Jjl_ZDnLs1cTkRGZf2P|zKgwWWy*7dK zh#c>RB}S%{_la5=@N_%`m&amxLhSZVBnqSq@iQI-lcR{sCB+rd_KH^aUpFSz_7+ro zSj5VDd7oed^(dPk1%uo@-H@aRyrEVI94HF2!NA*mF4isP7_>6*MQ-Qpl-j7lXg|7or)k0Dh$I3T1l%lbQGK8 z_KJ+##zyUO!0rTA`BW^W7g$E*g#w=65bc0GCol3|C+~sv`6Rs1!q_;sB*>5oG#;;k z6}U>)ZW4GG9LX@nP2vHnRD=Fe5vXb+a#XFLl{%vW#Z)R ziHblEO4}#R4-QYphjoLQ5x{VC)vgLaP^>D)Ko|J?hnncz<4Y6YuKscE?8y>owmk5 zywhTrPT2z`cW+AHG>wQMnqw?bf-}}RE{y9Q7tU;sNpM;No%-SLMz5p~oIM}xJ91~^ zbK8F&&R)Umj4iXQ#GJ6(`o26lwD+}?k#AOKu+A;pOew*ugT5=v8jG?Ulgvq9KKoL# zZ~uBtf8xrRx$jalZjJtQqwnBB%fU@JZ((aWj=S{oaBP94S5P27AdCb=8T1H_)|#jGaBMu0luf z!qHhR7hQvv=Hqjle2?E#@%eOj)Ao?gMhxv%*8B1Nw)SgS=vGbojb*1>sx7rEv%_nP zj;=YEe(K!I1A6nwT_!}Oy@@^44`hARI^qa*OmAsuy?VR+_XBG(yhrxjF8TViPq|&U zHE{O>(bBr5JU10VoW+;-?!09lUVd?B;eku3tF&Ka)rae6UN6cfh8!Djj^6KhWX`WR zHmCjch5C|*ao=t`dwA$_+H|T2rxLpsj4A3m;(VZdkxI>&ymagCjK!nSj=tcB4V&(T PrJr+-G1u_9Zhg%^pE5j} diff --git a/common/img/sprites/spritesmith/customize/skin/skin_915533_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_915533_sleep.png index 371f8f7b9a325445c62bb89a9b3b359cb6498ebf..340d603e98f143051bb5d4db7c3000b4d802eef4 100644 GIT binary patch literal 3247 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 delta 620 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 HzwzeZ^S?(& diff --git a/common/img/sprites/spritesmith/customize/skin/skin_98461a_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_98461a_sleep.png index ee6ffa21996c415f6d87e6f5e0efa9da598425ab..2741afbe74d9f0357dc6cc32a9dadc700151cdfd 100644 GIT binary patch literal 3249 zcmZ{mXEfa17RLWVjNYQlh)(n_MxW7ZFfvL+3qwQ(k!T@GbkRE_O7s?OWVA3kFbm^#WENR zQ$&-^fYvz+;zA1}qX*Ad{0m*DT2D8JuNtS7w z5acBS9CsWe)d6P(pmO9;>EKU9W=qmu^B{JM>dvxi8r>e%|W#ceZHX=J;h_AWq?boh0Mk?G@0bs=| zaO_H0te!PUfjG$Rs(^Q&$oUC*-mB9Xr#foYMj&r{4sqoEPc|C)3E0`$jrH{z-EOFr z-5?_13W>AnKwLim6R3D`dh)$}l_yxzI#`S7>^tu3v3}9rktEW0_6wWwS{F^^*B9Uk zu5KNBthpflnlYV6oO)L5kz^596g2665AXQ()753+b3)~18Q{}1Wdi?1ky2|1!ryxQ zH0E9%tET{P*n;Z(CO|?MQfs#E9y6b6szcK_W5I+0~ENCnCO%*KNVeA~9 z>`o<$Gy6=XchQ)bv1XQwt1T?`M$KqS2} zmtLZbwuDJEoWo2Te5mAkOFrVUW^A9RyKcYw8EKsE?ybdC*JXc86?&HTwJub3tIa?m^9g8sFtgeqN11e z)1yklmZ%elky>vex?qhCQduHzD2E-pnzp&Vx#5g*)2ab*Xi>bd5} z>7$78p>3@n=|2dMy(uWe8AAIakpe8)%phhYi#KykhJG>2L<~zGTwG3KH)AW4Ium7P zE{G9)!;m;gma3b|m&zt61}`fwE?+7qH#;&Lg2$IVF%78JG?Ox2DBZPr?QImjJY>V1ScT`4QVUj@r_^VJT| zzIiR!l5q)ciBT#q%a?~q=}IB$O^#BWR6uJP9%ngThNN2pCFw_j(M$9P_gC+;6-(=5 zB^)2SmZznsnOA667*}ZRw#ioSm7t5;G+HdqgQ?W|bon3iYa!$Dx6xasv!;tBWF?FS zN|2Lk(Q?-!w)_@#?=LS(_A_$Zp9JOVqe_;1+qVAR4G_D8U%LG*InkmpC$6X9A)cqe zGb{GUc%T%)Vtw`ub?VkF zi!JsstuMkXWL%`C0!HLK87yi+YzEhV%iSi@w)irgt=*QZ~Y0ZdsF%cqSQ;`wTf z8z#UGY0rdg>Z$J9Pi{*NXbyOPsRW{on5C)!TY>{$Hh9uQ9zm9}@HzV`0X@fQ+hR!b z5t@-1sWr@GA2qdWJok!Su~ricd@^1UDxZx!+OPU`~;m{ zpN-oqov+!K-FMlKSorW&`osNP3#pf*UH!1{#v5ZQ$i^*hF$b|k zMAh`CrXuh1Q@aBu<=@JlAJ&xD6y=sAmn>|)%5^mLHw_tep>l1)mSJzXub*D~U5^1J zLA(S=!l+=iV5?i_XMS%uzr?9P<{f|6&F-ni=3&(s)Z#;`LN+?9IGy`{CRA~rZe`#T z@h((h4+DQpje_hp?P9tDDfq)8!Vuvqaqf}ktYZ@CGTvhgu$Rl~f7R2}m$H!(M)EZx zx-x>w<)Y6N=j58Dn^k&6oh-ginxoBip6lI}7Zt3Qeet|~`C{)VVimngzUI%AA=Yp0 z?wgOt9fy@LmWk2{L()|BBMl#<{6~#Ou#_>D_wbH4ZycE~4va%`iH*sQMb5w;3$hy? zY6}|pCH+inmGR~2kt!12z`o-zOK8=n)L+bop-RWFx~rZSF->CZsh|PZ`h?2c79wOAXz>rYrNFcxs1E6faQZSFH7K7}kt;O3 z_qBd-K0z+$;KTJE9gc1#2~!lVhY$gqZ?;uFldn_s@SP`HW4J98{)o6z@pCjr&~4JF zVh@pC9oWX_XW$zAq;oK&vys4cm)wkOBP?KdVS3Nn$Xv`~xzX-#IGRnFAu76>ex50v z;q8pTg3kt91Zwb0=0ZwCSw%PY>4?*~)Ar_)NUjxCT6y|rI@Jrx*|`SF7SGHR;{O( z$^-55W&~yilTMS4=Q`*0rz+J^<=baz=Wf%{t7| z%r?zBx3aftHu|bOHnp?lccC?Zk2*(M(ZW~v2tMF4w;eK(j658PMW>EjcY& z)!4_b*nPjYMt`T%ZMIxF{Niz&?=QydsmWYB%zVVxTAgC4Q)7)|-F7 zs@15~=2&%4Z5Fl|F{xs8wJ>wA@b+1Uciz$1g4QWL;>~?%+{7^V$_-^h4 zWqJ8k70=7L$XI~}_$HS@i= zUiS6@A1R3^$B)kUI=vUX!3TxQ)JE%XINl0eJO8OYF&!;APi9F@z9u5fIJ$6<5}CjG zZ*n+jn-~CqA1?p|g#y5z>l@t$fLG!Guwx4VkPHA|LM7SsXaWGif{wZx+-L4*POWa2 zDszzk4xPfc4BOuY0Yv=BU$-F-jwy*iAJl1VR3H9_azWt_No}(g8w~VH(1S*lpJ%;# zQ(H7}*-5)*Wo@L7H=1jxj(rA6cso*4nuB#Ll31OamFB&(I$;4VCsR4Ug?M>-G~62uy>zQN488ZkCakZdUc)JgmM_aI zAr8NeJ8ErYLQFR#{tJ3v=GVuJ=KrjhmBih&kB?bi{m* z;saw)Z_y{2&f{v39DL8PC*0?P%SQ_GRx$_+VyJl_h5;sbvy^q{&h$c!xU;w_i7 z&*Df;Jhc9GaA1GqyI6o!U!ca%C-PfI|M*{td;U(C@^rNU9}J!piZ9p3qCVW*1$cXd zq3cq#VQPE3TAhYhp?NMQuI%?Xm>GoCN{@fv&%nUs=jq}Y zQgQ3;T*ti24kB&;&0nc)$SAz@jlm3Px!vPeo-L%s})h=@^$-meEqTe=hL~z_FMjOa$U@4 zWO3C#@nx{r{Z+{)D&}oi!1qbx>c!;~cWXULyK%kI>co;OhAzsrlF{No^BiQq&-;G* z*twvVFW>$gU!l7{%52)woY!wYS4I7{%JEi=tk&T1o+hI8y;knZ)w)Sr`hRMx?9Px3 zWByfNVmRHZd`+C$Hr4jhvbbei!%w%qwV&jy-o5zI*|_s5FLd&?t)fl@e)#lO$J$D1 zVOY?-1y)JfKHBNpL0d%QK8bh+y;F&e2nw~lwaw|$%R*(%Coz0q3X7L?oIC6Fw&j85 zD&=Uwm3vd-MJrFXy;O*wzy1m5E5^A_g0a@Obtf;jX51_ zJ$+Z_kMHIE>kB`(sqS90c=gH`9=ET5yngXqP?w3Xd%Cx#)9)RIAs*)<^(@&xq;plz sN^)QTN37HZU<869b^#}9Y)?KHUw-%Wt`N)XHyD7x)78&qol`;+0Dej^qnVB`Z1;bw>0J7h+0sy(O8x;ERp{tj#*K=1dZ%$n(l+*i}my6pIX8;ITK${_9X4}ll zr^`nW{TS3ceJ@icQchDyJc==eUzm%GRxgGtZ=T7dgHBVEh@&49LztL|N?GAZWtqJC#6i+kus4%QI>+W6M z5K{{y=k*3?NgJHFo?r410B4~}O82?jNxlFC0aFyDK)Yd1yZD{xYnmNMmNfw?f}q_u z<$*paiV;u?N`w>xYFY#+bSA$UfFT0xh8!K%frp}ioxrQ_QveEmmK96@SiR$7BEX~o zoD9w}8i1=JP&xJ}P7^?g1B@>E-SWVkC?Kv2chLcAn}GIFT8esrloAj(iHQ^fh=KvT zejc6xAR-H3)H;AG{d>Qfc1!q1sjPY>9Iw1)m=&q04+$JDc2{szm*qaAto<$fY&EgY zz$`Y&Flm}^hrp{`T)RV4PG(WV1sHODFA3-!h~zpIgUD5 zMcRq)blhI-pt!J;jeziWcS2|(xfWsw9O4i>iKHx9k!M^TIz;sGyqp6uj3(UrDKa_| zrg1P%a~;ru^0Qm=(big@Qxy9F$=4TAE!qK=%Yr8*APaaU4S^s?7Jsw8ZV zJ$4+c^CzMY(`+Y`CGv-G+TT^zK^P#6=5$Iq@9;{~Es)8P5k{DF3UH^E>VM?_O!vE+ z)j?7s8lfY?Gee)m0HzI&fp*LB(#Jw21#ro?bn6OXlk}5XlTS@~wnfTvq;=SNQU?~C zJnBj0--&SE?~mL-Z**-)ZE$RG9axd09n^dZ&&<{YO$Xie*fwc5r8kM4GbPo{3$jg@ zO7mcJGD((@sywV|jY)JVgS20^{75*nu6|Kfe%chfD~s!?Tg?yO&vZ*^ca1W};gdt# z+CMUW5FYtcQbjR^_r)Lu*>YG(Sdnc0tTmYi#cWgYY<)0sIf>oOtt^@>FLQ)2R`?}T z${=}~UK)QIhcFmcR$g4bTuxzrXg&l>Dtl}eQmth!Wwu^M_BFl2yd3>-*NnpqS*BPT zU5+gEf~gjUT3p5wTXY$88AA(AFm<-;Exnu+j%*D9B3vF+6;Xa+GTr=jBl9m`2sdY5 zf|}!%%ggfQp;CHM@CMVvcP^?V>zO`h?|qHPwggKu4nyOX8Gi|_32_ul8{j0Itv$-q zGtv$&$%YmY9{?%Gt`9%~@%(vkb5l!Iok_IqTMMSQcCCV_Tj^ zTFP4#Axm7qM>?<| zn|i9d_ETF^Lq3PRxl|^hik_#g09k@UpMQMDsPIT(IeYZ|zG_I%QTjF*i5R0Do0D3{ zG7JfIyP?f;rnHePNZj-A!S6h8jbS!;pq>IVlFJsh!*cCS{Y^v0U0%7ikt@(wJl9UwLDv&N35t&ZNf;ZZ z9%gmx{4D4tS6ia00^a$getu6q0fSR#Qcrqa^?I|Tip#bCXL1$S=~m`w%BUN4p84MdpQLG2EWPQOIS^e!=M}sjSc{5&kwM*#}b2WtfUZ?jXOrycnu< zj;z1xc^cmYzMDoe;L(s=dD}vi91AJ_0kagG6(*@iI>TMsMq&r$(<^fCkL(RM4C0gJ z-v9b=y+_|kzxozi6r~Rr1tGq-R=UgAEBOTC$=8`~-;a7kT&eUa4lC?AZCtSj&!`S< zAYeOWZuiaNbK<9i16Q>yuek5nsmB)lZyp~lYQzD|QCm0_kyGxvA3sr&AI zxkCT)7p0P=GJo^Fca6teBXDE;lx*enE|tQxy!@K# zv&-#^66l!I7=JFyRsPjbH48I1^lW-}c61_hA}`}0Bel)*WzpqM`z~7zzPGdY?w5f8 zDT&8NkIwfx{1^Q}zY11pj5l6#z7o84{atr#HePa`%9fgXO+=V^c;P4|iof|cIURLO z4FMpC4**c%0Py?z2DbsgPaFVt>;OO^698De-rDwP0RX{~u7)}+VBzQcI-_v4JJCIv ztW)(IhEMK`^uCF0)U^%M{7~p48$!5(p*|pIhx5x$6&1SY`_#nx&o}O zls+lBFtO+5n~>}vn#JmsG@W!8aOSQNaay3#0_^WMe{0pR(iHOhf<5o;Vr)ODGQCmI z@%YMR{K`uKenQsAbL_xd)b`4KYm(w7^HAF(SIl~rsgI?r8f#2T^mmF#hp)ebK`SSI zg0@-3LVTVRDMfAfh99wpfNE<9{gU~`5R`829@l}m9PPmqN4zN*Vd|@{SwKDM>$fqf zlg)i)%5u|24djv3(8R+?r_#oz@Mgn&e6aCFQ>sU6O9LOJU-AdD5}_4-sxhrKt%4rN z$KVVTAv3&cUC-GJ=7a0T1-l=Hdh*-tc&7&*-iSZ{JgUjKIK$jNhnS@{3zO*H;@3BIX^@__8i2wr1e@SB@k0dzHuG^!zXum1-? CV+BM2 literal 1583 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 q02?NMQuI%?Xm>ERmQ=4BFFfcGVdAc}; zRNQ(y%dqIOgM{1u`gXk?-fxdYmY3KuyECLsl4Y54cKRE>d*%eZJ)C ze5Xxo4;^Z{=^OB^c4?Y!@BIC>QQq0_^d{LevNW)nFq$l2^kv}9V9Ib{p2Z+_f#m{7 zu-;?==K@BssIUXG)CHC5IN!hAe|~%^+r9kl*POC~KYy$Ce*f|6)$EHIR~(NWTef3% ziHG>+#fzKg$J*P-gn04wUdXu8Xf-cZ+*xw-D~ZiaCpSthytty-Ugv-Au@wz&i}{+Y zRIcuS$Jf{S`EtFS|KdRQO2bztZ2$g#9uG9K-f`KQKE>FYb^YJv{u^D7@BJ@Pe;H_# zTl%N`h_)$4TV6>R&okFq(Y(i_lqYk^{Momw-v2N^z2m#ZZ>s=yO)uGG6Qe12b}hKL zg1OYDdevuRbMCAszdmd|XZ3V-_tMi*dhgf2KJ=}WW%6v1De+9|vtn3EsV{Be(Ueh`-qEyy@37%%`uu$!L(hy!_SH z#(XW^le0fL%=Rgoe7c-LXRH3M*Aem8T30Tfdu@`G=Dc~H?>s$^A6?WcYj)aj@@(-H zeZ1MPqhy^f9m`#RY31R&OG}>3@LRn0dYtiXN6+nZCN{nOGbi8Ta;0VU_u|(V%CB!f z8MtQMzWno%v3h&=@<(+3wp#Oi!kg~WolfQQ8oVWJ(SLpx-K|})C0#a{-~T-{Dy4A5 bt)6wiEAI~FlYBKS3_#%N>gTe~DWM4f#x5*e diff --git a/common/img/sprites/spritesmith/customize/skin/skin_c3e1dc.png b/common/img/sprites/spritesmith/customize/skin/skin_c3e1dc.png index b3a0acf388a1ebb001dea38c868c6e50ecc1607a..a9d1b0942573b14e4a94d1992e34d5fedaefb97a 100644 GIT binary patch delta 3225 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 LNkvXXu0mjfx9kGa literal 1543 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 diff --git a/common/img/sprites/spritesmith/customize/skin/skin_d7a9f7.png b/common/img/sprites/spritesmith/customize/skin/skin_d7a9f7.png index ecf379b8ad3821bd0a01e9cc16c33913c3e3dd55..9ece1426786c49be57bd47f895d482300cbf9200 100644 GIT binary patch literal 3368 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 literal 1990 zcmbVNc~BEq7*D_pFjNOcrDIux2ey#=mKYNfOw@oJNUgAp|jW=4m|*1(C7>*4Ii99I!nOj2pC+T{~_bnP>og) zAr0xbh3|x99fp|%RI0^dp;(v{1WlmQ`Fy^UgTV;IH3H2`jTmSRG@AVe7^IL{jlw1j zMvQ=y5nPNUV?r|S>BkTZCZ+NdvC-V0C_H6UD`=w9DKx6V;Ed~owi%0n{&C~8+UBUG zCWsmVnUQ2vjo*jXZvc$v?#qUpinup|Fciiw1x%D8>SP0C#1v8?89$+DV2yw$<1@qz zrcA%C1#6x zeDMHQVKif)Q4I~)g>k$6Sl$=0f?yN^F$9f5ki>xsn5#oD#H>S1KyV}n@K=Ir*yt2Y zbzacNc%={ur$Cwz6fpoFGAw{U;{lD$!|R93qH+5pr}3C#wnWCH(YahPmqqT!YW`2w zsJJs!XLfrSDP2m5{!n6%uV+et zZ9?w*zbx9bF5V+04qsP*pi2)Sux7ZjT=IxML_2|GAC^8uHwYKZ@FV!-jl>0n>`zMj zUyXg#H<%Lkd{w66k%(%^Z5rD3EqC9G!;_G@IiljU9DdbwW#Mva!xQUTVyZ%QS#$qs z`KpVa$3@2aDMRnHk5k!Z-S*zG;;_7#E9o$NpXGmk6!As3r7nqGRN~?Bq^8(++q7fz zt6n{?C=6fJ6pAhT zF|Kj9Gft576Sf=tH+h4vTBj~}cS&_NdEwqW+~wi!1L?7pS-D^y?NbW;71pEY|UBP{aIJ? zs{<5Wr<0D7M_tRL7O(BA-`$?AzP7u@IML*xg(q$ptQ}vJ|MQfx+n#q07X7xSITOiq zFeYh#xCa-k_S)GzVP?lodjTjKwa{(MzI)I)sV38_G}lqr*IAvj?8T|l z+JeR-ncSHNuFn%*o?UyhY>*q#W|Ly%v0>@(cUyL3mXENXK+&?^q^oWGq{jK}w=&#! z)canqiOm?-nqsf_$ckFwrP_G6*xXmsvVB@#&t2k}pLFvQgBHu%mNSp#jA{Eu?wbQe zJ}qe>9LtfNzQO@TGS2n~zi!Fywm$0-RfkJd#xIP%SXbaL zYrC;?<(~Yhl_&G7_BF|Gjt*!Nc&|#{KRIyo5p9nAptcHWN<3McSfqb@+2K}OsqzGg z57h5<$GS&wlBY*M9=db*zT=l5>kVzJ@5SP)_P1VfJMt#Ij5HDxrX@d!f1i-_uivF&P8S9n!>S8(&uQqRW8h7jqaSL?!>b!7f?9(N>v|cOar0`4{54BZvEF1o^ao52mo6;(ZU&ohCJhM`k?j7A* zlGggyLsGSkHYIQYsWboXyqm%i@WItJD>g=__Jm`Om`j@S2zZ>MShRL_oU+vx>oHzX zVIN%k7o#5_&;lDK7``3Qw30osCCTCR}_0B)5LKZ45mMqHn E8xIB>4*&oF diff --git a/common/img/sprites/spritesmith/customize/skin/skin_d7a9f7_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_d7a9f7_sleep.png index 40bd6dd25a12bc0083ba59aaf0d24ac040410337..8ce9331d406dbaa843e5e36ebdd20b857ea145c8 100644 GIT binary patch literal 3359 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 delta 1056 zcmV+*1mF9g8psHcBo78+OGiWi{{a60|De66laV18e*gz`Nliru-UtH#6fQJf=}G_q z1Jy}HK~#9!?VZ0)8$l4pXDo*_Bs~>YKuAy~j}W@#St1@KA+JI@lSiN=5(3Fo&_*Ez zg!oHw-rd=~TVKJQ!+F1v5cqU|?BC6O`_1eE3P2eB$A}0BnxGj3P0$3*AZUVS5Hvv( zG=rcCf0{wi1WnKkf+lDNK@&7VGYFcX83awx1kLC@#zX%Av*|rlR3MO7TQ91OZk3yg z*d=eOD!*?2h>9+DgH*?gOb$1cpqGS$EDoMsO9=IV!*;j7c;MmAP&!&+J6NhVF&7z& z>U*^d3}8us_xK)%xSDh}y@vy|xfLGDjo0nRf8PIuc?w*%i`?BlE^ZfOa`;l2(LM(Q z3!f}N^_5D9JyI*ks#;|~L{z2soE{Gov-pgxfG%Xg$cB>;0Fg!m>R~2myYY{ zL+y=1V$I#$8rNJ#`r0MFs>t2VV+6Q9NQ!KC%wzJR&0&fl!Gc*(}zD2m{q_kuk|yJFT6oh>X_E2e*&@@7uq%ZS|X_{z=dV z%%~a00$oS$QMLnGDhGbhG;rhdq&E<~42grYcQ(`Ffh^>qCfRABqb5HRog*F(v^?ps zP}OAk)sLB^#z{2{da5FC_9y<>%k$aNf8kX`WcOgwc~*~xmCI6>1jK;TZGbg`=>V9Q zA~X!Fg@8uu;OP8uPTMte)7o!qK?Td{@dcbD>>Nybz1EeHm-nCcw6Kg88S-yabB3j{ z@x-Q5q@NJT$D?;q3GU+Cm$OED_TlKQ%;$3%jp7_T`Fs}aBVy-LR7ShfStHM&e+}7~ zs|ec%Tg|wcvZP}{*cvr7Kn4&sm(m;JvUxtAFRebimXCqXuspzVhzpPqI|tjfN!Z-} zDwUIQ<;!*t6SadJ4BHw$n)vLtQW_brUOZ?dda4cJT&E8H^?y!|q5r8LJM#k53d%{! zu8|0PTpts%Yv-e_3(+>0q4i@|f3e(PO$wIKbI!GkRGl}D_f<;A)7*%48%;AVtB{Me zEy44$q0vl>tVk}_7Id1qwmlkt?sn33?WE)M_`<)@u3DF?ycWB6l#b_M7z>n+>*)iW z24D6t1M>ar1zdY{XMf_ich&b84KLS_t394}UW8sWGTp%rAgI~G;y|Y>J^Ls+`Yd7wwNhyr^scX?rLHEuI=}ARY1pvt!WJx(!@cr+ zwCZrL#|1Pix}Nf%DX;`5Xa+$OG(j^6nxGj3P0$3*AZUVS5Hvv(G=rcCnnBP6P0)<~ a;~&D;tlRh12zdYi002ov22Mn-LSTa1>HUfT diff --git a/common/img/sprites/spritesmith/customize/skin/skin_ddc994.png b/common/img/sprites/spritesmith/customize/skin/skin_ddc994.png index c084a9e760c6c5a9e10637555095cabe983827d8..e55ccd274d6a5e68e969f585d44b6b5482e929e2 100644 GIT binary patch delta 1650 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 bP3C(5m(_Qq8eEBn00000NkvXXu0mjfD9R?l delta 1831 zcmaiqXFS^p1AwFH)!QC1Y8*A9Mo(2-?NWrG(kj~6Th*!&D+J|_8gZym9D+Eti_j$Y zXiKTHQY*DjoY81vUZk|#`{6#mzu)_Oc)mOjlZOJymIc7Oeh7pW5`lnPg`&Ov0=z&V z?aWM@CG>)|kU<*Sxl+WSyyZDWIGt#Na_YDu-Z*#x`J(Exk$A`0r|Xr&m>_W!O|x|> z(1yT1hvwmc<6m=2Wn+!Rc?Q_8nOtNf%20Slu2L_29`5^somd~-L_~GD47TSGfm@rA z`a8f!4fv2<@me8L%zb&^MT3x&MJO!LwUxOzVR-EjUQ-=o(di632OCVjGu!Vb^LAN_ zdw%;Y3}ahY1C}c@3b50QmD=-*&#TjI;)5=me%)1EF%Zk?q~!h$#TVdp(2B@|jo__PGtL~JnK&I%GBTpE`}f2nrED!aImlTc3nSBR(kFR3FDttCRzWbpJv=sJ_u*g zY6jbtZ~eI@6Y8YuqV`a6bE(#5r}Fel0>KYZV6b_f)%3%>pVDePAYRO<_4xjffkNH}T9JmS z-^8i_D@g($emVKe&?Zzd7xB0-Bi?*j4xQ64mp&;F8a&l1kv{QgY3}eqU!AJ7Ci!f% zqs-JzXs01&l1c;)k3{@Wa!UM^2w3hn{Sa~?c<-19``)ay-(m#ojv)ct3_BK#-srI>jvOhZTxK{p3V3WcYj=`rsGLd+z5+VctR z+!)#R%~tc$)51%>8N$RcXrYegtI=o~Y7{&+dfrErS<5U5$pq#)Rd!H$v~~5k`da7a z!?$q`YWHthMZLbK$AD28(B>UzUxjq-+au+cgJ`*fl?&R3qRS3iSLedPfBN&4pHR$Z zQzPjl0++LPxz=Lx?zp8~9M|rXlcPPrMXVbiq=Dz#?PYMzyRWTz9}w2P!`AK{_FV`b z{wC@G3c(6efYlTb2n<3R8(L$zmeL)p!OES$gU%{en~jn znIy0B%X9`+>rn0}lwiHvHVc>;qs^qYcny6BI&r`mIrqsniyWv%j$H_OoPd+M_^C~o z8e3)BI--iHTt1B*lxA2M^9ehV^r-&tc$o$F8C&z?Dz0&9O;PL(`d!48a0+k|ZHX`X zEzLJq6Z*uw&0bnY&Gis?KzRwRz~31t1ZvhNJH*zCV-iZOLb1xgR4U=!$-xu zWG5Eg;j?Nfys;=ElJ}&mI{z#m2#;E&+(Pig?5N>S$xVaQx$ed@9Axz8h z;06I#@Pn<>0)h5G^+n{Y%5t|B1|vlCJpXv)XR?Gp@ZE;JC05apPRvQJU0Z7%IU{j0Q953V1j~BpqA!z4I!Yxu2A>bh?%f0RCuu^4kxg`T{-9zG0cV zp-Zp2PPQ>4_{xTI-pG9lbybzvv)I)tkG>iYI`<#w{}%M$@(pzk0M*VGq6mr1BG7+9 MnphY&8M!C^15<2+-T(jq diff --git a/common/img/sprites/spritesmith/customize/skin/skin_ea8349.png b/common/img/sprites/spritesmith/customize/skin/skin_ea8349.png index 470723ed9f055cc30f75887ea5d46f444fe807bf..74ec2b5c153220e04f04bbc9fd8c10c175031509 100644 GIT binary patch delta 3273 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 Hu0mjf52hFv literal 1585 zcmbVMeNfY87>^>(;o+Qcu<7t}(Yd+Nrb&~ujdU7l3ss9)&@mip+J-hlo0*yUu|uehp3u&;Y>ANh}<27kPYiK#z>!(qJ#E zQ3M_{kqY(5cv88REI3UNIha(c6?PSd!4##$2$G_(WEfXrII03SrN9W9q-b0Nhc5&~ z6CDM#)nE$80+JqaNs^aFQNQ1>^sAME=tMD{PA6mFxB^%xd?g-<4JbUmc@YEy=d+8v zSKsw6Tdr%&+9z4Lf75uZwJ)c{ z%b`}zClrfzz(>Knh%@NjlLN_yARBsx$OBT?B7M~57Q?hS&ZJ^$qei7RQIwjDU_8#3P+@8fsn(K&j=(UZI#okZ1`USc1Vb`f9TV|2 zdwde>v2&5QJct|i)jZLcP7^s+62u%qD2hx#mP?QXpG)wgezBR)eMempr#)U`)+f<@{Qmku=OBR7JSr(&#FbRmJu%a5u zKiIe~y9Puia&GqOQkR@_TDWzd~xe}SHc&YBA{T(|l#9ckG zYi?ciA?KpbDyzns*b(m!)SNnbV#Uo6_Ri_L#J+Q0r{AglGvN>_bz^v-Ab zBX2E_KhV%1b=yAf`F_r|wwjjd6HLmq%1p{ES3|MmECX7lE2W9+A^iUGds*1LO8F;l MHf9=*q^>Xj2Pf4@ApigX diff --git a/common/img/sprites/spritesmith/customize/skin/skin_ea8349_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_ea8349_sleep.png index 1484d376f8d6765b15cce21b977e7d5642df1b4f..8e8c089749b42d211518ff0d88f78172ff5eafc5 100644 GIT binary patch delta 3261 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

7b>)0*ubIlxzNoLr{VTzQocpyC)PXukFtR v&;-zcCV&Pspb4M>O#lsOKodZ_oUZ`@*LoK~#9!?V7)86j2<7&u`Iyg@3SJVi#D^N7z7ODR}`4v9U?D&k`FOI}u;NSXhXl zuMkL`q!yxu5MhqR%p@DwVMn>M@#cQtcEjBn=9_cR-kF`SEf}5=3J{HGKs2He4TwfG zAR5t#e+EP&8W4?WL<6D`4TwfGq5;u}21Fwo(J(kSazB9|ub-d4({}Ur{iWl7|NOpi z`<>mlL87S+=u71IHfdK~#I3tazw2M8ODkoF8X?hC2i0-qb0h* z!}8zKrwT|k)d5t8q@%O7rDGnfo&EE85>0i$f3>NOp{M`+{vVTQssnPaj;^|R`Tk(x z_D?T1{%ZW2XOBoU)d9W9{vVdEO6gj4^cl}TEK~6hDswdadG#gv z4a>dVcX4sUvTe)t%~5Hh+Zz@|tZoviDlgGhbJC$$>E$i%Sx4^h^bXO821Fwo(I`MP uq5;u}Ml>KA(ST?~BN`BmXh1Zg%jOT>>Acz>qR~D80000pE5d diff --git a/common/img/sprites/spritesmith/customize/skin/skin_eb052b.png b/common/img/sprites/spritesmith/customize/skin/skin_eb052b.png index ede562fb759ba53487deddb40fd331f5630475af..ffa04f3e26edbab7c28d78665fb9498d5ae051f3 100644 GIT binary patch literal 3360 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 literal 2099 zcmbVNYg7|w8ji?Pyr4qmmKKOXT19f1B$LZXkU+vk2w=!r@p6=q86iM2aWY6?1wp&6 zD1wz#T2NGko+5~{g#uCz)e6Oh08$YIk*Zjwf)|Q_P&qr{V)uuqKX%SH-}QZ;_wv2Z z`7**n{H>Ofmy$>%tH1!Uj2O3@eoG6Y=YJzIBL+uY5`l-Kd+;E1T~_;1I0oraYBbx zFvOP#SRxi%;=^Y#xqJZNvsfY@fGy!M*?wFu8(hG6pDu?9fWE$B5ab9r03c!e@HkvC z4**yk5h&sdL<_os8Xd0CD3JxbD#Gr(F6S?GAzutp;3y_X(fEZ52#Y~+R2PG4DZb%c z$~vh+snVD>)|)P9E?zN$srDhTABL(avl)g|@9}^M@`?K4ahSaM$eDb$2=tM#nE;O` z;&G_+y72##H3s1f!&DysQ!WczL=Bpz?~0#TyrU1IAvl8(-A zRqy1PzsJ_qy-D^=ecPrFy0iU|gO}yGMdWkVB&&|OW|?LYGuO<$7jwK1nGwC&g2?Ql zA8G7r#P_GUE@?+vjT={5RUL4cs0~Qz9Pc^XnDO9Q{*~u_dHt7l#uf9xHvqNKM(92h>l)!{*BEmCM>a}as7dAG{@lVR&U)yh%fujz68+mMVcvGRIzgf@8 ztMpYAXNdrq+G$vQG%dWg z<3@s@w&@rOKD~0qEhY2NG3Dn*YY%%D`uL~Wi)-{LK{>?%HuoFqx5~LqRSv!8P{Qj< z>(%2o&dVx9tTJ2Q&V6Ui2WPrV%Oh_U><&q#tuNx_8^!{h+N;lJjt+I%dbphRT8ZA4 zs<(uV+43)b^B^LrKDU5j-*Ej^wg0~oY(36=(nOx_+UqJVy*y$2xz>E=y>0`f$S7 zHt)@OQzh|(@Mrd|Ar;|DzYRUz*m^jiQhNMm%Msko7Z37(1i=>cUBR^Jhlg5nmOI8C zH8gqU98S_Eolco)x;gpe`{@z(V;TaMyAJKZJF`!weo*Z_ohLS^cUoCrxThF08yZeZ zv;ET&64{CM?Ic$K6UljGw|OhZvE%@sz&Es?#te; zfO~rGx;MV8bC0!mt4;By<>j}g1K$M>y!``MSG+Q`;Gf+WE2YqV($j>(-T8hmLdS31 z{*Rft)uRW(EVM;a7H;n4lt-A;{+!wjUaKKDOYz&%)gBu@KGHJG^B*X2ADVQT zsU6I8e30Ul|8z@b9q2Z_X43w#w0Mb$%C01`iO26@``-w{6Ku!3UWKMDBE`Xt2b7Nv R?lnE*fszn$xliQ5{{pMHOQZk* diff --git a/common/img/sprites/spritesmith/customize/skin/skin_eb052b_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_eb052b_sleep.png index 21e2dc8ae2069c5f66ca85ae5456f0296bfa8c1d..ff384460b33efc0628238a87896e041d9170af98 100644 GIT binary patch literal 3350 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 b-b8^!$ru~5uvwj}!2^0)#+p?c_Ambj1CcVs delta 1169 zcmV;C1aAA58o3FOBo78+OGiWi{{a60|De66laV18e*gz`Nliru-UtH#6(r4*F%dAegQYZqnhxcP4ub;J^>_p(2F1*mIPt~ zmWS!;uAV%Y7~{tZ5fC&%GYFcX37SFB1kE65f+lDN zK@&8Cf1nAPpcw>B&}w;FOMK1PzBca zKM18G05+YKT!ynujoIpQNqZoRX|`fC5vfu-Y$DSj4U%bbbD$XuO_N?Y*8tTxGUBwO zB{b8Nj_58RPy-kogTaih!!geW$9-1?aB=dZ^{C{dR?>}BBOL;1U`cQZEy!l))H4g` ze|*-$A2WNW+ME`%dr0@0oJLEo&jup#lT3RJZl9O#(|YIi!h6d~Ni`bXWUK_~0K|g` zcI{&MBV=;8KFA9M{Xg9R`s}sO&GdaT(h)M&(oLaBPCOhW$l3f8;QJJBo(Rq0+kkdN zeo`5o!ILB>$j>E7kp#Fc7di2~oV>(~f8S`(abj!rG4@UmT{b7MR(t@!Vzw2*rRy7- zCPkj`Vr^bjHtL!TwFOuti+(6g2)f=-2r?{#<>-U3Riso%D1efG`ZcZ!{9 zNrz^x;OZ_#qNnaFT-uPwuy$3s4xfR`r`u}2c<=0}hm2q`+iF&>B!{_ocG&y*i?w<5 z+IJ5=$kqf1pE6BI#{hjS*F@uylcR*1S6fN7f^W)ugT0%Ajsf zS~`3zpKhyfDp|i{_w*2XFSI%LVz!kxpTc{GR#K)d9X-CcI~YAnu+nPw3yPQ8HyZSC zLr8ORQS{rlYp8{)myWiK_!aQfrR$dj?=G&^$YMrkZbT&Y@Y=F4>_Enif7KhM7-3Z< zTSaMYAIK(6g6_tI zC?o$P7ye$81MO{A+ILqvdkgO|s8Kr7!m6ZQq(v>77WdB8+B>smi`m>+w9jRvDYQv# zL7_D4>UJvG>dF{ZdlC;Rcdj6HxenW8jymXAylBg!5{mMuwr;!&ssqbM9L?C#@ z5`29BT=I#ja9_uD^eCFunv(qx;XhMg2~N-qf+lE!W)L(%GYFcX37SFB1kE65f+lDN jK@&8Cpb46w8RN$v>Vh39Avm4a00000NkvXXu0mjfH4iKb diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f5a76e.png b/common/img/sprites/spritesmith/customize/skin/skin_f5a76e.png index 35d2f7f08e601ca957f97a924ebfbd4a2dd48bdf..0e7b3bbfb908fdd297d05a181396d07e7b1808ce 100644 GIT binary patch delta 3267 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 BA7KCh literal 1418 zcmbVLTTC2f6rPqylmwJiZA37W0cka`bD!NESz%xnyXtOnA?=o!ro-+mJKf!xVP;?# ztoDMoVvDz`rI@sK6{JmQHLVHWN}>_Zgo=)X7gf%L)2%=~Bm zIp25A`Of)!8eEU%=N08a5R~uOz`McPoP2K21#im`w;C+>8Fr7+sQ8VDpotLYQ(8pW z5f)lSwFFPHF>*&UaJqOeiW{XvVb5g8Uh>*hh&|N+K?143+&`J ziohusBWOd?NqL+NaGj!wFl{0$y%>(e3}eD6nqlw?n80uX#lX!};uK3WEMbN-7XqSb zK0oW`>oc*ymkkLRhRUL7BoZ-2NRy(qqPW#+O>z)KCGe=!J7q(NR?2#5mVp;_uO_L6 zq{wiRQD{-x4I2V7O_vZ>oz7)qS)BRnKPAR7LucD?Iebq&77G+GFadLQ4Iyjpvm$0&$wi_zzinM z<>3b(%g0BQ!I{y(;TT%v&qC0u5eLsTMSuKl5`X;5hT>gqjm5lL$Q6f9#rM3sPCfCC zc|N!O%;|j%9~@k#-aQ#SQ-Hj{Oq3cftL>S1ro2m{N^n33bDCFJXv#MqzI3X$15(}Pty;&x5Wl> z#uvW&#b_S!k4|jq`n>0@0;;@ZD)H0hJFm!UY;Jb=Xz$*I@8%8%5;eUOPt9yUHhIZ^ z>gz+TF9gdE_5kk+`=y9y>ye|eU`NMavAIKAlzn#g{5Qt5ST?Sod*uZFw`>|3vuguYJ9Hg?nFrxbd!~;f|dbKQ2hrJUdY+_qi0) zb2q;)&;@-Hd%h3QO;_(61o09c>(oqW_G;D0xaHi|o72y{J@22L%-=uDzL)bMIkxeQ tp7Nr!fNS#80;Uu_w>qt8{hvGXFo@~C?fPg-8|WbfIqWX}WbL*+{{Zl=3A+FQ diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f5a76e_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_f5a76e_sleep.png index 64a078a008b03edaae982b77044af0f8943efbe0..5621d1001afce3f709b9a540876a3eabc962512f 100644 GIT binary patch delta 3247 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 delta 497 zcmdliIge$63O`$tx4R3&e-K=-clqRrisJPQ>?NMQuI%?Xm>EPZ*G-K*!@$6}+SA1` zq~g}wyBoa@2S_+Pbdhl>5OkEunZNkKi&u{nxPGzmy|a3ibKlXiu%NJ1}!Hf)gy~eGQR&sSc7f) zW82)tN1whr`KzX1?tJy{ot@M8uBhfe%Dc2FMugk@s`{U=fitIwNE%+eq$nGF-c_;` z=$bo?OLj;DMIJV$mMvfA#^tl6#KCHlPPH7L_VqR8yZ6WCFIvjH*3+*IrjMFuaPraZBn@o z{l9wCcH4Sqs|$BZTJn9`!k7QA%WU8Ip(xDi!mN@hsVUR!FS~?$x0m?L{qQuW{JqMK z%N7# K=d#Wzp$PyLUFdrN diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f5d70f.png b/common/img/sprites/spritesmith/customize/skin/skin_f5d70f.png index eb9067a981c839e5ba70466d5f64973022f68651..4ba5d3193e8fd5a77e8d593035fde656ce556a46 100644 GIT binary patch delta 3343 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 literal 2095 zcmbVNdsGuw8XpvB2}J>8DMBO$t+0^Cu^5t(1jvKQ1QHH#Ru|?HG=uUXp{ln8gcFs5V-nsYpJ@5BB zvo}H->VjE@0RX^7yg?vC=PkDPLq~LEm-82(lP4mKL8A0KkTeAh0eqD{9>R;YiUddo zDO8q}HfRk1EL3acF-VLgoU7DpNeUZ=WY!u`Z2(xa&TLR9lOO~i4<%@HJi>G9B?4Zf z;t`@55{kqS0;x3{(qSknT`E_mCn-59!n(EiHD)eqKno!Xyjh#9Gjh#5!i-%my0&eT z3HTWZlEfp-1{EWTz=!Bz2+ttVh)N0w;+aemNM|saU?84K0jXpPDoi3s=Q5aFDhogN z5KwQhY6n*)5Y72Qzjy>Sf*81Da#~s%DUC+b!wF=N!{OL$P^m-|K{Q%)h{8p)))|tUWd0?RK)8|2#ko+bdlM{|PKBvs-3&3vii{1AzJ;jx!r3xFeS9g>r*rsC)g|WY<55HIxEDW`%Eu;3yajbJY8Tbm zAIln^o+@^6-n_T_PKs;UX1Hr>7XcY?iL@+cr^oda{p9cQO}pc5B=yN>@#8mJvv(#{ z-I-+O9^7ABWA!;#t9Cm7if5hT16s#*4w$3|7Y+?JDNp4$NT0h|3hItY_vJ$7f-<~m>!QI=g>MrZU$^VyN~7bN zDx?0>Gp;l?ej(<;w}WfWyFJP|s`7QF7N7WWNq70x$sVWBy=?(6|1f>PdjEcDcILHD7c(A)N2rNajndLBa}5)Ll$+#tQOs)n5; zZaoCU*q_V#7Ra`>TyFouDL<85_4@nE@e|eyD;jAR54Ejcara)(qKdVp-~Qqg?WFjy zp4>6??D5#|{_aahnqQ8;dUDL}=EHXNNNW9{m&4^#hxhg2R^9l@6B|@w3ahN{Zpn%< zcF+?Xu5Q|yb=tXEG@z+XCkW>ex@IMlem`)pl}KDV&K>s;d3CY6Vwig*Ks2>0xpaS% zoK)_gICOJrF#SBTE2D6E$<^~@y!`!L2XCLip;YSBeps*$$+N WboWPpp?z)pg^Pt!K~?bfUH=8Y%RyoQ diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f5d70f_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_f5d70f_sleep.png index b5fb256d227df2fa547257773dfdaa4bca4854da..5cb072899e78abef9cbaa7f8047891380099c055 100644 GIT binary patch delta 3346 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 delta 1170 zcmV;D1a1438oCLPBo78+OGiWi{{a60|De66laV18e*gz`Nliru-UtH#77Wu1$}9i? z1V>3kK~#9!?VU|-8%Gd@-=hhTg5)cNkf@cMti7`X=NR_!l4B$=lq)D+i3W6r#1IKc zt}JG{yLx6Q2}Tcr=DgZaB!@H9H`T9xx&+b8ARFIiLLkrrEfZ*g7HFA33$#q21zMnG z0xi%oe}NWgftCrhK+6PLpaohc&;l(JXn_`J+2}T}{TJA6&f-wpeEAM$0NK7^07#e_ zNWcvEzWW=1HE*?t0KjtnALY@{7y~o|NG5s&;%s3YF-(x*9wi+wF!LN?Ej=diEm40D ztoJ!d$ADbCHfs^h7w?ivEZ(*<(ZX$yA{o8-e^o0j7Vk$RExXNGcm<2~zZB?p@iSA{ z0Iz}UN09?`y5j(XOe!5bov_h7yh_k?T5C?98z;65uz#&Z+F+B#Z$@81XhwXKeb>`;|r!AF@%<7Sg211aH%s-MOx3b{9Ic9n8 ze;5pW-lA}f;d--rPD;pUt~EK0P606aoOPZ(?yj>Vh7_0a zy@Z)j@zc+2*3A?>I)7#Z9>}QS9%$cd>0}5|j`AB+T0p8RSj?=Kg!y!@U-fl`B|Pue zhK%o|LWWb64qx>pkNtYL9T0~6=k;nCe_!3)-Sa zD7;y3m5}TdJ61F#*4OK>w5)AUmLGwY*@-^JW4#Uo8fD8^GpnyQio*iEHNM@*AIACDRCosZ0*M*sC8cE5TFm z!qDB7iJc8AD-}lpI+iT#O9;C+f1}r0>hHX;?YY{B8BLYavAsPtd$PL$e7)PneMB!H z7g17}?bLX=cs9TudwLga>7d--o>~SuDuBgZ6e90nr=D}J-(%WQjf4?yN~yCWEs>GjtaEj#rFF!f8E{fL&-&z z!SJ6yUqv!+etR5r$CpUK%dRzdlOUixdc?I+T3RaXbsSQL%3ZITtYf=5i(l05fb5fz zAC(J&?G8=@y3}OpO#bY1aJpF!Omi2Uoqk0#>cz5BVdLG>sz$Z~{VOdwZc=V*wtTw=5hvg+D`Hw_^&|WQF)KnuKn-MY%Z_CRxaGnYl z;%coDeAI|A@m|Ma3YJEe%8naQ|4iX9Cg~7pftCrhKnt`G2(&=U1X`d4S|-o}EfZ*g k7HFA33$#q21$x@{Kl@6{XDFG(r2qf`07*qoM6N<$f-Md*0RR91 diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f69922.png b/common/img/sprites/spritesmith/customize/skin/skin_f69922.png index 2ac2ef62a84aa491200b723dd5d34ea6d1ff1dfd..071299b891b5af128e44978ab1d5cbcd712958cb 100644 GIT binary patch delta 3325 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 diff --git a/common/img/sprites/spritesmith/customize/skin/skin_f69922_sleep.png b/common/img/sprites/spritesmith/customize/skin/skin_f69922_sleep.png index 786e8fbd3c7cd49144bf196336775d385307b71d..0d12e4afb41751c44f66e967a6571447f748391e 100644 GIT binary patch delta 3323 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 From 3f8066eee50418b91e1e4201757337eef6850619 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 11 Jun 2015 20:24:52 -0500 Subject: [PATCH 49/49] Compile sprites --- common/dist/sprites/spritesmith2.png | Bin 156712 -> 147395 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/common/dist/sprites/spritesmith2.png b/common/dist/sprites/spritesmith2.png index c448b073f522ce26a18f50420ce7c0cf8c96fdf3..980f2fea093bd33a2256ebfa79bee7c68f675cae 100644 GIT binary patch literal 147395 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 literal 156712 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 z%0A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 RU)$hMTjMmQSj{^4{{ZN0Cb9qk