So, I want the make generator to remember user inputs and the latest generated output using the remember plugin, it works on user input but not for the output. I know there’s a solution for this since generators like AI Chat can remember the chat logs without problem but I’m too dumb to understand the code lol

Also, how can I prevent the AI to automatically generate output on first load? I’m using the firstload = true tingy but I want to make it look cleaner when the generator loads since it 's displaying the [firstLoad ? "" : output] for a split second, is there any other method for this?

  • TAPgiles
    link
    English
    211 days ago

    You can use localStorage to save and restore things with code. I believe that’s what the remember plugin uses to save things anyway.

    So you’d do something like localStorage.setItem("last generated", data.generatedText) which will save it. And when you load, you can use loaded = localStorage.getItem("last generated"); if (loaded) { element.innerText = loaded; } which would put the text in an element with the id “element”, if there was anything stored in the first place.

    You can look up more about localStorage on MDN.

    • darkXploreOP
      link
      English
      1
      edit-2
      9 days ago

      Sorry for the late response, unfortunately, I’m just started learning coding recently, especially JS, I might need to read a bit more about this lol thanks for the link!

      EDIT: Just wanted to let you know that I’ve figured out a solution thanks to the AI code helper, it basically wrote the similar function:

      // Function to load data from local storage when the page loads
        function loadData() {
          userInputEl.value = localStorage.userInput || ""; // Load user input
          aiOutputEl.value = localStorage.aiOutput || ""; // Load AI output
        }
      
        // Function to save data to local storage whenever there's an input change
        function saveData() {
          localStorage.userInput = userInputEl.value; // Save user input
          localStorage.aiOutput = aiOutputEl.value; // Save AI output
        }
      
      window.onload = loadData;
      

      And just simply put the oninput="saveData() into both input and output elements.

      • TAPgiles
        link
        English
        19 days ago

        Yep that looks good 👍