How to integrate Next Js app as cross domain component with Zoid?

I’m trying to use zoid with a Next Js app to load in another domain site.The other domain site is a plain JS HTML/CSS website.

Can’t seem to find a working example with code for Next Js to accomplish my requirement.

My requirements:
Next js is the child app, the parent app is a plain HTML page using script tag to load zoid.

I need to open the next js app in a iframe modal on a button click from the cross domain website. I need to pass some props from parent to the child and some props back to parent from the child.

Position of THREE.Group is always (0, 0, 0) & Miscalculation in finding THREE.Group position

I’m working on a Three.js application where I’m using a THREE.Group to manage selected dominoes in my scene. However, I’m encountering an issue where the position of the THREE.Group is consistently reported as (0, 0, 0), despite adding and removing objects from it. Additionally, I’ve implemented a method to calculate the average position of the selected dominoes within the group, but it seems to be miscalculating the position.

Steps to reproduce:

Create domino objects in the scene.
Select one or more dominoes using the selection tool.
Check the reported position of the THREE.Group.
Compare the reported position with the actual position of the selected dominoes.

Expected behavior:

The position of the THREE.Group should accurately reflect the average position of the selected dominoes within it.

Actual behavior:

The position of the THREE.Group is consistently reported as (0, 0, 0), and the calculated average position of selected dominoes seems to be incorrect.

GithubPage : https://ka-hirithik.github.io/DominoForgeStackOverFlow/
GithubCode : https://github.com/KA-Hirithik/DominoForgeStackOverFlow

How to fetch user posts from Linkedin

I am making an app where a user can sign in via LinkedIn (oAuth) and after that he can see his recent posts (activity feed). I am struggling to find that API end point with which I can retrieve the user’s posts. Is there any such end point available

Having issue with javascript tabs not working properly

I’m a new user and a new coder just trying to make a portfolio site. I wanted my site to have tabs that would swap between content, but I cannot get the javascript to work at all.

I just ran with a template from w3schools and replaced it with the names of the classes/ids in my code. I was expecting for a normal usual tab function. What happens here is that all the content from the two tabs show up, and when you click any of the tabs it disappears until you refresh the page.

I apologize that the code isn’t minimal, I don’t actually know how much I can trim without losing context. If it matters, I ran this code on firefox

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Frogcroaks</title>
    <link rel="stylesheet" href="master.css">
  </head>

  <body>
    <div class="page">
      <nav class="sidebar">
        <img src="images/logo.png" alt="">
        <button class="sidebar-button">
          <a href="home.html">Home</a>
        </button>

        <button class="sidebar-button">
          <a href="commissions.html">Commission</a>
        </button>

        <button class="sidebar-button">
          <a href="about.html">About & Contact</a>
        </button>
      </nav>

      <div class="content">
        <nav class="page-tab">
          <button class="tab" onclick="openGallery(event, 'character-design')">
            Character Design
          </button>

          <button class="tab" onclick="openGallery(event, 'illustration')">
            Illustration
          </button>

        </nav>

        <div id="character-design" class="gallery-container gallery">
            <img src="images/poufdesign1.png" alt="" class="gallery">
            <img src="images/poufdesign2.png" alt="" class="gallery">
            <img src="images/poufdesign3.png" alt="" class="gallery">
            <img src="images/fairy-ring.png" alt="" class="gallery">
            <img src="images/luminae.png" alt="" class="gallery">
            <img src="images/griffoy.png" alt="" class="gallery">
            <img src="images/pokemon.png" alt="" class="gallery">
        </div>

        <div id="illustration"
        class="gallery-container gallery" style="display="none"">
          <img src="images/eloa-growth2.png" alt="" class="gallery">
          <img src="images/eloa-growth1.png" alt="" class="gallery">
          <img src="images/seviper-zangoose.png" alt="" class="gallery">
        </div>

      </div>

    </div>

    <script>
      function openGallery(evt, galleryName) {
        // Declare all variables
        var i, gallery, tab;

        gallery = document.getElementsByClassName("gallery");
        for (i = 0; i < gallery.length; i++) {
          gallery[i].style.display = "none";
      }

        tab = document.getElementsByClassName("tab");
        for (i = 0; i < tab.length; i++) {
          tab[i].className = tab[i].className.replace(" active", "");
      }

        document.getElementById(galleryName).style.display = "block";
        evt.currentTarget.className += " active";
      }
    </script>

  </body>
</html>

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@font-face {
  font-family: "Roboto"
  src: url("Roboto-Bold-webfont.woff") format("woff");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "Roboto"
  src: url("Roboto-Regular-webfont.woff") format("woff");
  font-style: normal;
  font-weight: 400;
}

body {
  width: 100%;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  line-height: 1.5em;
}

.page {
  display: flex;
  justify-content: space-around;

  margin-top: 50px;
}

.sidebar {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;

  position: fixed;
  top: 100px;
  left: 50px;

  width: 400px;

  /* border: 1px solid red; */
}

.sidebar-button {
  display: flex;
  align-items: center;
  justify-content: center;

    width: 400px;
}

.sidebar img {
  height: 200px;
}

.content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 50px 0 0 400px;

  /* border: 1px solid red; */
}

.page-tab {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.tab {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 300px;
}


.sidebar-button,.tab {
  margin: 10px;
  height: 45px;
  background-color: #D99023;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  color: #FFFFFF;

  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 20px;
}

.sidebar-button:hover,.tab:hover {
  background-color: #9C5400;
}

.sidebar-button a {
  text-decoration: none;
    color: #FFFFFF;
}

.page-tab button:active {
  background-color: #9C5400;
  color: #FFFFFF;
}


 .gallery-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 50px;
}

.gallery-container img {
  height: 350px;
}

background color not displaying whie using hex code

The following code generates blue text boxes when OptionOne or OptionTwo is selected. For example, when the Show Options button is clicked, a blue text box appears on the left side and then I can enter row and column values and hit the calculate button to figure out the cell number where it needs to be moved using the Move Text Content! button.

The problem I’m facing is related to the background color. I have a brown color defined in hex code as follows and others are mentioned as it is. I plan on replacing all colors with hex code if this works. While reading this, it looks like what I’m trying to achieve is not possible. Is there any other workaround for the same ?

<select id="lineupColors">
       <option value="-">select</option>
      <option value="blue">Blue</option>
      <option value="orange">Orange</option>
      <option value="red">Red</option>
      <option value="green">Green</option>
      <option value="purple">Purple</option>
      <option value="#7c4700">Brown</option>
      <option value="black">Black</option>
      <option value="magenta">Magenta</option>
    </select>

However, it doesn’t work when I use the hex code in the following line $('.color-'+selectedColor).css('background-color',selectedColor);

Here is my code snippet:

/*

Requires jquery + UI

https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js

https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js

*/

$('[name="optionSelection"]').change(function () {
      //clean up the divs inside div with id phrase
    $("#phrase").empty();
  });
