mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +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