Skip to content

Switch between list and card view function

Moved Let's Build It
107 4 56.6k 1
  • Hello Mark

    It looks pretty good on your test platform. I didn’t notice the bug there.

    Let’s see what it looks like on another server with CF.

    wrote on last edited by
    #70

    @DownPW Great. There is still one small bug I noticed, but I think that might be a caching issue. This new code is refactored, and has structurally changed. I’ll post the new code in the main topic, plus updated instructions.

  • wrote on last edited by phenomlab
    #71

    After a significant rewrite of the code plus the CSS, I’m pleased to release this stable version. There are some changes however.

    1. The external CSS file is no longer needed (you can delete it). As a result, the CSS you see in the below file needs to be copied into
    /admin/appearance/customise#custom-css
    

    https://github.com/phenomlab/harmony-card-view/blob/main/card.css

    1. The JS code has been refactored, and the code contained in the link below needs to be copied into
    /admin/appearance/customise#custom-js
    

    You need to overwrite existing code if you have it

    https://github.com/phenomlab/harmony-card-view/blob/main/functions.js

    IMPORTANT

    If you use Cloudflare, you MUST disable the HTML minification if you use it

    39da7dc0-8632-415e-820b-7aa1d2d5a57c-image.png

    If everything went well, you should see this

    d979fca7-317d-4875-90f6-7ff8551d6359-image.png

    If it doesn’t look like the above, the main reason for this is that you are using Cloudflare and have not disabled HTML minification. If this setting is enabled, the JS code will insert additional classes into the DOM as it should, although CF has a bad habit of changing the execution order meaning the CSS is not correctly applied to the first set of returned topics - an example of that below

    74c43f42-7745-4142-8351-19504dbf90d9-image.png

    If you experience this issue, please ensure that you’ve disabled HTML minification.

    Enjoy the new layout. Any issues, let me know.

  • phenomlab phenomlab moved this topic from Customisation on
  • wrote on last edited by
    #72

    Test ASAP this version on my dev environment with CF my friend.
    Thank you so much

  • wrote on last edited by DownPW
    #73

    Still doesn’t work for me 😞

    I’m in DNS only mode in CF,

    ba6cbcbd-6439-44b4-9340-3877b96bb657-image.png

    I deactivated CF and it’s the same :

    e619cf13-0d4b-4a77-93bc-c326f7b45652-image.png

    I deleted all my custom CSS and JS on nodebb ACP, leaving only those for the card view and I have the same problem.

    I admit that I don’t understand anything anymore.

  • Still doesn’t work for me 😞

    I’m in DNS only mode in CF,

    ba6cbcbd-6439-44b4-9340-3877b96bb657-image.png

    I deactivated CF and it’s the same :

    e619cf13-0d4b-4a77-93bc-c326f7b45652-image.png

    I deleted all my custom CSS and JS on nodebb ACP, leaving only those for the card view and I have the same problem.

    I admit that I don’t understand anything anymore.

    wrote on last edited by
    #74

    @DownPW I think I see why.

    Can you locate this css block

    .category-card .lastpost a img {
        margin-top: 10px;
        margin-left: -185px;
    }
    

    and change it to

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded {
        margin-top: 10px;
        margin-left: -178px;
    }
    

    I did not account for the usage of standard avatars (the ones were it uses the first letter of the username) - I use a custom “guest” or “no upload” image defined here

    55b58cdb-cda4-4ff7-9fa3-bbc08aa8c900-image.png

    Whereas your site doesn’t have this and therefore replaces the CSS class which we have not previously targeted

    ae0bb9e5-65ca-471f-a393-4c08e335dae6-image.png

    I’m confident that this will resolve the issue (famous last words)…

  • wrote on last edited by
    #75

    I’m with my childs, test asap 🙂

  • I’m with my childs, test asap 🙂

    wrote on last edited by
    #76

    @DownPW I see you set a default avatar 🙂 ?

    83f97f4c-2471-40b5-a58d-ff2d4860ec3e-image.png

    On checking your site, this has resolved the issue, but you should still have that CSS I defined above. As soon as you validate, I will add this to the code.

  • @DownPW I think I see why.

    Can you locate this css block

    .category-card .lastpost a img {
        margin-top: 10px;
        margin-left: -185px;
    }
    

    and change it to

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded {
        margin-top: 10px;
        margin-left: -178px;
    }
    

    I did not account for the usage of standard avatars (the ones were it uses the first letter of the username) - I use a custom “guest” or “no upload” image defined here

    55b58cdb-cda4-4ff7-9fa3-bbc08aa8c900-image.png

    Whereas your site doesn’t have this and therefore replaces the CSS class which we have not previously targeted

    ae0bb9e5-65ca-471f-a393-4c08e335dae6-image.png

    I’m confident that this will resolve the issue (famous last words)…

    wrote on last edited by DownPW
    #77

    @phenomlab said in Switch between list and card view function:

    Can you locate this css block

    .category-card .lastpost a img { margin-top: 10px; margin-left: -185px;}
    and change it to

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded { margin-top: 10px; margin-left: -178px;}
    I did not account for the usage of standard avatars (the ones were it uses the first letter of the username) - I use a custom “guest” or “no upload” image defined here

    Whereas your site doesn’t have this and therefore replaces the CSS class which we have not previously targeted

    I’m confident that this will resolve the issue (famous last words)…

    Seems to work 🙂

    So actually all the avatars where the problem occurs are account avatars which have no profile image (very good remark)

    If i set default avatar, the bug is resolved.

  • @phenomlab said in Switch between list and card view function:

    Can you locate this css block

    .category-card .lastpost a img { margin-top: 10px; margin-left: -185px;}
    and change it to

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded { margin-top: 10px; margin-left: -178px;}
    I did not account for the usage of standard avatars (the ones were it uses the first letter of the username) - I use a custom “guest” or “no upload” image defined here

    Whereas your site doesn’t have this and therefore replaces the CSS class which we have not previously targeted

    I’m confident that this will resolve the issue (famous last words)…

    Seems to work 🙂

    So actually all the avatars where the problem occurs are account avatars which have no profile image (very good remark)

    If i set default avatar, the bug is resolved.

    wrote on last edited by phenomlab
    #78

    @DownPW Yes, but it’s not a “bug” - it’s something I didn’t consider during the design, but the updated CSS will address that. Glad it works!!

    Updated CSS committed.

    https://github.com/phenomlab/harmony-card-view/commit/f0d95fff9fc545a7155ae50055336a173ffe4064

  • wrote on last edited by
    #79

    Yes, I completely understand what you mean.

    Finally the first code should work but it’s a blessing in disguise. I think the no external stylesheet approach is much better.

  • Yes, I completely understand what you mean.

    Finally the first code should work but it’s a blessing in disguise. I think the no external stylesheet approach is much better.

    wrote on last edited by phenomlab
    #80

    @DownPW said in Switch between list and card view function:

    I think the no external stylesheet approach is much better.

    Yes it’s better to have it all in one place, but the custom css is not minified so not optimised out of the gate. Easy to address but if you frequently change css then you’d have to reverse the minify each time to make what you have readable.

  • wrote on last edited by
    #81

    oh yeahh, actually I hadn’t thought about that 🙂

  • wrote on last edited by DownPW
    #82

    I notice this my friend whe we use this css:

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded {    
        margin-top: 10px;    
        margin-left: -178px;
    }
    
    

    with no default avatar on ACP (OK with default avatar on ACP)

    image.png

  • I notice this my friend whe we use this css:

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded {    
        margin-top: 10px;    
        margin-left: -178px;
    }
    
    

    with no default avatar on ACP (OK with default avatar on ACP)

    image.png

    wrote on last edited by
    #83

    @DownPW that’s odd. I’ll need to check that. When I looked at your dev server earlier with the default avatar left blank, I used the custom css which worked fine.

  • I notice this my friend whe we use this css:

    .category-card .lastpost a img, span.avatar.avatar-tooltip.not-responsive.avatar-rounded {    
        margin-top: 10px;    
        margin-left: -178px;
    }
    
    

    with no default avatar on ACP (OK with default avatar on ACP)

    image.png

    wrote on last edited by phenomlab
    #84

    My bad. That should be

    .category-card .lastpost a img, .category-card span.avatar.avatar-tooltip.not-responsive.avatar-rounded {    
        margin-top: 10px;    
        margin-left: -178px;
    }
    
  • wrote on last edited by DownPW
    #85

    Hi,

    seems to broke Users display

    image.png

  • Hi,

    seems to broke Users display

    image.png

    wrote on last edited by
    #86

    @DownPW OK. That’s just css. I’ll issue a fix for that.

  • wrote on last edited by
    #87

    you hit the right point

    Thanks dude.

  • you hit the right point

    Thanks dude.

    wrote on last edited by
    #88

    @DownPW Hmm, yes, that CSS is very greedy and is likely to have been taken from existing code (sorry).

    Find this block

    .category-card ul.topics-list li, .category-card li[component="chat/message"], .category-card [component="chat/recent/room"], div#users-container a
    

    Replace it with

    .category-card ul.topics-list li
    

    That will resolve it. I’ve also updated this in GIT

    https://github.com/phenomlab/harmony-card-view/commit/35224d77563c7c8fabe84a9747e6246a5df7ebd3

  • wrote on last edited by
    #89

    Work like a charm now 😉


