Skip to content

Switch between list and card view function

Moved Let's Build It
107 4 56.6k 1
  • wrote on last edited by phenomlab
    #11

    Base code release below. WARNING - this code is stable, but still in beta meaning that there may be bugs. I think I’ve resolved most of them, so report any you find in this thread please.

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

    Instructions

    • Copy all of the code in functions.js and append this to Admin->Appearance->Custom Content->Custom Javascript and ensure you change the var href = "/path/to/card.css"; variable located within the functions.js file so that it points to the actual location where you stored the file - for example: var href = "/assets/card.css";
    • Ensure Custom JS is enabled, and save
    • Copy the card.css file to your hosting ideally in the public path inside your NodeBB file structure.
    • Reload the site and test

    You should see the toggle button appear in the card list view

    783b1088-3338-4928-8983-2497c73096f6-image.png

    IMPORTANT: Your CSS layout is likely to be vastly different to that of Sudonix (there are some exceptions where sites that I have prior approved have the same layout - you know who you are), and this means you should first deploy this into a test environment and modify the layout so that it fits your site.

    I will probably provide a “raw” version of the css that is based on stock Harmony with no mods in due course depending on the popularity of this new function.

  • wrote on last edited by
    #12

    I will probably have small modifications to make to adapt to my CSS and my Material View function but I will test this on my test environment very very quickly.

    Thanks Mark. In any case, I think this idea is great.

  • I will probably have small modifications to make to adapt to my CSS and my Material View function but I will test this on my test environment very very quickly.

    Thanks Mark. In any case, I think this idea is great.

    wrote on last edited by
    #13

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

    test this on my test environment very very quickly

    Let me know how you get on 🙂

  • wrote on last edited by
    #14

    Found a small bug already which is CSS related

    image.png

    I’ll fix this tomorrow and provide an update 🙂

  • wrote on last edited by DownPW
    #15

    So I tested and here are my remarks:

    • Pay attention to the name of the JSS file in the Javascript code. I put underscores and the CSS was not taken into account.

    • The topic selection check box is difficult to check: most of the time I enter the topic rather than checking the box :

    check.gif

    • I still have the problem displaying tags :

    aaaaa682-c849-46fe-9156-9841af9a6c3b-image.png

    • For my part, in French, the boxes are a little tight here, I’ll see what I can do :

    981fc293-ef24-4f5d-9585-e3d357647889-image.png

    • If you have a pinned topic with the pinned label, the line is visible behind the label

    35bc08d5-990a-4628-9466-b732ae49ecd4-image.png

    –> For this, maybe add a background color to this loke this ? :

    [component="topic/pinned"].border-gray-300 {
        background: var(--bs-body-navbar) !important;
    }
    
    • Why not take the same width as the toolbar here ? :

    dc851c4c-ab54-47bd-ae50-0cc3f5383b3b-image.png

    Many thanks again Mark

  • So I tested and here are my remarks:

    • Pay attention to the name of the JSS file in the Javascript code. I put underscores and the CSS was not taken into account.

    • The topic selection check box is difficult to check: most of the time I enter the topic rather than checking the box :

    check.gif

    • I still have the problem displaying tags :

    aaaaa682-c849-46fe-9156-9841af9a6c3b-image.png

    • For my part, in French, the boxes are a little tight here, I’ll see what I can do :

    981fc293-ef24-4f5d-9585-e3d357647889-image.png

    • If you have a pinned topic with the pinned label, the line is visible behind the label

    35bc08d5-990a-4628-9466-b732ae49ecd4-image.png

    –> For this, maybe add a background color to this loke this ? :

    [component="topic/pinned"].border-gray-300 {
        background: var(--bs-body-navbar) !important;
    }
    
    • Why not take the same width as the toolbar here ? :

    dc851c4c-ab54-47bd-ae50-0cc3f5383b3b-image.png

    Many thanks again Mark

    wrote on last edited by
    #16

    @DownPW All good comments, thanks. Don’t forget that your CSS is also very customized over the stock that comes with NodeBB, but I’m quite surprised by this

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

    The topic selection check box is difficult to check: most of the time I enter the topic rather than checking the box

    Perhaps I missed some final modifications here, but I cannot reproduce that - will need to check

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

    I still have the problem displaying tags :

    Again, surprised by that as it was addressed in the final code. Will need to check

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

    If you have a pinned topic with the pinned label, the line is visible behind the label

    Yes, I’m aware of that one - the CSS you propose would work, but not for those without custom CSS

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

    Why not take the same width as the toolbar here ?

    Because you cannot fit 32% into 100% even with simple math 🙂 It needs either padding or margin - both of which will be negative, but I’ve done it here

    fb23ef77-84e2-4fc0-af92-5011eaf10e06-image.png

    I’m going to release a vanilla harmony CSS file (working on it now) shortly. This will be the starting point that will fit most users, but obvously, the more customized CSS you have, the more work it needs.

  • wrote on last edited by DownPW
    #17

    no problem,

    I noticed that as soon as I make changes to the CSS file, I have to empty the cache and close the browser so that the changes are taken into account even in incognito mode.

  • no problem,

    I noticed that as soon as I make changes to the CSS file, I have to empty the cache and close the browser so that the changes are taken into account even in incognito mode.

    wrote on last edited by
    #18

    @DownPW Yes, I have a fix for that also going forward. Will supply that once I’m done with testing.

  • @DownPW Yes, I have a fix for that also going forward. Will supply that once I’m done with testing.

    wrote on last edited by DownPW
    #19

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

    @DownPW Yes, I have a fix for that also going forward. Will supply that once I’m done with testing.

    No worries my friend :), I’m just making the comments to make this code concrete because I find it excellent.

    Now that I have seen that I have to close the browser each time I make a change, this seems OK to me except for the last 2 points mentioned which you are currently working on.

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

    Because you cannot fit 32% into 100% even with simple math It needs either padding or margin - both of which will be negative, but I’ve done it here

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

    @DownPW Yes, I have a fix for that also going forward. Will supply that once I’m done with testing.

    No worries my friend :), I’m just making the comments to make this code concrete because I find it excellent.

    Now that I have seen that I have to close the browser each time I make a change, this seems OK to me except for the last 2 points mentioned which you are currently working on.

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

    Because you cannot fit 32% into 100% even with simple math It needs either padding or margin - both of which will be negative, but I’ve done it here

    wrote on last edited by
    #20

    @DownPW thanks. I have an almost stable vanilla harmony version I’ll be posting this weekend.

  • wrote on last edited by phenomlab
    #21

    Here’s a stable version based on stock Harmony

    image.png

    Note that there are a lot of changes here, so if you have previously deployed this code, you need to update it. Also note that the CSS is based on stock harmony - if you have any customised theme, you’ll need to add this yourself (obviously, I cannot possibly factor in custom styles).

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

  • @DownPW All good comments, thanks. Don’t forget that your CSS is also very customized over the stock that comes with NodeBB, but I’m quite surprised by this

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

    The topic selection check box is difficult to check: most of the time I enter the topic rather than checking the box

    Perhaps I missed some final modifications here, but I cannot reproduce that - will need to check

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

    I still have the problem displaying tags :

    Again, surprised by that as it was addressed in the final code. Will need to check

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

    If you have a pinned topic with the pinned label, the line is visible behind the label

    Yes, I’m aware of that one - the CSS you propose would work, but not for those without custom CSS

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

    Why not take the same width as the toolbar here ?

    Because you cannot fit 32% into 100% even with simple math 🙂 It needs either padding or margin - both of which will be negative, but I’ve done it here

    fb23ef77-84e2-4fc0-af92-5011eaf10e06-image.png

    I’m going to release a vanilla harmony CSS file (working on it now) shortly. This will be the starting point that will fit most users, but obvously, the more customized CSS you have, the more work it needs.

    wrote on last edited by
    #22

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

    If you have a pinned topic with the pinned label, the line is visible behind the label

    I decided to leave this as is. It’s transparent in the stock harmony CSS, so if you want to change it to suit your needs, then feel free. The categories and tags have been moved to the right anyway in this modified version of code, therefore, the “bug” (it’s not really, but…) is no longer present.

  • wrote on last edited by DownPW
    #23

    Great

    I put the code on prod.
    I see this bug on a few topics but impossible to know why

    image.png

    ab51fee1-a0d9-4b5a-a761-4c7dae743a31-image.png

    abe1b94e-670c-42bf-ac9d-03664253a3e5-image.png

  • Great

    I put the code on prod.
    I see this bug on a few topics but impossible to know why

    image.png

    ab51fee1-a0d9-4b5a-a761-4c7dae743a31-image.png

    abe1b94e-670c-42bf-ac9d-03664253a3e5-image.png

    wrote on last edited by
    #24

    @DownPW does it resolve itself if you click the home button again? I’ve seen this in dev but can’t reproduce it in prod.

  • @DownPW does it resolve itself if you click the home button again? I’ve seen this in dev but can’t reproduce it in prod.

    wrote on last edited by DownPW
    #25

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

    @DownPW does it resolve itself if you click the home button again? I’ve seen this in dev but can’t reproduce it in prod.

    nope, the bug persist.

    it seem problem with .category-card .lastpost a img but what’s strange is that it doesn’t do it for all topics

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

    @DownPW does it resolve itself if you click the home button again? I’ve seen this in dev but can’t reproduce it in prod.

    nope, the bug persist.

    it seem problem with .category-card .lastpost a img but what’s strange is that it doesn’t do it for all topics

    wrote on last edited by
    #26

    @DownPW yes, it seems to be an issue with the ajax callback but not sure where currently it originates from.

    Does it happen on page load also?

  • @DownPW yes, it seems to be an issue with the ajax callback but not sure where currently it originates from.

    Does it happen on page load also?

    wrote on last edited by DownPW
    #27

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

    @DownPW yes, it seems to be an issue with the ajax callback but not sure where currently it originates from.

    Does it happen on page load also?

    can you be more specific?

    If I refresh the page while keeping Card View activated it’s the same.
    Same if I deactivate/reactivate Card View

    Here, we see, we have not .category-card .lastpost a img add to class

    image.png

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

    @DownPW yes, it seems to be an issue with the ajax callback but not sure where currently it originates from.

    Does it happen on page load also?

    can you be more specific?

    If I refresh the page while keeping Card View activated it’s the same.
    Same if I deactivate/reactivate Card View

    Here, we see, we have not .category-card .lastpost a img add to class

    image.png

    wrote on last edited by
    #28

    @DownPW the class you’re referring to in the screenshot isn’t supposed to be applied to that specific element, as there is no img to be applied against.

    What I meant about the ajax callback is that not all of the styles seem to be applied. It’s almost as though they are being added to the DOM when they aren’t loaded yet.

  • wrote on last edited by DownPW
    #29

    Arf Ok sorry.
    For information, I have the same things on my test server (actually, it’s a clone of prod) if you want to see in details or play

  • Arf Ok sorry.
    For information, I have the same things on my test server (actually, it’s a clone of prod) if you want to see in details or play

    wrote on last edited by phenomlab
    #30

    @DownPW thanks. The really odd thing here is that I can’t reproduce this issue at all in prod - where I developed it originally in fact.

    I think I’m missing something somewhere, but unsure as to where it is currently.


Related Topics
  • CSS code customization for the link preview plugin

    Solved Customisation css nodebb
    6
    2
    3 Votes
    6 Posts
    3k Views
    phenomlab
    @kadir-ay-0 marking as resolved based on https://community.nodebb.org/topic/17109/manual-build-a-night-mode-for-harmony/5 Please do not raise requests in two places - here and the NodeBB forums. All this does is create unnecessary load for both parties.
  • navigation menu panel on mobile

    Solved Customisation nodebb css
    8
    1
    7 Votes
    8 Posts
    3k Views
    phenomlab
    @crazycells hmm. That’s odd. I haven’t made any changes from recollection but I could be wrong. I’ll need to check. EDIT - very strange. I honestly don’t recall adding the below CSS block to alter the bottom bar, but you’re right… .bottombar-nav { padding: 0px !important; } I’ve removed this so it reflects stock Harmony.
  • 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
  • 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
  • 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.
  • Fontawesome 5

    Unsolved Customisation fonts css nodebb
    14
    1 Votes
    14 Posts
    6k Views
    phenomlab
    @pwsincd hi. Just following up on this thread (I know it’s old) but was curious to understand if it’s still an issue or not ?
  • [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.
  • 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