feat: #8983, update pin tooltip in topic

v1.18.x
Barış Soner Uşaklı 4 years ago
parent 69864b8746
commit 954dc5b7be

@ -311,10 +311,17 @@ define('forum/topic/threadTools', [
return;
}
components.get('topic/pin').toggleClass('hidden', data.isPinned).parent().attr('hidden', data.isPinned ? '' : null);
components.get('topic/unpin').toggleClass('hidden', !data.isPinned).parent().attr('hidden', !data.isPinned ? '' : null);
$('.topic-header [component="topic/pinned"]').toggleClass('hidden', !data.isPinned);
ajaxify.data.pinned = data.isPinned;
components.get('topic/pin').toggleClass('hidden', data.pinned).parent().attr('hidden', data.pinned ? '' : null);
components.get('topic/unpin').toggleClass('hidden', !data.pinned).parent().attr('hidden', !data.pinned ? '' : null);
var icon = $('.topic-header [component="topic/pinned"]');
icon.toggleClass('hidden', !data.pinned);
if (data.pinned) {
icon.translateAttr('title', data.pinExpiry && data.pinExpiryISO ?
'[[topic:pinned-with-expiry, ' + data.pinExpiryISO + ']]' :
'[[topic:pinned]]'
);
}
ajaxify.data.pinned = data.pinned;
};
function setFollowState(state) {

@ -37,12 +37,11 @@ Topics.purge = async (req, res) => {
};
Topics.pin = async (req, res) => {
await api.topics.pin(req, { tids: [req.params.tid] });
// Pin expiry was not available w/ sockets hence not included in api lib method
if (req.body.expiry) {
topics.tools.setPinExpiry(req.params.tid, req.body.expiry, req.uid);
await topics.tools.setPinExpiry(req.params.tid, req.body.expiry, req.uid);
}
await api.topics.pin(req, { tids: [req.params.tid] });
helpers.formatApiResponse(200, res);
};

@ -168,6 +168,8 @@ module.exports = function (Topics) {
['cid:' + topicData.cid + ':tids:posts', topicData.postcount, tid],
['cid:' + topicData.cid + ':tids:votes', parseInt(topicData.votes, 10) || 0, tid],
]));
topicData.pinExpiry = undefined;
topicData.pinExpiryISO = undefined;
}
await Promise.all(promises);

Loading…
Cancel
Save