Related Topics
  • Extended functions for Q&A NodeBB plugin

    Let's Build It q&a panels cards
    3
    4
    5 Votes
    3 Posts
    3k Views
    DownPW
    Very good like always
  • Material View Support for Stock NodeBB

    Unsolved Let's Build It material view javascript css
    51
    4
    15 Votes
    51 Posts
    27k Views
    DownPW
    Oh yes, that’s what’s super cool, I learn something every day. Afterwards I start from so low in JS
  • Fixing YouTube videos css

    Solved WordPress css
    8
    2 Votes
    8 Posts
    3k Views
    Sala
    @phenomlab It looks good, but not anymore. I’ve already lost so much time. Now it’s time to move on
  • 4 Votes
    8 Posts
    5k Views
    phenomlab
    @DownPW done
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    258
    49 Votes
    258 Posts
    168k Views
    cagatay
    mark hi, Refused to apply style from ‘https://efelsefe.com/assets/customfonts/FontAwesome-6-Pro/pro/css/v4-font-face.css’ because its MIME type (‘text/plain’) is not a supported stylesheet MIME type, and strict MIME checking is enabled. I keep getting this error.
  • [NodeBB] Import custom Font

    Solved Customisation custom fonts nodebb css
    12
    3 Votes
    12 Posts
    5k Views
    phenomlab
    @cagatay you’ll need to define this in the body tag (or another element if you want greater or more granular targets) - for example body { font-family: "Poppins"; font-size: 16px; } Essentially, you use the font-size CSS directive.
  • Avatar on Topic Header

    Solved Customisation css avatar header
    9
    1
    0 Votes
    9 Posts
    3k Views
    JAC
    @jac said in Avatar on Topic Header: @downpw said in Avatar on Topic Header: Great Plugin I make it a bit cleaner via this CSS code: /*------------------------------------------------------------------*/ /*---------------- nodebb-plugin-browsing-users -----------------*/ /*------------------------------------------------------------------*/ /*Space between the avatar and the RSS icon */ .topic [component="topic/browsing-users"] { margin-bottom: -5px; padding-left: 10px; } /*Space between avatars*/ .pull-left { float: left!important; padding-right: 5px; } Do you have a screenshot of how this looks with the CSS change? Just added this change, thanks @DownPW
  • Minor cosmetic layout chages

    Announcements layout
    4
    2
    0 Votes
    4 Posts
    2k Views
    JAC
    @phenomlab said in Minor cosmetic layout chages: @jac I like a challenge