60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
export const registerHelpers = async function () {
|
|
// Handlebars template helpers
|
|
Handlebars.registerHelper("eq", function (a, b) {
|
|
return a == b;
|
|
});
|
|
|
|
Handlebars.registerHelper("gt", function (a, b) {
|
|
return a >= b;
|
|
});
|
|
|
|
Handlebars.registerHelper("mod", function (val) {
|
|
if (val > 0) {
|
|
return `+${val}`;
|
|
} else if (val < 0) {
|
|
return `${val}`;
|
|
} else {
|
|
return "0";
|
|
}
|
|
});
|
|
|
|
Handlebars.registerHelper("add", function (lh, rh) {
|
|
return parseInt(lh) + parseInt(rh);
|
|
});
|
|
|
|
Handlebars.registerHelper("subtract", function (lh, rh) {
|
|
return parseInt(rh) - parseInt(lh);
|
|
});
|
|
|
|
Handlebars.registerHelper("divide", function (lh, rh) {
|
|
return Math.floor(parseFloat(lh) / parseFloat(rh));
|
|
});
|
|
|
|
Handlebars.registerHelper("mult", function (lh, rh) {
|
|
return parseFloat(lh) * parseFloat(rh);
|
|
});
|
|
|
|
Handlebars.registerHelper("multround", function (lh, rh) {
|
|
return Math.round(parseFloat(lh) * parseFloat(rh) * 100) / 100;
|
|
})
|
|
|
|
Handlebars.registerHelper("roundTreas", function (value) {
|
|
return Math.round(value * 100) / 100;
|
|
})
|
|
|
|
Handlebars.registerHelper("roundWeight", function (weight) {
|
|
return Math.round(parseFloat(weight) / 100) / 10;
|
|
});
|
|
|
|
Handlebars.registerHelper("getTagIcon", function (tag) {
|
|
let idx = Object.keys(CONFIG.ACKS.tags).find(k => (CONFIG.ACKS.tags[k] == tag));
|
|
return CONFIG.ACKS.tag_images[idx];
|
|
});
|
|
|
|
Handlebars.registerHelper("counter", function (status, value, max) {
|
|
return status
|
|
? Math.clamped((100.0 * value) / max, 0, 100)
|
|
: Math.clamped(100 - (100.0 * value) / max, 0, 100);
|
|
});
|
|
};
|