Construct message to promote deals and customer points.
var availableDeals = 20;
var activatedDeals = 5;
var maximumGems = 100;
var earnedGems = 70;
Need to build two strings:
1. 5 of 20 deals activated, 70 of 100 gems earned, spend more to earn more gems.
2. 15 deals to activate, Just 30 more gems required to unlock a deal. // when required gems <=50 use 'Just'
when there is only one deal/gem left then
3. 1 deal to activate, only 1 more gem to unlock a deal.
I tried
const getTitle = (activatedDeals, totalDeals, currentGems, maxGems, requiredGems) => {
return R.cond([
[R.equals(0), R.always('No deals to activate')],
[R.equals(activatedDeals), R.always('All deals activated')],
[R.lt(activatedDeals), R.always(`${totalDeals - activatedDeals} deals to activate`)],
[R.T, R.always('- deals to activate')], // Error scenario
])(
totalDeals,
) +`, ${currentGems} of ${maxGems} gems, ${requiredGems} more gems to unlock a deal`;
}
How to concatenate string with various conditions for gems and deals?