]> git.frustrated-labs.net Git - larousseapi/commitdiff
feat: save lang and word when submitting form
authorAlexander Goussas <[email protected]>
Wed, 17 Jun 2026 19:47:47 +0000 (14:47 -0500)
committerAlexander Goussas <[email protected]>
Wed, 17 Jun 2026 19:47:47 +0000 (14:47 -0500)
src/main/resources/META-INF/resources/script.js [new file with mode: 0644]
src/main/resources/templates/pub/index.html
src/test/java/net/frustratedfunctor/translations/WordTranslationServiceTest.java

diff --git a/src/main/resources/META-INF/resources/script.js b/src/main/resources/META-INF/resources/script.js
new file mode 100644 (file)
index 0000000..f1cc014
--- /dev/null
@@ -0,0 +1,21 @@
+const form = document.getElementById("translation-box");
+const lang = document.getElementById("lang");
+const word = document.getElementById("word");
+
+form.addEventListener("submit", () => {
+    localStorage.setItem("lang", lang.value);
+    localStorage.setItem("word", word.value)
+})
+
+window.addEventListener("load", () => {
+    const savedLang = localStorage.getItem("lang");
+    const savedWord = localStorage.getItem("word");
+
+    if (savedLang) {
+        lang.value = savedLang;
+    }
+
+    if (savedWord) {
+        word.value = savedWord;
+    }
+})
\ No newline at end of file
index 69ad8cb1a62576aaecb77f271558b8344a80b94a..05d60c8ee26b914af1371f817725729c00c6fc5c 100644 (file)
@@ -11,6 +11,7 @@
         data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4" data-sample-rate="0.15" data-mask-level="moderate"
         data-max-duration="300000"></script>
 <link rel="stylesheet" href="/styles.css">
+<script src="/script.js" async></script>
 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/picnic">
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css"
       integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw=="
             <i class="fa-solid fa-info"></i>
             Search for a word in the box below.
         </small>
-        <form method="POST" action="/ui/getTranslationsDefinitions">
+        <form method="POST" action="/ui/getTranslationsDefinitions" id="translation-box">
             <fieldset>
                 <label for="lang">Language</label>
                 <select id="lang" name="lang" style="margin-bottom: 5px;">
                     <option value="fr">French</option>
                     <option value="de">German</option>
                 </select>
-                <label class="stack"><input name="word" type="text" placeholder="Jambon..."></label>
+                <label class="stack"><input id="word" name="word" type="text" placeholder="Jambon..."></label>
                 <button class="stack">Let's Go!</button>
             </fieldset>
         </form>
index 9648a32e7d3f83a074f02eabad611561dfaa0da4..8a6b50f76f081cb8f7eb58630158e7152141659d 100644 (file)
@@ -16,7 +16,7 @@ import java.util.stream.Stream;
 class WordTranslationServiceTest {
 
     @InjectMock
-    WordTranslationRepository repository;
+    LanguageAwareTranslationsRepository repository;
 
     @MethodSource("strings")
     @ParameterizedTest
@@ -28,7 +28,7 @@ class WordTranslationServiceTest {
 
         Assertions.assertThrows(
                 InvalidWordException.class,
-                () -> sut.translate(s)
+                () -> sut.translate(s, "fr")
         );
     }