let selectedColor;
  function showOptions() {
  
    console.log($("#optionSelection").val());
    selectedColor = $('#lineupColors').val();
    var html;
    if ($("#optionSelection").val() == 1) {
      for (i = 0; i < 3; i++) {
         
            html = "<div data-id="+i+"><span class='words' style='color:black;background-color:white'  data-id="+i+">OptionOne#"+i+"</span></div>";
            $("#phrase").append(html);
      }
      
    }
    else {
      for (j = 0; j < 5; j++) {
         
        html = "<div data-id="+j+"><span class='words'  style='color:black;background-color:white' data-id="+j+">OptionTwo#"+j+"</span></div>";
       $("#phrase").append(html);
    }
   // $("#phrase").append(html);
  }
}


  $(".words").draggable({
    revert: function (event, ui) {
      var bRevertingPhrase = this.closest("#drop-em");

      if (!bRevertingPhrase.length) {
        var phraseID = $(this).data("id");
        var phraseHomeID = $(this).parent().data("id");

        //If the child and parent ids don't match, we move the child to the correct parent
        if (phraseID !== phraseHomeID) {
          var correctCell = $("#phrase").find(
            "div[data-id='" + phraseID + "']"
          );
          correctCell.prepend(this);
        }
      }
      return !event;
    },
  });
  $("#drop-em > div").droppable({
    drop: function (ev, ui) {
      $(ui.draggable)
        .detach()
        .css({ top: 0, left: 0 })
        .appendTo($(this).find(".content:empty"));
      //$("#move-text").addClass("disabled");
    },
  });
  $("#phrase > div").droppable({
    drop: function (ev, ui) {
      $(ui.draggable).detach().css({ top: 0, left: 0 }).prependTo(this);
    },
  });

  const myButton = document.querySelector("#move-text");
  myButton.addEventListener(
    "click",
    () => {
      fill();
    },
   /* {
      once: true,
    }*/
  );

  var reOrder = [];
  function fill() {
    const cells = document.querySelectorAll("#phrase > div > span");
    var newLoc = "";
    //myButton.classList.add("disabled");

    cells.forEach((cell, index) => {
      newLoc = document.querySelector(
        ".item:nth-child(" + reOrder[index + startPos - 1] + ") .content "
      );
      newLoc.append(cell);
      newLoc.classList.add("moved");
       newLoc.classList.add("color-"+selectedColor);
       console.log("Test with codes");
       console.log(selectedColor);
      $('.color-'+selectedColor).css('background-color',selectedColor);
      
    });
  }
  function reArrange() {
    var limit1 = 85;
    var limit2 = 91;

    for (let loop = 0; loop < 8; loop++) {
      for (let i = 0; i < 6; i++) {
        reOrder.push(limit1 + i);
      }
      limit1 = limit1 - 12;
    }
    for (let loop = 0; loop < 8; loop++) {
      for (let j = 0; j < 6; j++) {
        reOrder.push(limit2 + j);
      }
      limit2 = limit2 - 12;
    }
  }
  reArrange();

  /* get cell number */

  const myRow = document.querySelector("#inp1");
  const myCol = document.querySelector("#inp2");
  var startPos = 0;
  const myCalculateButton = document.querySelector("#calculate");
  const myAnswer = document.querySelector("#cellnum");
  myCalculateButton.addEventListener("click", () => {
    var rowNumber = myRow.value.toUpperCase();
    var colNumber = myCol.value;
    var result = 0;
    switch (rowNumber) {
      case "A":
        rowNumber = 42;
        break;
      case "B":
        rowNumber = 36;
        break;
      case "C":
        rowNumber = 30;
        break;
      case "D":
        rowNumber = 24;
        break;
      case "E":
        rowNumber = 18;
        break;
      case "F":
        rowNumber = 12;
        break;
      case "G":
        rowNumber = 6;
        break;
      case "H":
        rowNumber = 0;
        break;
    }

    if (colNumber < 7) {
      result = rowNumber + parseInt(colNumber);
    } else {
      result = rowNumber + 42 + parseInt(colNumber);
    }
    myAnswer.innerHTML = result;
    startPos = result;
  });
  
 
html {
    box-sizing: border-box;
  }
  *,
  *:before,
  *:after {
    box-sizing: inherit;
  }
  body {
    counter-reset: columnCount 1 alphaCount cellCount;
  }
  h1 {
    text-align: center;
  }
  .wrap {
    display: flex;
    gap: 2rem;
    position: relative;
    padding-left: 220px;
  }

  .grid {
    margin: auto;
    display: grid;
    flex: 1 0 0;
    grid-template-columns: repeat(12, 1fr);
    padding-top: 1.5rem;
  }

  .item {
    position: relative;
    background-color: #f9f9f9;
    border: 1px solid grey;
    aspect-ratio: 1/1;
    counter-increment: columnCount;
    min-width: 0;
    transition: background 1s ease;
  }
  .item:nth-of-type(12n + 1) {
    counter-increment: alphaCount;
  }
  .item:nth-of-type(12n + 1)::before {
    content: counter(alphaCount, upper-alpha);
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    left: -1.75rem;
    color: red;
    pointer-events: none;
  }
  .item:nth-of-type(n + 13)::after {
    display: none;
  }
  .item::after {
    content: counter(columnCount);
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: -1.75rem;
    color: red;
    pointer-events: none;
  }
  .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: auto;
    color: #000;
    padding: 1rem;
    word-wrap: break-word;
    counter-increment: cellCount;
  }

  .words {
    cursor: move;
    transition: padding 0.5s ease;
   }
     
  .content:has(.ui-draggable-dragging) {
    overflow: visible;
  }
  .ui-droppable-active .content {
    overflow: visible;
  }
  .words.ui-draggable-dragging {
    background: blue;
    padding: 5px 10px;
    border-radius: 6px;
    z-index: 999;
    color: #fff;
    display: block;
    width: 50px;
    height: 50px;
    overflow: hidden;
  }
  #phrase {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    color: #fff;
    width: 150px;
    overflow: auto;
    z-index: 2;
    display: flex;
    flex-direction: column;
    margin: 1rem 0 0.5rem;
  }
  #phrase > div {
    margin: 0 0 10px;
    width: 150px;
    padding: 5px 10px;
    background: #007bff;
    border: 2px solid #007bff;
    border-radius: 6px;
    color: #fff;
  }
  #phrase > div:empty {
    background: #fff;
    border-style: dashed;
    padding: 0px 25px;
    min-height: 30px;
  }

  .moved {
    animation: fade 3s ease;
  }
  @keyframes fade {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
      background: red;
    }
  }

  .item .content::before {
    content: counter(cellCount);
    position: absolute;
    top: 2px;
    left: 2px;
    font-size: smaller;
    color: #666;
    border-radius: 50%;
    border: 1px solid red;
    background: white;
    width: 1.2rem;
    height: 1, 2rem;
    display: grid;
    place-items: center;
  }

  #move-text.disabled {
    cursor: none;
    pointer-events: none;
    opacity: 0.5;
  }
  #phrase:has(.ui-droppable-active) {
    overflow: visible;
  }

  input,
  button,
  label,
  p.target {
    display: block;
    margin: 0 0 0.4rem;
    color: #000;
  }
  p.target {
    margin: 0 0 1rem;
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
  <!-- You'd need to set up something different for touch devices though -->

  <h1>Move testings</h1>
  <div class="wrap">
    <div>
      <label for="optionSelection">Select options</label>
      <select name="optionSelection" id="optionSelection">
        <option value="1">OptionOne</option>
        <option value="2">OptionTwo</option>
      </select>
    </div>
    <div>
    <label for="lineupColors">Colors:<br /></label>
    <select id="lineupColors">
       <option value="-">select</option>
      <option value="blue">Blue</option>
      <option value="orange">Orange</option>
      <option value="red">Red</option>
      <option value="green">Green</option>
      <option value="purple">Purple</option>
      <option value="#7c4700">Brown</option>
      <option value="black">Black</option>
      <option value="magenta">Magenta</option>
    </select>
  </div>
    <div>
      <button id="showOptions" onclick="showOptions()" type="button">
        Show Options
      </button>
    </div>
    <div>
      <label for="inp1">Enter a row A - H</label>
      <input id="inp1" placeholder="Enter Row" />
      <label for="inp2">Enter a column 1 - 12</label>
      <input id="inp2" placeholder="Enter Column" />
      <button id="calculate">Calculate</button>
      <p class="target">The cell number is <b id="cellnum">?</b></p>
      <button id="move-text" type="button">Move Text Content!</button>
    </div>
    <div id="phrase">
      <!-- remove whitespace from  inside div html and then we can use :empty in css to change background -->
      <!-- <div data-id="1"><span class="words" data-id="1">H1 text</span></div>
      <div data-id="2"><span class="words" data-id="2">H2 text</span></div>
      <div data-id="3"><span class="words" data-id="3">H3 text</span></div>
      <div data-id="4"><span class="words" data-id="4">H4 text</span></div>
      <div data-id="5"><span class="words" data-id="5">H5 text</span></div>
      <div data-id="6"><span class="words" data-id="6">H6 text</span></div>
      <div data-id="7"><span class="words" data-id="7">G1 text</span></div>
      <div data-id="8"><span class="words" data-id="8">G2 text</span></div>
      <div data-id="9"><span class="words" data-id="9">G3 text</span></div>
      <div data-id="10"><span class="words" data-id="10">G4 text</span></div> -->
    </div>

    <div id="drop-em" class="grid">
      <div class="item">
        <div class="content"></div>
        <!-- must have no spaces inside .content -->
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
      <div class="item">
        <div class="content"></div>
      </div>
    </div>
  </div>

Error: Route.post() requires a callback function but got a [object Undefined]…what

get this error when i try to run the server

`Error: Route.post() requires a callback function but got a [object Undefined]`

`i THINK this chunk of code is the cause of the error but i am not sure`
router.post('/create', verifyToken, async (req, res) => {
  try {
    const task = new Task(req.body);
    await task.save();
    console.log('Task created successfully:', task);
    res.status(201).send({ message: 'Task created successfully', task });
  } catch (error) {
    console.error('Error creating task:', error);
    res.status(400).send({ error: error.message });
  }
});

id give you more but SO wont allow it, just ask and ill provide, the entire file

`` ` ``
const express = require('express');
const Task = require('../../models/Task');
const { verifyToken } = require('../../middleware/verifyToken');

const router = express.Router();

// Create a task
router.post('/create', verifyToken, async (req, res) => {
  try {
    const task = new Task(req.body);
    await task.save();
    console.log('Task created successfully:', task);
    res.status(201).send({ message: 'Task created successfully', task });
  } catch (error) {
    console.error('Error creating task:', error);
    res.status(400).send({ error: error.message });
  }
});

// Update task status to verified
router.patch('/verify/:taskId', verifyToken, async (req, res) => {
  try {
    const task = await Task.findByIdAndUpdate(req.params.taskId, { status: 'verified' }, { new: true });
    if (!task) {
      console.log('Task not found with id:', req.params.taskId);
      return res.status(404).send({ message: 'Task not found' });
    }
    console.log('Task verified successfully:', task);
    res.send({ message: 'Task verified successfully', task });
  } catch (error) {
    console.error('Error verifying task:', error);
    res.status(400).send({ error: error.message });
  }
});

// Dynamically update tasks (AJAX)
router.get('/list', verifyToken, async (req, res) => {
  try {
    const tasks = await Task.find({ assignedChild: req.user._id }).exec();
    console.log('Tasks list retrieved successfully');
    res.send(tasks);
  } catch (error) {
    console.error('Error retrieving tasks list:', error);
    res.status(500).send({ error: error.message });
  }
});

module.exports = router;

ive been wracking my brain over this for a while now, i need help, if you dont know what the issue is but might know a way to find theissue please let me know. if you need more files, let me know, i am sure it is a simple solutionive tried everything that i cn think of, i was expecting the server to start, btw it was working yesterday then i guess i broke it and i cant get it back

VSCode Gradle not able to see code files/classpath

Receiving this error:

Could not run phased build action using connection to Gradle distribution ‘https://services.gradle.org/distributions/gradle-8.5-bin.zip’.
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project ‘McsInnovatorsBaseCode-main-Imported’.
A problem occurred configuring root project ‘McsInnovatorsBaseCode-main-Imported’.
Could not resolve all files for configuration ‘:classpath’.
Could not resolve edu.wpi.first:GradleRIO:2024.3.1.
Required by:
project : > edu.wpi.first.GradleRIO:edu.wpi.first.GradleRIO.gradle.plugin:2024.3.1
No matching variant of edu.wpi.first:GradleRIO:2024.3.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute ‘org.gradle.plugin.api-version’ with value ‘8.5’ but:

  • Variant ‘apiElements’ capability edu.wpi.first:GradleRIO:2024.3.1 declares a library, packaged as a jar, and its dependencies declared externally:
    • Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
    • Other compatible attribute:
      • Doesn’t say anything about org.gradle.plugin.api-version (required ‘8.5’)
  • Variant ‘javadocElements’ capability edu.wpi.first:GradleRIO:2024.3.1 declares a component for use during runtime, and its dependencies declared externally:
    • Incompatible because this component declares documentation and the consumer needed a library
    • Other compatible attributes:
      • Doesn’t say anything about its target Java version (required compatibility with Java 8)
      • Doesn’t say anything about its elements (required them packaged as a jar)
      • Doesn’t say anything about org.gradle.plugin.api-version (required ‘8.5’)
  • Variant ‘runtimeElements’ capability edu.wpi.first:GradleRIO:2024.3.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
    • Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
    • Other compatible attribute:
      • Doesn’t say anything about org.gradle.plugin.api-version (required ‘8.5’)
  • Variant ‘sourcesElements’ capability edu.wpi.first:GradleRIO:2024.3.1 declares a component for use during runtime, and its dependencies declared externally:
    • Incompatible because this component declares documentation and the consumer needed a library
    • Other compatible attributes:
      • Doesn’t say anything about its target Java version (required compatibility with Java 8)
      • Doesn’t say anything about its elements (required them packaged as a jar)
      • Doesn’t say anything about org.gradle.plugin.api-version (required ‘8.5’)

I don’t really understand what is wrong with the code, and more importantly how to fix it.

Is this user error or does something need updating?

Any input would be appreciated.

There were two errors like the ones above. Not knowing what they were, I restarted the program to see if a message would appear asking me o import it into a new version or something. Instead, one of the errors was gone (I didn’t change the program)but the other was still there.

getLastRow() – The coordinates of the range are outside the dimensions of the sheet

I have created a series of Google Sheets documents to manage a small organization’s inventory, sales, clients, orders, etc. I’ve employed a series of AppsScript’s scripts to automate certain tasks, mostly related to filling the logs or retrieving information. In my opinion, these are simple scripts, nothing fancy. Everything has been working smoothly since then.

Some days ago, one of the scripts started throwing out the error “The coordinates of the range are outside the dimensions of the sheet” when attempting to execute an instance of the function “getLastRow()”. If I code my way around the function, then other instances of the “getLastRow()” function start throwing out the error, even if they were working just before and nothing in the code was changed.

Now, without changing anything, the other documents, one by one, started presenting the same issue. Right now, any attempt of using the “getLastRow()” function results in “The coordinates of the range are outside the dimensions of the sheet”. Bear in mind that these are simple scripts, some of them just straight up start by calling the last row to get info, then the error is thrown. So, I’m fairly sure that the code is not the problem.

Is there any chance that my files got corrupted? Is there any way to know this? If so, what are the options?

I have coded my way around the “getLastRow()” function, or even feeded directly the row number, then a random instance of the function in the script throws out the error. This keeps happening until all no getLastRow is left.

how do I turn an animation into a pre-loader

basically I saw a lot of youtube videos on how to make pre-loaders, however, all of them instead of teaching how to actually make a pre loader, just show a cool animation. I have already made an animation that works I just can’t figure out how to make the actual pre-loader of the website. By pre-loader I mean, I want the animation to show while the website is loading in the background and after 4 seconds of the animation showing I want the website to appear.

.kosa {
  position: relative;
  width: 900px;
  height: 100px;
  overflow: hidden;
}

.kul {
  position: relative;
  /* display: none; */
}

.svg1 {
  position: absolute;
  top: 0;
  left: -140;
}

.kul svg {
  position: absolute;
  top: 0;
  left: 0;
}

.kosa::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg viewBox="0 0 1795 236" xmlns="http://www.w3.org/2000/svg" xmlns:v="https://svgstorm.com"><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".02" stroke-width=".3"><path d="m0 236h209c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39c0.06 12.63 0.06 26.57 0 39s0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.78 11.8-5.37 17.62s-5.6 10.31-11.54 16.45c-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.93 4.06-17.75 5.81h316c-19.13-5.24-37.25-12.86-45.39-33.75-8.15-20.9-9.08-62.22-7.61-91.25s-1.8-59.99 9.13-77.92 27.97-29.15 49.87-29.08c-0.42-3.28-5.45-0.46-5-4h-558v236m119-120c15.64 8.05 22.82 15.33 22.78 37.22s2.13 56.75-1.78 78.78c-17.7-0.02-38.32-0.02-56 0-2.3-14.21-0.48-33.97-1-50s1.51-34.11-3-47c-2.61 0.55-5.35-1.27-9-2 0.02 32.53-0.03 66.19 0 98-19.63 1.67-43.47 1.64-63 0v-222c20.39-5.47 56.89-0.34 77.22-0.22 20.34 0.12 35.02 3.46 45.86 17.14 10.85 13.67 9.95 29.34 10.92 50.08s-5.71 33.73-23 40m267-109c4.92 12.85 5.33 26.69 7.66 40.68s3.39 25.96 5.34 40.32c5.7-27.99 5.78-54.54 12-81 25.07 1.33 55.51-2.64 79 2-0.67 73.41 1.34 149.34-1 223-17.05-0.06-36.97 0.01-54 0-3-32.67 1-67.74-2-100-4.49 34.03-7.52 68.31-14 100-12.05-0.04-26.96-0.04-39 0-7.05-35.2-8.76-65.57-16-101-0.66 33.58 1.33 67.87-1 101-17.33-0.67-38.06 1.29-55-1v-222c10.81-2.5 25.19-0.26 38-1s27.52 1.38 40-1z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".99" stroke-width=".3"><path d="m557 236h31c19.26-4.31 38.94-11.66 47.8-33.25s7.48-58.31 7.2-88.75 1.76-62.52-9.13-80.92c-10.89-18.39-29.19-29.08-51.87-30.08 0.3-1.25 1.83-1.71 2-3h-26c-0.45 3.54 4.58 0.72 5 4-21.9-0.07-38.94 11.15-49.87 29.08s-7.66 48.89-9.13 77.92-0.54 70.35 7.61 91.25c8.14 20.89 26.26 28.51 45.39 33.75m11-45c-0.15-22.21-0.58-49.94 0-74s-2.58-51.15 2-71c13.26 0.18 9 14.97 10 28s-0.36 33.3 0 47 0.05 33.93 0 47 1.01 30.08-12 23z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".02" stroke-width=".3"><path d="m588 236h524c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39 0.06 26.57 0 39 0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.78 11.8-5.37 17.62s-5.6 10.31-11.54 16.45c-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.92 4.06-17.75 5.81h247c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39c0.06 12.63 0.06 26.57 0 39s0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.79 11.8-5.37 17.62-2.59 5.82-5.6 10.31-11.54 16.45-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.92 4.06-17.75 5.81h267c-19.61-6.41-38.84-12.46-46.19-35.25s-8.67-68.84-6.81-98.75-2.12-57.24 12.3-74.7c14.41-17.47 33.06-25.48 58.7-25.3s44.21 9.96 57.13 27.92 10.17 48.33 10.87 79.08 1.36 69.42-6.58 91.77c-7.93 22.35-28.07 30.54-47.42 35.23h73v-236h-1211c-0.17 1.29-1.7 1.75-2 3 22.68 1 40.98 11.69 51.87 30.08 10.89 18.4 8.85 50.48 9.13 80.92s1.66 67.16-7.2 88.75-28.54 28.94-47.8 33.25m319-231c2.19 16.35 0.63 35.55 1 54s-0.27 38.27 0 57-0.35 38.16 0 57-1.09 38.59 1 57c-13.03 3.16-31.53-1.1-46 2-2.18-13.41-0.67-29.47-1-45s0.17-32.13 0-48 0.13-33.02 0-49c-41.48 47.69-83.78 94.09-125 142-16.76-1.62-35.27-1.69-52 0-1.88-1.73-1.1-3.04-2-5 51.5-57.3 103.25-115.92 155-175-51.24 0.67-103.2-1.33-154 1-3.16-13.02 1.1-31.53-2-46 16.35-2.19 35.54-0.63 54-1s38.27 0.27 57 0 38.16 0.34 57 0 38.59 1.09 57-1m146 50c-10.49 4.76-26.95 0.62-40 2v36h35c1.63 15.14 1.63 31.85 0 47h-35c0.02 30.19-0.03 61.53 0 91-19.36 2.34-42.33 0.28-62 1-2.34-72.99-0.32-149.73-1-223 9.97-1.85 24.1-1.16 36-1s27.36-0.78 39 0 28.1-5.48 27 8 0 26.1 1 39m279-46c-0.03 14.71-0.03 32.31 0 47-10.83 2.3-22.75 0.36-34 1-0.66 58.13 1.32 117.89-1 175-19.38 0-41.61-0.05-61 0-0.01-57.5 0.01-116.81 0-175-10.59 0.64-21.86-1.29-32 1-3.01-6.01-3-18.79-2-27s-4.92-23.4 5.03-23.02c9.94 0.38 21.71-0.19 31.97 0.02 10.27 0.21 21.68-0.22 32 0s21.86-0.37 32 0 20.91-1.28 29 1m269 107c15.64 8.05 22.82 15.33 22.78 37.22s2.14 56.75-1.78 78.78c-17.7-0.02-38.32-0.02-56 0-2.3-14.21-0.48-33.97-1-50s1.51-34.11-3-47c-2.61 0.55-5.35-1.27-9-2 0.02 32.53-0.03 66.19 0 98-19.36 2.34-42.33 0.28-62 1-1.8-23.76-1.02-49.14-1-74s-0.41-52.19 0-77-1.95-51.61 2-74c18.44 0.36 45.35-0.53 63.25 0.2 17.89 0.72 31.87 2.05 43.05 7.51 11.19 5.47 19.52 15.4 22.41 26.59 2.89 11.18 3.91 33.64 2.08 46.93-1.84 13.29-7.41 24.54-21.79 27.77z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".99" stroke-width=".3"><path d="m1690 236h32c19.35-4.69 39.49-12.88 47.42-35.23 7.94-22.35 7.28-61.02 6.58-91.77s2.05-61.12-10.87-79.08-31.49-27.74-57.13-27.92-44.29 7.83-58.7 25.3c-14.42 17.46-10.44 44.79-12.3 74.7s-0.54 75.96 6.81 98.75 26.58 28.84 46.19 35.25m11-45c-0.15-22.21-0.58-49.94 0-74s-2.58-51.14 2-71c13.26 0.18 9 14.97 10 28s-0.36 33.3 0 47 0.05 33.93 0 47 1.01 30.08-12 23z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m907 5c-18.41 2.09-38.16 0.66-57 1s-38.27-0.27-57 0-38.54-0.37-57 0-37.65-1.19-54 1c3.1 14.47-1.16 32.98 2 46 50.8-2.33 102.76-0.33 154-1-51.75 59.08-103.5 117.7-155 175 0.9 1.96 0.12 3.27 2 5 16.73-1.69 35.24-1.62 52 0 41.22-47.91 83.52-94.31 125-142 0.13 15.98-0.17 33.13 0 49s-0.33 32.47 0 48-1.18 31.59 1 45c14.47-3.1 32.97 1.16 46-2-2.09-18.41-0.65-38.16-1-57s0.27-38.27 0-57 0.37-38.55 0-57 1.19-37.65-1-54z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".99" stroke-width=".3"><path d="m119 116c17.29-6.27 23.97-19.26 23-40s-0.07-36.41-10.92-50.08c-10.84-13.68-25.52-17.02-45.86-17.14-20.33-0.12-56.83-5.25-77.22 0.22v222c19.53 1.64 43.37 1.67 63 0-0.03-31.81 0.02-65.47 0-98 3.65 0.73 6.39 2.55 9 2 4.51 12.89 2.48 30.97 3 47s-1.3 35.79 1 50c17.68-0.02 38.3-0.02 56 0 3.91-22.03 1.74-56.89 1.78-78.78s-7.14-29.17-22.78-37.22m-48-22v-43c12.75-0.75 11.12 10.22 11 21s2.56 21.91-11 22z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m209 236h32c7.82-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45s5.02-8.93 5.37-17.62c0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.06-26.37 0-39c-0.05-12.63 0.2-26.42 0-39s0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".99" stroke-width=".3"><path d="m386 7c-12.48 2.38-27.19 0.26-40 1s-27.19-1.5-38 1v222c16.94 2.29 37.67 0.33 55 1 2.33-33.13 0.34-67.42 1-101 7.24 35.43 8.95 65.8 16 101 12.04-0.04 26.95-0.04 39 0 6.48-31.69 9.51-65.97 14-100 3 32.26-1 67.33 2 100 17.03 0.01 36.95-0.06 54 0 2.34-73.66 0.33-149.59 1-223-23.49-4.64-53.93-0.67-79-2-6.22 26.46-6.3 53.01-12 81-1.95-14.36-3.01-26.33-5.34-40.32s-2.74-27.83-7.66-40.68z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m1053 55c-1-12.9-2.1-25.52-1-39s-15.36-7.22-27-8-27.1 0.16-39 0-26.03-0.85-36 1c0.68 73.27-1.34 150.01 1 223 19.67-0.72 42.64 1.34 62-1-0.03-29.47 0.02-60.81 0-91h35c1.63-15.15 1.63-31.86 0-47h-35v-36c13.05-1.38 29.51 2.76 40-2z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m1112 236h32c7.83-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45s5.02-8.93 5.37-17.62c0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.05-26.37 0-39 0.2-26.42 0-39 0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m1332 9c-8.09-2.28-18.86-0.63-29-1s-21.68 0.22-32 0-21.73 0.21-32 0c-10.26-0.21-22.03 0.36-31.97-0.02-9.95-0.38-4.03 14.81-5.03 23.02s-1.01 20.99 2 27c10.14-2.29 21.41-0.36 32-1 0.01 58.19-0.01 117.5 0 175 19.39-0.05 41.62 0 61 0 2.32-57.11 0.34-116.87 1-175 11.25-0.64 23.17 1.3 34-1-0.03-14.69-0.03-32.29 0-47z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-width=".3"><path d="m1391 236h32c7.83-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45 2.58-5.82 5.02-8.93 5.37-17.62 0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.06-26.37 0-39c-0.05-12.63 0.2-26.42 0-39s0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".99" stroke-width=".3"><path d="m1601 116c14.38-3.23 19.95-14.48 21.79-27.77 1.83-13.29 0.81-35.75-2.08-46.93-2.89-11.19-11.22-21.12-22.41-26.59-11.18-5.46-25.16-6.79-43.05-7.51-17.9-0.73-44.81 0.16-63.25-0.2-3.95 22.39-1.59 49.19-2 74s0.02 52.14 0 77-0.8 50.24 1 74c19.67-0.72 42.64 1.34 62-1-0.03-31.81 0.02-65.47 0-98 3.65 0.73 6.39 2.55 9 2 4.51 12.89 2.48 30.97 3 47s-1.3 35.79 1 50c17.68-0.02 38.3-0.02 56 0 3.92-22.03 1.74-56.89 1.78-78.78s-7.14-29.17-22.78-37.22m-48-22v-43c12.75-0.75 11.12 10.22 11 21s2.56 21.91-11 22z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".05" stroke-width=".3"><path d="m568 191c13.01 7.08 11.95-9.93 12-23s0.36-33.3 0-47 1-33.97 0-47 3.26-27.82-10-28c-4.58 19.85-1.42 46.94-2 71s-0.15 51.79 0 74z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".05" stroke-width=".3"><path d="m1701 191c13.01 7.08 11.95-9.93 12-23s0.36-33.3 0-47 1-33.97 0-47 3.26-27.82-10-28c-4.58 19.86-1.42 46.94-2 71s-0.15 51.79 0 74z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".04" stroke-width=".3"><path d="m71 94c13.56-0.09 10.88-11.22 11-22s1.75-21.75-11-21v43z"/></g><g fill="None" fill-opacity="0" stroke="%23000" stroke-opacity=".04" stroke-width=".3"><path d="m1553 94c13.56-0.09 10.88-11.22 11-22s1.75-21.75-11-21v43z"/></g><g fill-opacity=".02" stroke="None"><path d="m0 236h209c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39c0.06 12.63 0.06 26.57 0 39s0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.78 11.8-5.37 17.62s-5.6 10.31-11.54 16.45c-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.93 4.06-17.75 5.81h316c-19.13-5.24-37.25-12.86-45.39-33.75-8.15-20.9-9.08-62.22-7.61-91.25s-1.8-59.99 9.13-77.92 27.97-29.15 49.87-29.08c-0.42-3.28-5.45-0.46-5-4h-558v236m119-120c15.64 8.05 22.82 15.33 22.78 37.22s2.13 56.75-1.78 78.78c-17.7-0.02-38.32-0.02-56 0-2.3-14.21-0.48-33.97-1-50s1.51-34.11-3-47c-2.61 0.55-5.35-1.27-9-2 0.02 32.53-0.03 66.19 0 98-19.63 1.67-43.47 1.64-63 0v-222c20.39-5.47 56.89-0.34 77.22-0.22 20.34 0.12 35.02 3.46 45.86 17.14 10.85 13.67 9.95 29.34 10.92 50.08s-5.71 33.73-23 40m267-109c4.92 12.85 5.33 26.69 7.66 40.68s3.39 25.96 5.34 40.32c5.7-27.99 5.78-54.54 12-81 25.07 1.33 55.51-2.64 79 2-0.67 73.41 1.34 149.34-1 223-17.05-0.06-36.97 0.01-54 0-3-32.67 1-67.74-2-100-4.49 34.03-7.52 68.31-14 100-12.05-0.04-26.96-0.04-39 0-7.05-35.2-8.76-65.57-16-101-0.66 33.58 1.33 67.87-1 101-17.33-0.67-38.06 1.29-55-1v-222c10.81-2.5 25.19-0.26 38-1s27.52 1.38 40-1z"/></g><g fill-opacity=".99" stroke="None"><path d="m557 236h31c19.26-4.31 38.94-11.66 47.8-33.25s7.48-58.31 7.2-88.75 1.76-62.52-9.13-80.92c-10.89-18.39-29.19-29.08-51.87-30.08 0.3-1.25 1.83-1.71 2-3h-26c-0.45 3.54 4.58 0.72 5 4-21.9-0.07-38.94 11.15-49.87 29.08s-7.66 48.89-9.13 77.92-0.54 70.35 7.61 91.25c8.14 20.89 26.26 28.51 45.39 33.75m11-45c-0.15-22.21-0.58-49.94 0-74s-2.58-51.15 2-71c13.26 0.18 9 14.97 10 28s-0.36 33.3 0 47 0.05 33.93 0 47 1.01 30.08-12 23z"/></g><g fill-opacity=".02" stroke="None"><path d="m588 236h524c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39 0.06 26.57 0 39 0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.78 11.8-5.37 17.62s-5.6 10.31-11.54 16.45c-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.92 4.06-17.75 5.81h247c-9.63-2.59-17.37-5.67-23.92-9.13-6.54-3.46-16.01-9.47-19.47-17.62-3.47-8.16-8.01-11-8.54-23.33-0.54-12.33-0.05-30.12-0.07-44.92s-0.32-33.66 0-49-0.84-34.89 0-50-6.67-35.87 11-34 32.13-0.57 49-1c4.1 9.42 1.51 21.75 2 34s-0.2 26.42 0 39-0.05 26.37 0 39c0.06 12.63 0.06 26.57 0 39s0.93 23.11 1 34c2.76 2.89 5.3 0.8 8 1 1.81-9.99 1.45-18.79 2-31s-0.34-27.35 0-40-0.35-26.25 0-39-0.59-27.42 0-40-2.18-26.19 2-36c9.57 3.13 24.44-0.76 34 1s26.29-5.74 27 6c0.7 11.75-0.35 24.28 0 36s-0.21 23.38 0 35-0.22 24.61 0 36-0.39 24.19 0 35-0.98 21.99-1.34 30.68c-0.35 8.69-2.79 11.8-5.37 17.62-2.59 5.82-5.6 10.31-11.54 16.45-5.94 6.15-9.99 6.61-16 9.44-6 2.84-9.92 4.06-17.75 5.81h267c-19.61-6.41-38.84-12.46-46.19-35.25s-8.67-68.84-6.81-98.75-2.12-57.24 12.3-74.7c14.41-17.47 33.06-25.48 58.7-25.3s44.21 9.96 57.13 27.92 10.17 48.33 10.87 79.08 1.36 69.42-6.58 91.77c-7.93 22.35-28.07 30.54-47.42 35.23h73v-236h-1211c-0.17 1.29-1.7 1.75-2 3 22.68 1 40.98 11.69 51.87 30.08 10.89 18.4 8.85 50.48 9.13 80.92s1.66 67.16-7.2 88.75-28.54 28.94-47.8 33.25m319-231c2.19 16.35 0.63 35.55 1 54s-0.27 38.27 0 57-0.35 38.16 0 57-1.09 38.59 1 57c-13.03 3.16-31.53-1.1-46 2-2.18-13.41-0.67-29.47-1-45s0.17-32.13 0-48 0.13-33.02 0-49c-41.48 47.69-83.78 94.09-125 142-16.76-1.62-35.27-1.69-52 0-1.88-1.73-1.1-3.04-2-5 51.5-57.3 103.25-115.92 155-175-51.24 0.67-103.2-1.33-154 1-3.16-13.02 1.1-31.53-2-46 16.35-2.19 35.54-0.63 54-1s38.27 0.27 57 0 38.16 0.34 57 0 38.59 1.09 57-1m146 50c-10.49 4.76-26.95 0.62-40 2v36h35c1.63 15.14 1.63 31.85 0 47h-35c0.02 30.19-0.03 61.53 0 91-19.36 2.34-42.33 0.28-62 1-2.34-72.99-0.32-149.73-1-223 9.97-1.85 24.1-1.16 36-1s27.36-0.78 39 0 28.1-5.48 27 8 0 26.1 1 39m279-46c-0.03 14.71-0.03 32.31 0 47-10.83 2.3-22.75 0.36-34 1-0.66 58.13 1.32 117.89-1 175-19.38 0-41.61-0.05-61 0-0.01-57.5 0.01-116.81 0-175-10.59 0.64-21.86-1.29-32 1-3.01-6.01-3-18.79-2-27s-4.92-23.4 5.03-23.02c9.94 0.38 21.71-0.19 31.97 0.02 10.27 0.21 21.68-0.22 32 0s21.86-0.37 32 0 20.91-1.28 29 1m269 107c15.64 8.05 22.82 15.33 22.78 37.22s2.14 56.75-1.78 78.78c-17.7-0.02-38.32-0.02-56 0-2.3-14.21-0.48-33.97-1-50s1.51-34.11-3-47c-2.61 0.55-5.35-1.27-9-2 0.02 32.53-0.03 66.19 0 98-19.36 2.34-42.33 0.28-62 1-1.8-23.76-1.02-49.14-1-74s-0.41-52.19 0-77-1.95-51.61 2-74c18.44 0.36 45.35-0.53 63.25 0.2 17.89 0.72 31.87 2.05 43.05 7.51 11.19 5.47 19.52 15.4 22.41 26.59 2.89 11.18 3.91 33.64 2.08 46.93-1.84 13.29-7.41 24.54-21.79 27.77z"/></g><g fill-opacity=".99" stroke="None"><path d="m1690 236h32c19.35-4.69 39.49-12.88 47.42-35.23 7.94-22.35 7.28-61.02 6.58-91.77s2.05-61.12-10.87-79.08-31.49-27.74-57.13-27.92-44.29 7.83-58.7 25.3c-14.42 17.46-10.44 44.79-12.3 74.7s-0.54 75.96 6.81 98.75 26.58 28.84 46.19 35.25m11-45c-0.15-22.21-0.58-49.94 0-74s-2.58-51.14 2-71c13.26 0.18 9 14.97 10 28s-0.36 33.3 0 47 0.05 33.93 0 47 1.01 30.08-12 23z"/></g><g stroke="None"><path d="m907 5c-18.41 2.09-38.16 0.66-57 1s-38.27-0.27-57 0-38.54-0.37-57 0-37.65-1.19-54 1c3.1 14.47-1.16 32.98 2 46 50.8-2.33 102.76-0.33 154-1-51.75 59.08-103.5 117.7-155 175 0.9 1.96 0.12 3.27 2 5 16.73-1.69 35.24-1.62 52 0 41.22-47.91 83.52-94.31 125-142 0.13 15.98-0.17 33.13 0 49s-0.33 32.47 0 48-1.18 31.59 1 45c14.47-3.1 32.97 1.16 46-2-2.09-18.41-0.65-38.16-1-57s0.27-38.27 0-57 0.37-38.55 0-57 1.19-37.65-1-54z"/></g><g fill-opacity=".99" stroke="None"><path d="m119 116c17.29-6.27 23.97-19.26 23-40s-0.07-36.41-10.92-50.08c-10.84-13.68-25.52-17.02-45.86-17.14-20.33-0.12-56.83-5.25-77.22 0.22v222c19.53 1.64 43.37 1.67 63 0-0.03-31.81 0.02-65.47 0-98 3.65 0.73 6.39 2.55 9 2 4.51 12.89 2.48 30.97 3 47s-1.3 35.79 1 50c17.68-0.02 38.3-0.02 56 0 3.91-22.03 1.74-56.89 1.78-78.78s-7.14-29.17-22.78-37.22m-48-22v-43c12.75-0.75 11.12 10.22 11 21s2.56 21.91-11 22z"/></g><g stroke="None"><path d="m209 236h32c7.82-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45s5.02-8.93 5.37-17.62c0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.06-26.37 0-39c-0.05-12.63 0.2-26.42 0-39s0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g fill-opacity=".99" stroke="None"><path d="m386 7c-12.48 2.38-27.19 0.26-40 1s-27.19-1.5-38 1v222c16.94 2.29 37.67 0.33 55 1 2.33-33.13 0.34-67.42 1-101 7.24 35.43 8.95 65.8 16 101 12.04-0.04 26.95-0.04 39 0 6.48-31.69 9.51-65.97 14-100 3 32.26-1 67.33 2 100 17.03 0.01 36.95-0.06 54 0 2.34-73.66 0.33-149.59 1-223-23.49-4.64-53.93-0.67-79-2-6.22 26.46-6.3 53.01-12 81-1.95-14.36-3.01-26.33-5.34-40.32s-2.74-27.83-7.66-40.68z"/></g><g stroke="None"><path d="m1053 55c-1-12.9-2.1-25.52-1-39s-15.36-7.22-27-8-27.1 0.16-39 0-26.03-0.85-36 1c0.68 73.27-1.34 150.01 1 223 19.67-0.72 42.64 1.34 62-1-0.03-29.47 0.02-60.81 0-91h35c1.63-15.15 1.63-31.86 0-47h-35v-36c13.05-1.38 29.51 2.76 40-2z"/></g><g stroke="None"><path d="m1112 236h32c7.83-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45s5.02-8.93 5.37-17.62c0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.05-26.37 0-39 0.2-26.42 0-39 0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g stroke="None"><path d="m1332 9c-8.09-2.28-18.86-0.63-29-1s-21.68 0.22-32 0-21.73 0.21-32 0c-10.26-0.21-22.03 0.36-31.97-0.02-9.95-0.38-4.03 14.81-5.03 23.02s-1.01 20.99 2 27c10.14-2.29 21.41-0.36 32-1 0.01 58.19-0.01 117.5 0 175 19.39-0.05 41.62 0 61 0 2.32-57.11 0.34-116.87 1-175 11.25-0.64 23.17 1.3 34-1-0.03-14.69-0.03-32.29 0-47z"/></g><g stroke="None"><path d="m1391 236h32c7.83-1.75 11.75-2.97 17.75-5.81 6.01-2.83 10.06-3.29 16-9.44 5.94-6.14 8.95-10.63 11.54-16.45 2.58-5.82 5.02-8.93 5.37-17.62 0.36-8.69 1.73-19.87 1.34-30.68s0.22-23.61 0-35 0.21-24.38 0-36 0.35-23.28 0-35 0.7-24.25 0-36c-0.71-11.74-17.44-4.24-27-6s-24.43 2.13-34-1c-4.18 9.81-1.41 23.42-2 36s0.35 27.25 0 40 0.34 26.35 0 39 0.55 27.79 0 40-0.19 21.01-2 31c-2.7-0.2-5.24 1.89-8-1-0.07-10.89-1.06-21.57-1-34s0.06-26.37 0-39c-0.05-12.63 0.2-26.42 0-39s0.49-26.75 0-39 2.1-24.58-2-34c-16.87 0.43-31.33 2.87-49 1s-10.16 18.89-11 34 0.32 34.66 0 50-0.02 34.2 0 49-0.47 32.59 0.07 44.92c0.53 12.33 5.07 15.17 8.54 23.33 3.46 8.15 12.93 14.16 19.47 17.62 6.55 3.46 14.29 6.54 23.92 9.13z"/></g><g fill-opacity=".99" stroke="None"><path d="m1601 116c14.38-3.23 19.95-14.48 21.79-27.77 1.83-13.29 0.81-35.75-2.08-46.93-2.89-11.19-11.22-21.12-22.41-26.59-11.18-5.46-25.16-6.79-43.05-7.51-17.9-0.73-44.81 0.16-63.25-0.2-3.95 22.39-1.59 49.19-2 74s0.02 52.14 0 77-0.8 50.24 1 74c19.67-0.72 42.64 1.34 62-1-0.03-31.81 0.02-65.47 0-98 3.65 0.73 6.39 2.55 9 2 4.51 12.89 2.48 30.97 3 47s-1.3 35.79 1 50c17.68-0.02 38.3-0.02 56 0 3.92-22.03 1.74-56.89 1.78-78.78s-7.14-29.17-22.78-37.22m-48-22v-43c12.75-0.75 11.12 10.22 11 21s2.56 21.91-11 22z"/></g><g fill-opacity=".05" stroke="None"><path d="m568 191c13.01 7.08 11.95-9.93 12-23s0.36-33.3 0-47 1-33.97 0-47 3.26-27.82-10-28c-4.58 19.85-1.42 46.94-2 71s-0.15 51.79 0 74z"/></g><g fill-opacity=".05" stroke="None"><path d="m1701 191c13.01 7.08 11.95-9.93 12-23s0.36-33.3 0-47 1-33.97 0-47 3.26-27.82-10-28c-4.58 19.86-1.42 46.94-2 71s-0.15 51.79 0 74z"/></g><g fill-opacity=".04" stroke="None"><path d="m71 94c13.56-0.09 10.88-11.22 11-22s1.75-21.75-11-21v43z"/></g><g fill-opacity=".04" stroke="None"><path d="m1553 94c13.56-0.09 10.88-11.22 11-22s1.75-21.75-11-21v43z"/></g></svg>');
  /* SVG data for a black square */
  background-size: auto 100%;
  /* Ensure the background image covers the height of the container */
  background-repeat: no-repeat;
  background-position: left center;
  /* Start the square from the left edge */
  animation: drawSquare 4s forwards;
  /* Apply the animation */
}

@keyframes drawSquare {
  0% {
    width: 0;
    /* Start with no width */
  }
  100% {
    width: 100%;
    /* End with full width */
  }
}
<div class="kul">
  <!-- svg goes here, no characters to paste it -->
  <div class="kosa"></div>
</div>

How to allow a browser permission in NightWatch.js tests?

I’m using NightWatch.js to build e2e tests.

One of my tests requires to grant the Chrome browser’s microphone permission.
When I run this test, I get a permission notification from the Chrome browser and I have to manually allow it. I would like to automate this.

Is there any way I can use NightWatch.js script to click allow button on this notification or set the microphone permission allowed in nightwatch.conf.js directly?

microphone permission notification

Check the render methid of HomeScreen3

I am getting these errors

 ERROR  Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

Check the render method of `HomeScreen3`.

This error is located at:
    in RCTView (at View.js:116)
    in View (at HomeScreen3.js:19)
    in RCTSafeAreaView (at HomeScreen3.js:18)
    in HomeScreen3 (at SceneView.tsx:132)
    in StaticContainer
    in EnsureSingleNavigator (at SceneView.tsx:124)
    in SceneView (at useDescriptors.tsx:218)
    in RCTView (at View.js:116)
    in View (at DebugContainer.native.tsx:34)
    in DebugContainer (at NativeStackView.native.tsx:82)
    in MaybeNestedStack (at NativeStackView.native.tsx:325)
    in RCTView (at View.js:116)
    in View (at NativeStackView.native.tsx:318)
    in RNSScreen (at createAnimatedComponent.js:54)
    in Unknown (at src/index.native.tsx:314)
    in Suspender (at src/index.tsx:27)
    in Suspense (at src/index.tsx:26)
    in Freeze (at src/index.native.tsx:206)
    in DelayedFreeze (at src/index.native.tsx:313)
    in InnerScreen (at src/index.native.tsx:566)
    in Screen (at NativeStackView.native.tsx:253)
    in SceneView (at NativeStackView.native.tsx:413)
    in Suspender (at src/index.tsx:27)
    in Suspense (at src/index.tsx:26)
    in Freeze (at src/index.native.tsx:206)
    in DelayedFreeze (at src/index.native.tsx:220)
    in RNSScreenStack (at src/index.native.tsx:227)
    in ScreenStack (at NativeStackView.native.tsx:401)
    in NativeStackViewInner (at NativeStackView.native.tsx:474)
    in RCTView (at View.js:116)
    in View (at SafeAreaProviderCompat.tsx:43)
    in SafeAreaProviderCompat (at NativeStackView.native.tsx:473)
    in NativeStackView (at createNativeStackNavigator.tsx:72)
    in PreventRemoveProvider (at useNavigationBuilder.tsx:718)
    in NavigationContent (at useComponent.tsx:35)
    in Unknown (at createNativeStackNavigator.tsx:71)
    in NativeStackNavigator (at App.js:29)
    in RNCSafeAreaProvider (at SafeAreaContext.tsx:92)
    in SafeAreaProvider (at App.js:28)
    in Provider (at App.js:27)
    in EnsureSingleNavigator (at BaseNavigationContainer.tsx:433)
    in BaseNavigationContainer (at NavigationContainer.tsx:132)
    in ThemeProvider (at NavigationContainer.tsx:131)
    in NavigationContainerInner (at App.js:26)
    in App (at withDevTools.ios.js:25)
    in withDevTools(App) (at renderApplication.js:57)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:127)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:155)
    in AppContainer (at renderApplication.js:50)
    in main(RootComponent) (at renderApplication.js:67), js engine: hermes

And this is the code please any solution?

import { React } from "react";
import { Text, StyleSheet, SafeAreaView, Image, View } from "react-native";
import tw from "tailwind-react-native-classnames";
import { NavOptions } from "./components/NavOptions";
import GoogleplacesAutocomplete from "react-native-google-places-autocomplete";
import { GOOGLE_MAPS_APIKEY } from "@env";
const logoImg = require("./components/LOGO PNG BLACK.png");

const HomeScreen3 = () => {
  return (
    <SafeAreaView style={tw`bg-white h-full`}>
      <View style={tw`p-5`}>
        <Image
          style={{
            width: 100,
            height: 100,
            resizeMode: "contain",
          }}
          source={logoImg}
        />

        <GoogleplacesAutocomplete
          placeholder="Where from?"
          styles={{
            container: {
              flex: 0,
            },
            textInput: {
              fontSize: 18,
            },
          }}
          query={{
            key: GOOGLE_MAPS_APIKEY,
            language: "en",
          }}
          nearbyPlacesAPI="GooglePlacesSearch"
          debounce={400}
        />

        <NavOptions />
      </View>
    </SafeAreaView>
  );
};

export default HomeScreen3;

Angular Lifecycle hooks?

Just wanted to know if I don’t implement any lifecycle hooks explicitly does Angular framework call it implicitly?

For Eg: If I am not using @input in component does ngOnChanges will get triggered implicitly by angular as it gets executed before ngOnInit? and if I am usling @input but don’t write ngOnChanges then will it get called implicitly ? Same question for other Hooks?

Thanks in advance.

Material Icons font family initially renders as text

I’m working in javascript and am applying the Material Icons fontFamily to my component. On the initial render, the child component is being rendered as normal text using what I would assume is the browser’s default fallback font. Once the font has loaded, then it re-renders as an icon. I want to set this up so that nothing is displayed at all until the font has been loaded. I have normal text to the right of the icon that makes leaving the text present for accessibility an invalid argument.

Here are a couple of screenshot for reference:

Here is the code as it is now, where iconName is the text being used to render my icon:

                        <div
                          className="text-left d-flex align-items-center"
                          style={{
                            fontFamily: "Material Icons",
                            fontSize: "24px",
                            opacity: parentActive || parentExpanded ? 1 : 0.8,
                            padding: "0 9px",
                            maxWidth: "45px",
                            overflow: "hidden",
                            height: "2.5rem",
                            color:
                              parentActive || parentExpanded
                                ? color.primary
                                : undefined,
                          }}
                        >
                          <span aria-hidden>{iconName}</span>
                        </div>

I have tried a few different solutions but only one them has sort of worked and am looking for a better alternative if possible. One solution that I tried was to use a ternary operation to render a blank space when the font is not yet loaded:

                        {document.fonts.check('1em "Material Icons"') ? 
                        <div
                          className="text-left d-flex align-items-center"
                          style={{
                            fontFamily: "Material Icons",
                            fontSize: "24px",
                            opacity: parentActive || parentExpanded ? 1 : 0.8,
                            padding: "0 9px",
                            maxWidth: "45px",
                            overflow: "hidden",
                            height: "2.5rem",
                            color:
                              parentActive || parentExpanded
                                ? color.primary
                                : undefined,
                          }}
                        >
                          <span aria-hidden>{iconName}</span>
                        </div>
                        : <div style={{ width: "42px", height: "40px", color: "transparent" }}/>
                      }

This solution does work, but there is an issue with that I would like to avoid. With my original code, once the font has been loaded and you reload the page manually, the icon is loaded initially since the font has already loaded. With this new code snippet, it does avoid rendering the text when the font family has not yet been loaded at the initial render. The issue now is that it always initializes to false for some amount of time before seeing that the font is there. Running this code next to the original code at the same time shows that the icon can sometimes be rendered right away whereas this conditional statement doesn’t allow that to happen.
Another idea that I am aware of is using the font-display property and setting it to block. I think this would work, but I can’t figure out how to apply it to my code. It seems that webpack in my project is not configured to be able to read @font-face from a css file and I haven’t seen any other way to do this. I also am not sure what to put for the font-family src since I didn’t need to specify the src in the div styles before. I put questions marks in here but when I tried it I just removed the line entirely.

   @font-face {       
        font-family: 'Material Icons';
        src: ??;
        font-display: block;   
    }      
   .material-icons {       
        font-family: 'Material Icons', sans-serif;     
   } 

I get an error in the browser when I try to do this:
ERROR in ./src/navigation/components/iconFont.css 1:0 Module parse failed: Unexpected character ‘@’ (1:0) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders > @font-face { | font-family: ‘Material Icons’;

I don’t want to have to update the project configurations to get that approach to work. Does anyone have any ideas that I could try out? Any help is much appreciated!