Skip to content

Switch between list and card view function

Moved Let's Build It
107 4 42.4k 1
  • hmm no @phenomlab
    it’s ok on your site but not on mine 😞

    look at the screens above


    if I not display this class too, I have no avatar on all the site because it’s the original class .

    In fact I can’t do anything. In all cases, avatars with the wrong location are displayed in the same way

    or you would have to make sure that this element never appears with card view on this page but I’m not even sure that would work

  • if you have solution for me, I take it

  • if you have solution for me, I take it

    @DownPW I’ll need to put something together based on your dev site.

    EDIT: If you have a look at sudonix.dev (closed dev site, so you’ll need to login) you’ll see that this is no longer exposed to CF, and works as intended.

  • 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

  • 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

    @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?

    @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 ?

    @DownPW this setting

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

  • 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

    @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?

    @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

    @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

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

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

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

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

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

  • phenomlabundefined phenomlab moved this topic from Customisation on
  • Test ASAP this version on my dev environment with CF my friend.
    Thank you so much

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

    @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)…

  • I’m with my childs, test asap 🙂


Related Topics
  • Ch..ch..ch..ch..changes!

    Announcements themes layout
    16
    2
    15 Votes
    16 Posts
    4k Views
    @phenomlab of course, to be recognised is fantastic. @phenomlab said in Ch..ch..ch..ch..changes!: Sadly, no. Web crawlers and scrapers are often JS based and read text only, so styles don’t have any bearing. I’ve read mixed things about this, but no that does make sense, it was something I read a many years back when using Wordpress.
  • 5 Votes
    3 Posts
    3k Views
    Very good like always
  • 15 Votes
    51 Posts
    20k Views
    Oh yes, that’s what’s super cool, I learn something every day. Afterwards I start from so low in JS
  • 14 Votes
    16 Posts
    6k Views
    Hmm - seems I never committed this code. I’ll do that now… EDIT - here it is https://github.com/phenomlab/category-list/tree/main
  • hover link effect

    Solved Customisation css link hover
    18
    1
    6 Votes
    18 Posts
    5k Views
    @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
    3k Views
    @DownPW yes, because of the modifications that Sudonix uses, you’ll need to tailor to fit your needs.
  • Bug Navbar CSS

    Solved Customisation navbar css
    3
    1 Votes
    3 Posts
    1k Views
    Not better way. Thanks.
  • CSS Help on my Flarum

    Solved Customisation
    5
    2
    2 Votes
    5 Posts
    2k Views
    @mike-jones Yes, you’ll typically see this type of behaviour if there is another style that has higher priority in the sense that yours will be overridden. Using !important will override the higher preference, but should be used sparingly rather than everywhere.