diff --git a/public/language/en-GB/rewards.json b/public/language/en-GB/rewards.json new file mode 100644 index 0000000000..f923cf1500 --- /dev/null +++ b/public/language/en-GB/rewards.json @@ -0,0 +1,10 @@ +{ + "awarded-x-reputation": "You have been awarded %1 reputation", + "awarded-group-membership": "You have been added to the group %1", + + "essentials/user.reputation-conditional-value": "(Reputation %1 %2)", + "essentials/user.postcount-conditional-value": "(Post Count %1 %2)", + "essentials/user.lastonline-conditional-value": "(Last Online %1 %2)", + "essentials/user.joindate-conditional-value": "(Join Date %1 %2)", + "essentials/user.daysregistered-conditional-value": "(Days Registered %1 %2)" +} \ No newline at end of file diff --git a/public/src/admin/extend/rewards.js b/public/src/admin/extend/rewards.js index f8f2deb478..109c84695a 100644 --- a/public/src/admin/extend/rewards.js +++ b/public/src/admin/extend/rewards.js @@ -41,8 +41,8 @@ define('admin/extend/rewards', ['alerts'], function (alerts) { }) .on('click', '.toggle', function () { const btn = $(this); - const disabled = btn.hasClass('btn-success'); - btn.toggleClass('btn-warning').toggleClass('btn-success').translateHtml('[[admin/extend/rewards:' + (disabled ? 'disable' : 'enable') + ']]'); + btn.parent().find('.toggle').removeClass('hidden'); + btn.addClass('hidden'); // send disable api call return false; }); @@ -92,16 +92,16 @@ define('admin/extend/rewards', ['alerts'], function (alerts) { } inputs.forEach(function (input) { - html += '' + input.label + ''; + html += `${input.label}`; switch (input.type) { case 'select': - html += ''; + html += ``; input.values.forEach(function (value) { - html += '' + value.name + ''; + html += `${value.name}`; }); break; case 'text': - html += ''; + html += ``; break; } html += ''; @@ -162,7 +162,7 @@ define('admin/extend/rewards', ['alerts'], function (alerts) { }); data.id = $(this).attr('data-id'); - data.disabled = $(this).find('.toggle').hasClass('btn-success'); + data.disabled = $(this).find('.toggle.disable').hasClass('hidden'); activeRewards.push(data); }); diff --git a/src/notifications.js b/src/notifications.js index 3499a6caaa..13f81337a9 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -99,7 +99,7 @@ Notifications.getMultiple = async function (nids) { } notification.user = usersData[index]; - if (notification.user) { + if (notification.user && notification.from) { notification.image = notification.user.picture || null; if (notification.user.username === '[[global:guest]]') { notification.bodyShort = notification.bodyShort.replace(/([\s\S]*?),[\s\S]*?,([\s\S]*?)/, '$1, [[global:guest]], $2'); diff --git a/src/rewards/admin.js b/src/rewards/admin.js index edd3202e26..cddbec401b 100644 --- a/src/rewards/admin.js +++ b/src/rewards/admin.js @@ -67,13 +67,14 @@ async function getActiveRewards() { db.getObject(`rewards:id:${id}:rewards`), ]); if (main) { - main.disabled = main.disabled === 'true'; + main.disabled = main.disabled === 'true' || main.disabled === true; main.rewards = rewards; } return main; } const rewardsList = await db.getSetMembers('rewards:list'); + rewardsList.sort((a, b) => a - b); const rewardData = await Promise.all(rewardsList.map(id => load(id))); return rewardData.filter(Boolean); } diff --git a/src/rewards/index.js b/src/rewards/index.js index b4c9f8418f..49e88d1b09 100644 --- a/src/rewards/index.js +++ b/src/rewards/index.js @@ -72,7 +72,11 @@ async function giveRewards(uid, rewards) { const rewardData = await getRewardsByRewardData(rewards); for (let i = 0; i < rewards.length; i++) { /* eslint-disable no-await-in-loop */ - await plugins.hooks.fire(`action:rewards.award:${rewards[i].rid}`, { uid: uid, reward: rewardData[i] }); + await plugins.hooks.fire(`action:rewards.award:${rewards[i].rid}`, { + uid: uid, + rewardData: rewards[i], + reward: rewardData[i], + }); await db.sortedSetIncrBy(`uid:${uid}:rewards`, 1, rewards[i].id); } } diff --git a/src/views/admin/extend/rewards.tpl b/src/views/admin/extend/rewards.tpl index 5c17dda540..1477430dec 100644 --- a/src/views/admin/extend/rewards.tpl +++ b/src/views/admin/extend/rewards.tpl @@ -35,7 +35,7 @@ {{{ end }}} - + @@ -47,7 +47,7 @@ - + [[admin/extend/rewards:select-reward]]