mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: #8983, update pin tooltip in topic
This commit is contained in:
@@ -311,10 +311,17 @@ define('forum/topic/threadTools', [
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
components.get('topic/pin').toggleClass('hidden', data.isPinned).parent().attr('hidden', data.isPinned ? '' : null);
|
components.get('topic/pin').toggleClass('hidden', data.pinned).parent().attr('hidden', data.pinned ? '' : null);
|
||||||
components.get('topic/unpin').toggleClass('hidden', !data.isPinned).parent().attr('hidden', !data.isPinned ? '' : null);
|
components.get('topic/unpin').toggleClass('hidden', !data.pinned).parent().attr('hidden', !data.pinned ? '' : null);
|
||||||
$('.topic-header [component="topic/pinned"]').toggleClass('hidden', !data.isPinned);
|
var icon = $('.topic-header [component="topic/pinned"]');
|
||||||
ajaxify.data.pinned = data.isPinned;
|
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) {
|
function setFollowState(state) {
|
||||||
|
|||||||
@@ -37,12 +37,11 @@ Topics.purge = async (req, res) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Topics.pin = 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
|
// Pin expiry was not available w/ sockets hence not included in api lib method
|
||||||
if (req.body.expiry) {
|
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);
|
helpers.formatApiResponse(200, res);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -168,6 +168,8 @@ module.exports = function (Topics) {
|
|||||||
['cid:' + topicData.cid + ':tids:posts', topicData.postcount, tid],
|
['cid:' + topicData.cid + ':tids:posts', topicData.postcount, tid],
|
||||||
['cid:' + topicData.cid + ':tids:votes', parseInt(topicData.votes, 10) || 0, tid],
|
['cid:' + topicData.cid + ':tids:votes', parseInt(topicData.votes, 10) || 0, tid],
|
||||||
]));
|
]));
|
||||||
|
topicData.pinExpiry = undefined;
|
||||||
|
topicData.pinExpiryISO = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all(promises);
|
await Promise.all(promises);
|
||||||
|
|||||||
Reference in New Issue
Block a user