MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Three module issues from a new user

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    27 Posts 6 Posters 7.8k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sdetweil @vildhjelm
      last edited by

      @vildhjelm said in Three module issues from a new user:

      Do you know, if I can set icons that I’ve stored locally?

      i do not know myself, but I would think you could

      <img icon="68" src="/img/emoji/U263a.ico" alt=":-)" />
      

      the base for MM web server is MagicMirror, so

      src="/modules/{modulename}/{sub_folder}/{filename}"
      

      replace {} with the appropriate name, if any

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @vildhjelm
        last edited by

        @vildhjelm where u able to get this working?

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Offline
          skyfall
          last edited by

          Hi all, was working on the same thing.

          Some icons I wanted to use are in brands, and can’t figure out how to invoke it properly. Tried adding imports in fontawesome.css for it, but no go. Anyone know how/why brands wont work? They are considered free use.

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @skyfall
            last edited by sdetweil

            @skyfall I do not KNOW for sure… maybe they have to be downloaded separately?

            see the last few posts here on getting separate fonts usable after download

            https://forum.magicmirror.builders/topic/8758/change-fonts/6?_=1650986841007

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              skyfall @sdetweil
              last edited by

              @sdetweil I don’t think so, I’ve been looking into it and it is included in all.min.css; that’s where the other ones get imported from. Maybe we’re not invoking it properly since the FA 4->6 upgrade that happened in January?

              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @skyfall
                last edited by sdetweil

                @skyfall

                maybe all you have to do is npm install the right stuff in the vendor folder

                "dependencies": {
                	"@fortawesome/fontawesome-free": "^6.1.1",
                

                and this is in the vendor/css/font-awesome.css

                @import url(“…/node_modules/@fortawesome/fontawesome-free/css/all.min.css”);
                @import url("…/node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.

                these files are in the folder

                sam@sams:~/MagicMirror/vendor/node_modules/@fortawesome/fontawesome-free/css$ ls

                all.css fontawesome.min.css svg-with-js.css v4-shims.min.css
                all.min.css regular.css svg-with-js.min.css v5-font-face.css
                brands.css regular.min.css v4-font-face.css v5-font-face.min.css
                brands.min.css solid.css v4-font-face.min.css
                fontawesome.css solid.min.css v4-shims.css

                i looked up one of the items listed in brands, .fa-apple-pay
                in all.css… and its there

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  skyfall @sdetweil
                  last edited by

                  @sdetweil I think we’re on to something here. I’m embarassed but I did notice my dependencies were out of date. I was running FA 5.13.3. Reinstalled and reverified and now running 6.1.1. However, when invoking ‘canadian-maple-leaf’ for example, it’s now showing a broken icon symbol versus nothing!

                  Screen Shot 2022-04-28 at 17.11.45.png

                  Screen Shot 2022-04-28 at 17.11.51.png

                  I did also notice it isn’t loading the .woff2 file for the brands fonts, even though it is in the correct directory.

                  S 1 Reply Last reply Reply Quote 0
                  • S Offline
                    skyfall @skyfall
                    last edited by skyfall

                    I’ve figured it out!

                    Like the original post, I’m working with Calendar module. I wanted to understand why we could write, say symbol: “cloud” instead of having to declare the full “fas fa-fw fa-cloud” to invoke the symbol.

                    I went into /modules/default/calendar/calendar.js and noticed the following section of code:

                    const symbols = this.symbolsForEvent(event);
                                                    symbols.forEach((s, index) => {
                                                            const symbol = document.createElement("span");
                                                            symbol.className = "fas fa-fw fa-" + s;
                                                            if (index > 0) {
                                                                    symbol.style.paddingLeft = "5px";
                                                            }
                                                            symbolWrapper.appendChild(symbol);
                                                    });
                                                    eventWrapper.appendChild(symbolWrapper);
                                            } else if (this.config.timeFormat === "dateheaders") {
                                                    const blankCell = document.createElement("td");
                                                    blankCell.innerHTML = "&nbsp;&nbsp;&nbsp;";
                                                    eventWrapper.appendChild(blankCell);
                                            }
                    

                    calendar.js is hardcoding the fas (solid) font family in, not allowing us to invoke a family like fab (brands). setting the line:

                    symbol.className = "fas fa-fw fa-" + s;
                    

                    to just:

                    symbol.className = s;
                    

                    forces us to redeclare every symbol in config.js from “cloud” to “fas fa-fw fa-cloud”, but we can now access all available FA icons.

                    And so, I get my leaf :)

                    6f18f2a7-0b58-4f38-bcf8-994695134f0c-Screen Shot 2022-04-28 at 17.37.44.png Screen Shot 2022-04-28 at 17.37.44

                    S 2 Replies Last reply Reply Quote 1
                    • S Offline
                      sdetweil @skyfall
                      last edited by

                      @skyfall awesome

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @skyfall
                        last edited by sdetweil

                        @skyfall I think we could fix that with a little smarter code, and not break existing modules
                        change

                        symbol.className = "fas fa-fw fa-" + s;
                        

                        to

                        // if requested symbol name starts with 'fa-' , get the substring after 'fa-' 
                        // if  not, use as is
                        symbol.className = "fas fa-fw fa-" +(s.startsWith('fa-')?s.slice(3):s);
                        

                        of course if the other icon names start with fa-, then u didn’t need any of this…

                        can u provide an example of the branded icon name?

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 1 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy