From dae7690c9042c4e051f8ff00fa021bd5c9b29c3e Mon Sep 17 00:00:00 2001 From: dsoloha <38593903+dsoloha@users.noreply.github.com> Date: Thu, 16 Jan 2020 00:28:57 -0500 Subject: [PATCH] Got reminder class to (mostly) work --- src/Mods/Reminder/reminder.js | 54 +++++++++------------ src/init/storyInit.tw | 2 +- src/pregmod/managePersonalAffairs.tw | 28 ++--------- src/uncategorized/BackwardsCompatibility.tw | 4 +- src/uncategorized/endWeek.tw | 2 +- src/uncategorized/main.tw | 13 +---- 6 files changed, 33 insertions(+), 70 deletions(-) diff --git a/src/Mods/Reminder/reminder.js b/src/Mods/Reminder/reminder.js index 4fd8a9a6e1d..fe1f0258cd8 100644 --- a/src/Mods/Reminder/reminder.js +++ b/src/Mods/Reminder/reminder.js @@ -1,10 +1,9 @@ -App.Reminders = class { - constructor(array) { - this.array = array; - this.entries = V.reminders.entries; - this.weeks = V.reminders.weeks; - this.active = V.reminders.active; - this.overdue = V.reminders.overdue; +App.Reminders = class Reminders { + constructor() { + this.entries = []; + this.weeks = []; + this.active = []; + this.overdue = []; } add(entry, week) { @@ -28,7 +27,7 @@ App.Reminders = class { if (this.weeks[i] > 0) { _active.push(`${this.entries[i]} in ${this.weeks[i]} ${numberWithPlural(this.weeks[i], 'week')}`); } else { - _overdue.push(`<span class="yellow"></span>`); + _overdue.push(this.entries[i]); this.entries.slice(i, 1); this.weeks.slice(i, 1); } @@ -37,36 +36,31 @@ App.Reminders = class { this.overdue = _overdue; } - render() { + render(array) { let t = ''; - if (this.array.length > 0) { - t += `You have ${numberWithPluralOne(this.array.length, this.array === this.overdue ? 'overdue reminder' : 'reminder')}:`; - if (this.array === this.overdue) { - this.printOverdue(); + if (array.length > 0) { + t += `You have ${numberWithPluralOne(array.length, array === this.overdue ? 'overdue reminder' : 'reminder')}:`; + if (array === this.overdue) { + t += this.printOverdue(); } else { - this.printActive(); + t += this.printActive(); } - // return array === overdue ? printOverdue() : printActive(); } return t; } - clear() { - V.reminders = { - entries: [], - weeks: [], - active: [], - overdue: [], - }; + clear(array) { + array = []; + return array; } printActive() { let t = ''; for (let i = 0; i < this.active.length; i++) { - t += `<br><<print ${this.active[i]}>>${this.removeElement(this.active, i, 'Manage Personal Affairs')}`; // assumes passage, can be changed if needed + t += `<br><<print "${this.active[i]}">>`; } return t; @@ -77,20 +71,20 @@ App.Reminders = class { if (this.isPersonalAffairs()) { for (let i = 0; i < this.overdue.length; i++) { - t += `<br><<print ${this.overdue[i]}>>${this.removeElement(this.overdue, i, 'Manage Personal Affairs')}>>`; + t += `<br><<print "${this.overdue[i]}">>`; } } else { - t += `<<print ${this.overdue}>>[[View reminders|Manage Personal Affairs]]`; + t += `<<print "${this.overdue}">>[[View reminders|Manage Personal Affairs]]`; } return t; } - removeElement(index, passage) { - if (!index || !passage) { - return null; - } - return App.UI.passageLink('Clear', passage, this.array.slice(index, 1)); + removeElement(array, index) { + // if (!array || !index) { + // return null; + // } + return `${App.UI.passageLink('Clear', 'Manage Personal Affairs', array.slice(index, 1))}`; } isPersonalAffairs() { diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 621fdb1fae0..46c0b56c944 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -468,7 +468,7 @@ You should have received a copy of the GNU General Public License along with thi <<set $REReductionCheckinIDs = []>> <<set $activeSlave = 0>> <<set $activeChild = 0>> -<<set $reminders = {entries: [], weeks:[], active: [], overdue: []}>> +<<set $reminders = new App.Reminders()>> <<set $boomerangSlave = 0, $boomerangWeeks = 0, $boomerangBuyer = 0>> diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw index 6750e71f045..ae5301aa622 100644 --- a/src/pregmod/managePersonalAffairs.tw +++ b/src/pregmod/managePersonalAffairs.tw @@ -4,8 +4,6 @@ <<run PCTitle()>> <<set _ML = $marrying.length>> -<<set _active = new App.Reminders($reminders.active)>> -<<set _overdue = new App.Reminders($reminders.overdue)>> <<if $cheatMode == 1>> <center>//[[Cheat Edit Player|PCCheatMenu][$cheater = 1]]<br><br>//</center> @@ -224,29 +222,11 @@ Sclera: You do not have any reminders set. <<else>> <<if $reminders.overdue.length > 0>> - /* - <span class="yellow"> - You have <<=numberWithPluralOne($reminders.overdue.length, "overdue reminder")>>: - </span> - */ - <<run _overdue.render()>> - /* - <<for _i = 0; _i < $reminders.overdue.length; _i++>> - <br> - <<print $reminders.overdue[_i]>> [[Clear|Manage Personal Affairs][$reminders.overdue.deleteAt(_i)]] - <<link "Clear" "Manage Personal Affairs">> - <<run $reminders.overdue.deleteAt(_i)>> - <</link>> - <</for>> - */ + <<= $reminders.render(overdue)>> <br> <</if>> <<if $reminders.active.length > 0>> - <<run _active.render()>> - /* - You have <<=numberWithPluralOne($reminders.active.length, "reminder")>> set: - <<print $reminders.active>> - */ + <<= $reminders.render($reminders.active)>> <</if>> <</if>> <br> @@ -255,10 +235,10 @@ Remind me in <<textbox "$reminderWeek" "">> weeks. -[[Add|Manage Personal Affairs][App.Reminders.add($reminderEntry, $reminderWeek)]] +[[Add|Manage Personal Affairs][$reminders.add($reminderEntry, $reminderWeek)]] <br> <<if $reminders.active.length > 0 || $reminders.overdue.length > 0 || $cheatMode || $debugMode>> - [[Clear your reminders|Manage Personal Affairs][_active.clear(), _overdue.clear()]] + [[Clear your reminders|Manage Personal Affairs][$reminders.clear($reminders.active), $reminders.clear($reminders.overdue)]] <</if>> <br><br> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index abe31e492b9..f759a90ce45 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -153,9 +153,7 @@ <<set $weddingPlanned = 0>> <</if>> -<<if ndef $reminders || ndef $reminders.overdue>> - <<set $reminders = {entries: [], weeks: [], active: [], overdue: []}>> -<</if>> +<<set $reminders = new App.Reminders()>> <<if $releaseID < 1057>> <<if ndef $PC.name>> diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw index 55b795fb924..1857744aec0 100644 --- a/src/uncategorized/endWeek.tw +++ b/src/uncategorized/endWeek.tw @@ -44,7 +44,7 @@ })>> <<if $reminders.active.length > 0>> - <<run App.Reminders.update()>> + <<run $reminders.update()>> <</if>> <<if $organs.length > 0>> diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index 54068b687c3..928259894d0 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -84,22 +84,13 @@ <br> <span class="yellow">/* TODO: this would be a good place to add a class "attention" or "attn" */ - <<run App.Reminders.render($reminders.overdue)>> - /* - You have <<=numberWithPluralOne($reminders.overdue.length, "overdue reminder")>>: - <<print $reminders.overdue>> - */ + <<= $reminders.render($reminders.overdue)>> </span> - /*[[View reminders|Manage Personal Affairs]]*/ <</if>> <<if $reminders.active.length > 0>> <br> - <<run App.Reminders.render($reminders.active)>> - /* - You have <<=numberWithPluralOne($reminders.active.length, "reminder")>>: - <<print $reminders.active>> - */ + <<= $reminders.render($reminders.active)>> <</if>> <br><br> <<if $seeFCNN == 1>> -- GitLab