Menu
Forums
New posts
Search forums
What's new
New posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Search profile posts
Advertise
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Forums
The Grow Room
Outdoor Growing
doublejj's BIG 2014 greenhouse adventure Reloaded......
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Members who reacted to message #871
All
(2)
Like
(2)
Jul 29, 2014
fumble
Well-Known Member
·
From
dancing in my kitchen
Messages
6,287
Reaction score
11,461
Points
388
Jul 29, 2014
S'Manta
Well-Known Member
·
From
California
Messages
2,264
Reaction score
6,252
Points
303
Loading…
Forums
The Grow Room
Outdoor Growing
doublejj's BIG 2014 greenhouse adventure Reloaded......
Top
// Add this to your XenForo extra.js template or include in a separate JS file // 1. Basic Twemoji Implementation $(document).ready(function() { // Load Twemoji library $.getScript("https://unpkg.com/twemoji@14.0.2/dist/twemoji.min.js", function() { // Function to replace native emojis with Twemoji function replaceTwemoji() { // Parse the DOM to replace emojis twemoji.parse(document.body, { folder: 'svg', ext: '.svg', callback: function(icon, options) { // Exclude certain characters if needed switch (icon) { case 'a9': // © copyright case 'ae': // ® registered trademark case '2122': // ™ trademark return false; } return ''.concat(options.base, options.folder, '/', icon, options.ext); } }); } // Initial replacement replaceTwemoji(); // Watch for new content (like when loading new posts) $(document).on('xf:layout', function() { replaceTwemoji(); }); // 2. Modify the XenForo emoji picker to use Twemoji if (XF.EmojiCompleter) { // Override the default emoji completer XF.EmojiCompleter = XF.extend(XF.EmojiCompleter, { insertEmoji: function(shortname) { // Call the original method to insert the emoji this.__super(shortname); // After insertion, replace with Twemoji setTimeout(function() { replaceTwemoji(); }, 10); } }); // Replace emojis in the picker $(document).on('shown.bs.dropdown', '.js-emojiContainer', function() { setTimeout(function() { twemoji.parse(document.querySelector('.js-emojiContainer'), { folder: 'svg', ext: '.svg' }); }, 50); }); } }); }); // 3. Add CSS for proper emoji display $(document).ready(function() { // Add CSS for emoji styling $("