diff --git a/src/facilities/nursery/widgets/infants/infantSummary.js b/src/facilities/nursery/widgets/infants/infantSummary.js index 0f6cf94454084d90d1eca726d39d39a905481b61..c3dda62a3060ffcacbcf2cb0669dde5432b8dbe8 100644 --- a/src/facilities/nursery/widgets/infants/infantSummary.js +++ b/src/facilities/nursery/widgets/infants/infantSummary.js @@ -1599,7 +1599,7 @@ App.Facilities.Nursery.InfantSummary = function(child) { function shortExtendedFamily() { const - { daughter, sister } = getPronouns(slave); + { daughter, sister } = getPronouns(child); let handled = 0, @@ -1720,11 +1720,12 @@ App.Facilities.Nursery.InfantSummary = function(child) { } function longExtendedFamily() { + const + { daughter, sister } = getPronouns(child); + let handled = 0, - r = ``, - daughter = getPronouns(slave).daughter, - sister = getPronouns(slave).sister; + r = ``; if (child.mother > 0) { const _ssj = V.slaves.findIndex(function(s) { diff --git a/src/facilities/nursery/widgets/utils/nurseryUtils.js b/src/facilities/nursery/widgets/utils/nurseryUtils.js index 7e6c6c7c2071bbffec86b0d2701b07f1bc6fd030..6afe2694e45d9b8d2511518a7edeac221d00b967 100644 --- a/src/facilities/nursery/widgets/utils/nurseryUtils.js +++ b/src/facilities/nursery/widgets/utils/nurseryUtils.js @@ -1,19 +1,19 @@ /** * Displays a list of the children in the Nursery - * @returns {string} + * @returns {DocumentFragment} */ App.Facilities.Nursery.childList = function () { const + frag = document.createDocumentFragment(), cribs = V.cribs; let - r = ``; + r = []; - for (let i = cribs.length; i--;) { - r += `<hr style="margin:0">`; + for (const child of cribs) { + r.push(`<hr style="margin:0">`); const - child = cribs[i], weeksOwned = V.week - child.weekAcquired, weeksLeft = (V.targetAgeNursery * 52) - weeksOwned, he = getPronouns(child).he, @@ -21,37 +21,38 @@ App.Facilities.Nursery.childList = function () { He = getPronouns(child).He; if (child.actualAge < 3) { - r += App.UI.passageLink(`${SlaveFullName(child)}`, "Infant Interact", `$activeChild = $cribs[${i}]`); - r += App.Facilities.Nursery.InfantSummary(child); + r.push(App.UI.passageLink(`${SlaveFullName(child)}`, "Infant Interact", `${V.activeChild = child}`)); + r.push(App.Facilities.Nursery.InfantSummary(child)); } else { - r += App.UI.passageLink(`${SlaveFullName(child)}`, "Child Interact", `$activeChild = $cribs[${i}]`); - r += App.Facilities.Nursery.ChildSummary(child); + r.push(App.UI.passageLink(`${SlaveFullName(child)}`, "Child Interact", `${V.activeChild = child}`)); + r.push(App.Facilities.Nursery.ChildSummary(child)); } if (child.actualAge >= 18) { V.nurseryOldID = child.ID; + if (child.targetLocation === "freedom") { V.freedSlaves.push(child); } - V.readySlave = cribs.pluck([i], [i]); - r += `<<goto "Nursery Retrieval Workaround">>`; + + V.readySlave = cribs.pluck(); + r.push(`<<goto "Nursery Retrieval Workaround">>`); return r; } if (child.growTime <= 0 || child.actualAge >= V.targetAgeNursery) { - r += `<br>`; - r += `${He} is ready to leave ${V.nurseryName} and ${child.targetLocation === "slavery" ? `join your ménage` : `become a free citizen`}. `; - r += `<<link ${child.targetLocation === "slavery" ? `"Introduce ${him} to life as a slave"` : `"Set ${him} free"`} "Nursery Retrieval Workaround">>`; // FIXME: figure out why App.UI.passageLink doesn't work here + r.push(`<br>`); + r.push(`${He} is ready to leave ${V.nurseryName} and ${child.targetLocation === "slavery" ? `join your ménage` : `become a free citizen`}. `); + r.push(`<<link ${child.targetLocation === "slavery" ? `"Introduce ${him} to life as a slave"` : `"Set ${him} free"`} "Nursery Retrieval Workaround">>`); // FIXME: figure out why App.UI.passageLink doesn't work here V.readySlave = cribs[child]; - r += `<</link>>`; + r.push(`<</link>>`); } else { - r += `<br>`; - r += `${He} is to continue staying in ${V.nurseryName} for another ${years(weeksLeft)}. - ${He} is destined for ${child.targetLocation} once ${he} is of age. `; + r.push(`<br>`); + r.push(`${He} is to continue staying in ${V.nurseryName} for another ${years(weeksLeft)}. ${He} is destined for ${child.targetLocation} once ${he} is of age.`); } } - return r; + return r.join(' '); }; /**