Skip to content

Bottom footer navbar button extend

Solved Customisation
32 2 15.4k 1
  • @DownPW said in Bottom footer navbar button extend:

    Example: put the button on the left or right

    Looks better on the left I think - more natural

    6ab4dc12-17f0-4c64-b3c3-af2ba7e6cf6d-image.png

    wrote on last edited by
    #12
  • wrote on last edited by
    #13

    @DownPW I’ll make some small adjustments to the final code to accommodate this. Just need to write the session cookie data, then I’ll release the code.

  • wrote on last edited by
    #14

    @DownPW Can you let me know if you used the same code for the footer as what is here ? I think this is the case, but want to check. There needs to be some modifications to this code to support the footer toggle.

  • wrote on last edited by
    #15

    Updated position of collapse/expand so it’s on the left for a more natural feel

  • wrote on last edited by
    #16

    Very great 😉

  • @DownPW Can you let me know if you used the same code for the footer as what is here ? I think this is the case, but want to check. There needs to be some modifications to this code to support the footer toggle.

    wrote on last edited by
    #17

    @phenomlab said in Bottom footer navbar button extend:

    Can you let me know if you used the same code for the footer as what is here ?

    yes Mark, with minor adjustement.

  • wrote on last edited by phenomlab
    #18

    Instructions

    1. Go to /admin/extend/widgets and locate the “Global Footer” widget
    2. At the very top of the existing code you have in that widget, add

    <div id="console-nav-tab"><i class="fa-solid fa-angles-left"></i></div>

    1. Add this CSS
    div#console-nav-tab {
    position: fixed;
        bottom: 0px;
        z-index: 900;
        height: 30px;
        left: 0px;
    }
    div#console-nav-tab i {
        font-size: 16px;
        margin-left: 10px;
        line-height: 2.0 !important;
    }
    .toBottom {
       bottom: 0px !important;
    }
    

    Note, that you probably need to modify the existing CSS ID floatleft to accommodate the additional DIV and icon. For example

    #floatleft {
        float: left;
        padding-left: 30px; /*additional left padding to support additional DIV and icon */
        font-size: 80%;
        line-height: 2.0;
        font-weight: 600;
        display: flex;
    }
    
    1. Go to /admin/appearance/customise#custom-js and add this block of code (bottom is fine, or wherever you want to place it)
    $(document).ready(function() {
        $(window).on('action:ajaxify.end', function(data) {
            var getState = localStorage.getItem("footer");
            if (getState === "hidden") {
                $("#console-nav-footer").hide();
                $("#console-nav-tab i").addClass("fa-solid fa-angles-right");
                $('.pagination-block').addClass("toBottom");
            } else {
                $("#console-nav-tab i").addClass("fa-solid fa-angles-left");
                $('.pagination-block').removeClass("toBottom");
            }
            $("#console-nav-tab").click(function() {
                $("#console-nav-footer").toggle(250, function() {
                    if ($("#console-nav-footer").is(":hidden")) {
                        localStorage.setItem("footer", "hidden");
                        $("#console-nav-tab i").addClass("fa-solid fa-angles-right");
                        $('.pagination-block').addClass("toBottom");
                    } else {
                        localStorage.setItem("footer", "shown");
                        $("#console-nav-tab i").addClass("fa-solid fa-angles-left");
                        $('.pagination-block').removeClass("toBottom");
                    }
                });
                $("i", this).toggleClass("fa-solid fa-angles-left fa-solid fa-angles-right");
            });
        });
    });
    
    1. Test, and make necessary modifications to suit your own environment
  • wrote on last edited by
    #19

    why deleted ?

  • why deleted ?

    wrote on last edited by
    #20

    @DownPW Because it’s not finished. I forgot the session state…

  • wrote on last edited by DownPW
    #21

    ha oki lol 😉

    another request but if it’s not possible, it does not matter 🙂

    Can we imagine when the footerbar is reduced, we descend the pagination block automatically ?

    ee0d46da-1589-4b66-8dd5-68fe63f80b82-image.png

    it would be cleaner. what do you think ?

  • ha oki lol 😉

    another request but if it’s not possible, it does not matter 🙂

    Can we imagine when the footerbar is reduced, we descend the pagination block automatically ?

    ee0d46da-1589-4b66-8dd5-68fe63f80b82-image.png

    it would be cleaner. what do you think ?

    wrote on last edited by phenomlab
    #22

    @DownPW that should be possible, yes. Leave it with me

  • wrote on last edited by phenomlab
    #23

    @DownPW instructions restored

    Fixed:

    • Footer does not collapse correctly on reload
    • Record session state in session, and not cookies (mostly because cookies can be disabled)
    • Pagination bar drops to fill missing footer on collapse
    • Correct icon direction displayed when expanding and collapsing

    Let me know how you get on.

    Note that there may be some cosmetic issues on mobile devices, which I will work through if necessary. In some cases it’s actually better to hide the footer altogether on mobile because of the screen estate.

    Here’s what it looks like

  • phenomlab phenomlab has marked this topic as solved on
  • wrote on last edited by
    #24

    @phenomlab

    Very good job Mark 😉

    –> I may have done something wrong but everything is ok except the pagination block which does not go down automatically.

    An idea ?

  • @phenomlab

    Very good job Mark 😉

    –> I may have done something wrong but everything is ok except the pagination block which does not go down automatically.

    An idea ?

    wrote on last edited by
    #25

    @DownPW not sure without checking, but I’ll have a look later

  • wrote on last edited by DownPW
    #26

    @phenomlab

    I have check and see my error 🙂

    Oh my god, it’s beautiful mark 😉

  • @phenomlab

    I have check and see my error 🙂

    Oh my god, it’s beautiful mark 😉

    wrote on last edited by
    #27

    @DownPW great ! Post a video so we can see how it looks outside of Sudonix 👍

  • @DownPW great ! Post a video so we can see how it looks outside of Sudonix 👍

    wrote on last edited by
    #28

    @phenomlab What tools you use ?

  • @phenomlab What tools you use ?

    wrote on last edited by
    #29

    @DownPW one of the many freely available screen recorders for chrome (extensions). Nothing fancy.

  • wrote on last edited by
    #30

    @phenomlab said in Bottom footer navbar button extend:

    @DownPW great ! Post a video so we can see how it looks outside of Sudonix 👍

    Animation.gif

  • @phenomlab said in Bottom footer navbar button extend:

    @DownPW great ! Post a video so we can see how it looks outside of Sudonix 👍

    Animation.gif

    wrote on last edited by
    #31

    @DownPW Looks great !


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
  • 5 Votes
    2 Posts
    2k Views
    DownPW
    Nice. Very good tips Mark
  • 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.
  • New message CSS problem

    Unsolved Customisation css
    11
    1
    2 Votes
    11 Posts
    4k Views
    phenomlab
    @DownPW hi. Sorry for digging up an old post, but I’m going through items still unresolved and was looking to get an understanding of where you are currently with this?
  • [NODEBB] Scroll Button

    Solved Customisation css javascript html scroll button
    7
    1
    0 Votes
    7 Posts
    3k Views
    phenomlab
    @downpw ooops. Forgot that. Thanks for adding.
  • 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
  • Bug Navbar CSS

    Solved Customisation navbar css
    3
    1 Votes
    3 Posts
    2k Views
    DownPW
    Not better way. Thanks.
  • Discourse Design Change

    Customisation design change css html
    25
    7 Votes
    25 Posts
    10k Views
    RiekMedia
    @phenomlab okay