Skip to content

Post Style View

Solved Customisation
67 3 33.7k 2
  • @phenomlab users dont feel anything hope so 🙂 but i think this way which i m saying easy then current one which you are using in sudonix.

    my suggest that; just change color type without changing side metod mean right side…

    @cagatay yep, I’ll take a look at this tomorrow and we’ll get it resolved.

  • @cagatay yep, I’ll take a look at this tomorrow and we’ll get it resolved.

    @phenomlab thank you waiting your free time 😊 👍

  • @phenomlab thank you waiting your free time 😊 👍

    @cagatay Should look a bit better now - just finishing up the jQuery code as that is not firing properly. Let me know

  • @cagatay Should look a bit better now - just finishing up the jQuery code as that is not firing properly. Let me know

    @phenomlab yes i entered new topic and new post, seems everything is working great. thanks Mark…

  • @phenomlab yes i entered new topic and new post, seems everything is working great. thanks Mark…

    @cagatay Thanks for confirming. Just finishing up the jQuery functions so if you are logged in as admin, the page might reload a few times, but this is expected

  • @cagatay Thanks for confirming. Just finishing up the jQuery functions so if you are logged in as admin, the page might reload a few times, but this is expected

  • @cagatay Seems fine to me ?

    25678c08-ae90-4da6-95a5-c3b1229e7e08-image.png

  • @cagatay Seems fine to me ?

    25678c08-ae90-4da6-95a5-c3b1229e7e08-image.png

    @phenomlab pls refresh?

  • @cagatay I have. No issues on my side

  • @cagatay I have. No issues on my side

    @phenomlab maybe it depends on me or my web browser. thank you 🙂

  • @phenomlab maybe it depends on me or my web browser. thank you 🙂

    @cagatay No problems. I checked this in an incognito session also, with no issues

    748735c8-4141-4185-9d46-4eb3f8023744-image.png

  • @phenomlab maybe it depends on me or my web browser. thank you 🙂

    @cagatay said in Post Style View:

    maybe it depends on me or my web browser. thank you

    One thing I have noticed is that there are a number of errors on your site in the console. My concern here is that the jQuery functions I added are not being executed. For example, I removed the below function from your site about 30 minutes ago because it’s malformed

    });ment).ready(function () {
        function animateTags() {
        	if (ajaxify.data.template.name === 'categories') {
        		var tags = $('.popular-tags .tag-item');
        		var bar = $('<div class="popular-tags-bar"></div>');
        		tags.append(bar);
        		
        		var max;
        		
        		setTimeout(function() {
            		tags.each(function() {
            		   var bar = $(this).find('.popular-tags-bar');
            		   var val = parseInt(bar.parents('a').find('.tag-topic-count').text(), 10);
            		   max = max > val ? max : val;
            		   
            		   bar.css({
            		       width: val / max * 100 + '%'
            		   });
            		});
        		}, 100)
        	}
        }
        animateTags();
        $(window).on('action:ajaxify.end', animateTags);
    });
    

    As you can see, this isn’t right at all. It should be

    $(document).ready(function () {
        function animateTags() {
            if (ajaxify.data.template.name === 'categories') {
                var tags = $('.popular-tags .tag-item');
                var bar = $('<div class="popular-tags-bar"></div>');
                tags.append(bar);
    
                var max;
    
                setTimeout(function () {
                    tags.each(function () {
                        var bar = $(this).find('.popular-tags-bar');
                        var val = parseInt(bar.parents('a').find('.tag-topic-count').text(), 10);
                        max = max > val ? max : val;
    
                        bar.css({
                            width: val / max * 100 + '%'
                        });
                    });
                }, 100);
            }
        }
        animateTags();
        $(window).on('action:ajaxify.end', animateTags);
    });
    

    I’ve put this back how it should be, but am curious as to where that came from.

  • @cagatay said in Post Style View:

    maybe it depends on me or my web browser. thank you

    One thing I have noticed is that there are a number of errors on your site in the console. My concern here is that the jQuery functions I added are not being executed. For example, I removed the below function from your site about 30 minutes ago because it’s malformed

    });ment).ready(function () {
        function animateTags() {
        	if (ajaxify.data.template.name === 'categories') {
        		var tags = $('.popular-tags .tag-item');
        		var bar = $('<div class="popular-tags-bar"></div>');
        		tags.append(bar);
        		
        		var max;
        		
        		setTimeout(function() {
            		tags.each(function() {
            		   var bar = $(this).find('.popular-tags-bar');
            		   var val = parseInt(bar.parents('a').find('.tag-topic-count').text(), 10);
            		   max = max > val ? max : val;
            		   
            		   bar.css({
            		       width: val / max * 100 + '%'
            		   });
            		});
        		}, 100)
        	}
        }
        animateTags();
        $(window).on('action:ajaxify.end', animateTags);
    });
    

    As you can see, this isn’t right at all. It should be

    $(document).ready(function () {
        function animateTags() {
            if (ajaxify.data.template.name === 'categories') {
                var tags = $('.popular-tags .tag-item');
                var bar = $('<div class="popular-tags-bar"></div>');
                tags.append(bar);
    
                var max;
    
                setTimeout(function () {
                    tags.each(function () {
                        var bar = $(this).find('.popular-tags-bar');
                        var val = parseInt(bar.parents('a').find('.tag-topic-count').text(), 10);
                        max = max > val ? max : val;
    
                        bar.css({
                            width: val / max * 100 + '%'
                        });
                    });
                }, 100);
            }
        }
        animateTags();
        $(window).on('action:ajaxify.end', animateTags);
    });
    

    I’ve put this back how it should be, but am curious as to where that came from.

    @phenomlab i can not understand how it can be, i do not touch anything js side.

    so now everything is working and code is okey hope so?

  • @phenomlab i can not understand how it can be, i do not touch anything js side.

    so now everything is working and code is okey hope so?

    @cagatay Not entirely. There is an ajax call I need to use called action:ajaxify.loaded but this does not seem to be firing on your site. It’s opposite, action:ajaxify.end works fine (as you’ll see if you press F5) but the former does not, and I can’t see any reason as to why.

  • @cagatay Not entirely. There is an ajax call I need to use called action:ajaxify.loaded but this does not seem to be firing on your site. It’s opposite, action:ajaxify.end works fine (as you’ll see if you press F5) but the former does not, and I can’t see any reason as to why.

    @phenomlab maybe it depends on my nodebb version or really i can not say anything coz i don not know what is the ajax code as well 🙂

  • @phenomlab maybe it depends on my nodebb version or really i can not say anything coz i don not know what is the ajax code as well 🙂

    @cagatay Your NodeBB is up to date, so not an issue there. Just seems odd that no matter what I try, it doesn’t trigger. Investigating

  • @cagatay Your NodeBB is up to date, so not an issue there. Just seems odd that no matter what I try, it doesn’t trigger. Investigating

    @phenomlab maybe there is a problem in my vps or ubuntu is not clearlu working or library etc…

  • @phenomlab maybe there is a problem in my vps or ubuntu is not clearlu working or library etc…

    @cagatay Not sure, but will check out a theory I have first before we go down that route.

  • @phenomlab maybe there is a problem in my vps or ubuntu is not clearlu working or library etc…

    @cagatay Found the issue. It appears that the hook I should be calling is in fact action:posts.loaded and not action:ajaxify.loaded 🤦

    Should be fixed now but take a look. The best way to test this is to find a topic with lots of posts, and scroll to the bottom. Then, reload the page, and start scrolling up from the bottom to the top. As the new posts are added into the DOM, that function I wrote should execute and add the missing class

    For anyone else following this thread, the two required jQuery functions are

        $(window).on('action:posts.loaded', function(data) {
            $(document).ready(function() {
            if ($('li[component="post"]').hasClass("")) {
                console.log("New posts detected,so adding classes for messenger type view");
                $('li[component="post"]').addClass('topic-response-post');
            }
        });
    });
        $(window).on('action:ajaxify.end', function(data) {
            $(document).ready(function() {
            if ($('li[component="post"]').hasClass("")) {
                console.log("Adding required classes for messenger type view");
                $('li[component="post"]').addClass('topic-response-post');
            }
        });
    });
    
  • @cagatay Found the issue. It appears that the hook I should be calling is in fact action:posts.loaded and not action:ajaxify.loaded 🤦

    Should be fixed now but take a look. The best way to test this is to find a topic with lots of posts, and scroll to the bottom. Then, reload the page, and start scrolling up from the bottom to the top. As the new posts are added into the DOM, that function I wrote should execute and add the missing class

    For anyone else following this thread, the two required jQuery functions are

        $(window).on('action:posts.loaded', function(data) {
            $(document).ready(function() {
            if ($('li[component="post"]').hasClass("")) {
                console.log("New posts detected,so adding classes for messenger type view");
                $('li[component="post"]').addClass('topic-response-post');
            }
        });
    });
        $(window).on('action:ajaxify.end', function(data) {
            $(document).ready(function() {
            if ($('li[component="post"]').hasClass("")) {
                console.log("Adding required classes for messenger type view");
                $('li[component="post"]').addClass('topic-response-post');
            }
        });
    });
    

    @phenomlab i checked topic with a lots of posts 3 times 🙂 everything is clear and very well now. thank you your effort.


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee ☕
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Page control arrows for PWA

    Solved Customisation nodebb
    27
    25 Votes
    27 Posts
    14k Views
    @crazycells it is, yes - I think I’ll leave it as there is no specific PWA CSS classes I know of. Well, you could use something like the below, but this means multiple CSS files for different operating systems. /** * Determine the mobile operating system. * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'. * * @returns {String} */ function getMobileOperatingSystem() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; // Windows Phone must come first because its UA also contains "Android" if (/windows phone/i.test(userAgent)) { return "Windows Phone"; } if (/android/i.test(userAgent)) { return "Android"; } if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { return "iOS"; } return "unknown"; // return “Android” - one should either handle the unknown or fallback to a specific platform, let’s say Android } Once you’re in that rabbit hole, it’s impossible to get out of it.
  • 5 Votes
    4 Posts
    2k Views
    @DownPW thanks. I forgot about that.
  • NodeBB: Consent page

    Solved Configure nodebb consent
    16
    4 Votes
    16 Posts
    6k Views
    @DownPW I still do not see any issues.
  • Podcast Share NodeBB

    Solved Configure podcast nodebb
    15
    4 Votes
    15 Posts
    4k Views
    @cagatay You could experiment with nodebb-plugin-ns-embed but I expect the x-origin tag on the remote site to prevent playback.
  • Blinking text Effect

    Customisation nodebb text effect css
    3
    5 Votes
    3 Posts
    2k Views
    @phenomlab I love it too @phenomlab said in Blinking text Effect: Has that “broken neon light” look that you see in films. It’s exactly that, kind of old neon signs of bar or pubs a bit cyberpunk too
  • Adjusting the size of boxes in posts-list class

    Solved Customisation nodebb
    3
    3 Votes
    3 Posts
    2k Views
    @phenomlab thanks a lot, this combination works best .posts-list .posts-list-item .content { overflow: auto; max-height: 600px; }
  • [NODEBB] CSS Style Sheets SelectBox

    Locked Solved Customisation css
    112
    24 Votes
    112 Posts
    61k Views
    @DownPW as discussed in PM Seems to have been solved with the new JS code that you added allowing the version CSS file change!! Cache problem therefore with the JS of the Switcher theme Based on this, I will close this thread and reference https://sudonix.com/topic/207/nodebb-help-for-my-custom-css/27
  • [NodeBB] Creating new user to auto post content

    Solved Customisation
    3
    0 Votes
    3 Posts
    2k Views
    @phenomlab many thanks Mark .