Skip to content

Switch between list and card view function

Moved Let's Build It
107 4 56.6k 1
  • Yes I believe you that it works without CF 🙂

    I would just like to see if a solution is possible with CF even if it means deleting this d**n avatar on post-content

    wrote on last edited by phenomlab
    #60

    @DownPW I’m sure we can do something here.

    Actually, can you try and remove the minification etc on CSS and JS in CF for your domain and see if this makes any difference?

  • @DownPW I’m sure we can do something here.

    Actually, can you try and remove the minification etc on CSS and JS in CF for your domain and see if this makes any difference?

    wrote on last edited by DownPW
    #61

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

    Actually, can you try and remove the minification etc on CSS and JS in CF for your domain and see if t

    Sorry my friend, can you be more specific ?

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

    Actually, can you try and remove the minification etc on CSS and JS in CF for your domain and see if t

    Sorry my friend, can you be more specific ?

    wrote on last edited by
    #62

    @DownPW this setting

    27c7b6e7-2f63-4fbe-94f4-e46279093008-image.png

  • wrote on last edited by
    #63

    hello.

    how OK

    minification etc on CSS and JS in CF is already disabled

  • hello.

    how OK

    minification etc on CSS and JS in CF is already disabled

    wrote on last edited by
    #64

    @DownPW thanks. Just wanted to eliminate a thought I had around the JS being executed in the wrong order.

  • hmmm, on my website, in fact the elements on the class have not been applied are still displayed 😞

    c5b2d73d-de9f-4fa7-ab4f-fcc6ab610549-image.png

    Is there a way to prevent them from showing up either?

    wrote on last edited by phenomlab
    #65

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

    Is there a way to prevent them from showing up either?

    You should be able to use the below CSS to hide that specific avatar

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

    And

    .category-card span.avatar.avatar-tooltip.not-responsive.avatar-rounded {
        display: none;
    }
    
  • Too bad. I will therefore not be able to use this function or perhaps by just deleting the problematic avatar if that is possible

    wrote on last edited by
    #66

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

    Too bad. I will therefore not be able to use this function or perhaps by just deleting the problematic avatar if that is possible

    FIXED: Looks like I was using an incorrect hook 😞 have rectified that now, so can you please pull the latest functions.js and test?

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

  • wrote on last edited by
    #67

    I switched my domain back to CF, and all the previous bugs came back 😞 However, I’ve re-written the code to use custom CSS instead of external CSS, and this so far looks good in test. I want to evaluate this a bit more before I release the updated code, but so far, this looks like it’s going to work.

  • wrote on last edited by phenomlab
    #68

    @DownPW I think I might finally have it - code that works in CF with no bugs… 🐛

    Can you please test this code (which is running in sudonix.dev) and let me know what you think? It’s not ready for publish just yet but will be once I’ve tidied up a few things.

  • wrote on last edited by
    #69

    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.

  • 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.


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
  • CSS border gradients

    Blog gradient border css
    10
    3
    2 Votes
    10 Posts
    3k Views
    cagatay
    ah f5 need
  • Create a dynamic category list

    Moved Let's Build It dynamic categories api
    16
    3
    14 Votes
    16 Posts
    7k Views
    phenomlab
    Hmm - seems I never committed this code. I’ll do that now… EDIT - here it is https://github.com/phenomlab/category-list/tree/main
  • Footer bar add center text

    Solved Customisation css
    41
    1
    8 Votes
    41 Posts
    19k Views
    DownPW
    @phenomlab said in Footer bar add center text: div#console-nav-tab Ah ok test with bottom: 0px !important; idem
  • hover link effect

    Solved Customisation css link hover
    18
    1
    6 Votes
    18 Posts
    7k Views
    phenomlab
    @DownPW Looking at the underlying code, class start is being added on hover by jQuery in this function document.querySelectorAll(".button-gradient, .button-transparent").forEach((button) => { const style = getComputedStyle(button); const lines = document.createElement("div"); lines.classList.add("lines"); const groupTop = document.createElement("div"); const groupBottom = document.createElement("div"); const svg = createSVG( button.offsetWidth, button.offsetHeight, parseInt(style.borderRadius, 10) ); groupTop.appendChild(svg); groupTop.appendChild(svg.cloneNode(true)); groupTop.appendChild(svg.cloneNode(true)); groupTop.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); lines.appendChild(groupTop); lines.appendChild(groupBottom); button.appendChild(lines); button.addEventListener("pointerenter", () => { button.classList.add("start"); }); svg.addEventListener("animationend", () => { button.classList.remove("start"); }); }); }) The CSS for start is below .button-gradient.start .lines svg, .button-transparent.start .lines svg { animation: stroke 0.3s linear; } And this is the corresponding keyframe @keyframes stroke { 30%, 55% { opacity: 1; } 100% { stroke-dashoffset: 5; opacity: 0; } } It’s using both CSS and SVG, so might not be a simple affair to replicate without the SVG files.
  • answers appearance css code request

    Solved Customisation css answers
    11
    1
    1 Votes
    11 Posts
    4k Views
    phenomlab
    @DownPW yes, because of the modifications that Sudonix uses, you’ll need to tailor to fit your needs.
  • Bottom footer navbar button extend

    Solved Customisation css javascript customisation footer navbar
    32
    9 Votes
    32 Posts
    15k Views
    phenomlab
    @DownPW said in Bottom footer navbar button extend: Oh my god, it’s beautiful mark I liked this design so much, I’ve implemented it here. I intend to do a lot more with the footer in due course, so hiding it makes a lot of sense. Thanks @DownPW for the idea and initial concept
  • Multiple link on one ico non Navbar

    Solved Customisation links css navbar
    7
    1
    2 Votes
    7 Posts
    3k Views
    DownPW
    yeah you’re right @phenomlab. Problem of NodeBB Version