From cc179b85a628ec3b6ff4a9fba1d04b387f1c7729 Mon Sep 17 00:00:00 2001 From: xangelo Date: Fri, 6 Dec 2024 11:51:55 -0500 Subject: [PATCH] fix(repair): fix rendering of repair equipment view We missed this when we refactored the shop/inventory views --- src/server/views/repair.ts | 41 ++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src/server/views/repair.ts b/src/server/views/repair.ts index fafc28d..52f001a 100644 --- a/src/server/views/repair.ts +++ b/src/server/views/repair.ts @@ -7,12 +7,17 @@ import { ProgressBar } from "./components/progress-bar"; import * as City from './components/city'; import { BackToTown } from "./components/button"; + +type RenderStatOptions = { + unsigned: boolean +} + function renderStatBoost(name: string, val: number | string): string { let valSign: string = ''; if(typeof val === 'number') { valSign = val > 0 ? '+' : '-'; } - return `${name}: ${valSign}${val}`; + return `
${name}${valSign}${val}
`; } function renderRequirement(name: string, val: number | string, currentVal?: number): string { @@ -26,7 +31,9 @@ function renderRequirement(name: string, val: number | string, currentVal?: numb export function renderEquipmentDetails(item: EquippedItemDetails, player: Player): string { return `
-
${item.name}${item.equipment_slot === 'TWO_HANDED' ? ' (2H)': ''}
+
${item.name}${item.equipment_slot === 'TWO_HANDED' ? ' (2H)': ''} + ${repairCost(item).toLocaleString()}G +
${item.requirements.level ? renderRequirement('LVL', item.requirements.level, player.level): ''} ${item.requirements.strength ? renderRequirement('STR', item.requirements.strength, player.strength): ''} @@ -42,24 +49,27 @@ export function renderEquipmentDetails(item: EquippedItemDetails, player: Player ${item.boosts.dexterity ? renderStatBoost('DEX', item.boosts.dexterity) : ''} ${item.boosts.intelligence ? renderStatBoost('INT', item.boosts.intelligence) : ''} ${item.boosts.damage ? renderStatBoost(item.affectedSkills.includes('restoration_magic') ? 'HP' : 'DMG', item.boosts.damage) : ''} - ${item.boosts.damage_mitigation ? renderStatBoost('MIT', item.boosts.damage_mitigation.toString())+'%' : ''} - ${ProgressBar(item.currentAp, item.maxAp, `${item.item_id}-ap`, { -displayPercent: false, -title: item.type === 'SPELL' ? 'Uses' : 'Durability', -startingColor: '#7be67b', -endingColor: '#7be67b' -})} + ${item.boosts.damage_mitigation ? renderStatBoost('MIT', item.boosts.damage_mitigation.toString()+'%') : ''} +
+
+ ${ProgressBar(item.currentAp, item.maxAp, `${item.item_id}-ap`, { + displayPercent: false, + title: item.type === 'SPELL' ? 'Uses' : 'Durability', + startingColor: '#7be67b', + endingColor: '#7be67b' + })}
-
${repairCost(item).toLocaleString()}G to Repair
` } function renderEquipmentToRepair(item: EquippedItemDetails, action: (item: EquippedItemDetails) => string, player: Player): string { - return `
-
-
${action(item)}
+ return `
+
+
+
+
${action(item)}
${renderEquipmentDetails(item, player)}
`; @@ -108,11 +118,12 @@ export function renderRepairService(equipment: EquippedItemDetails[], player: Pl let html = ` ${City.Title(location.city_name)} ${City.Details(location.name, ` -
-
+
+
${finalListing.join("\n")}
+
${BackToTown()} `)}`; -- 2.25.1