Design improvement
authorRaphaël Jakse <raphael.gitlab@jakse.fr>
Wed, 9 Dec 2020 21:29:04 +0000 (22:29 +0100)
committerLaurent Mazet <mazet@softndesign.org>
Wed, 9 Dec 2020 21:30:42 +0000 (22:30 +0100)
l10n/po/fr/trivabble.po
l10n/pot/trivabble.pot
public/index.html
public/trivabble.css
public/trivabble.js

index 35225d4bb0b8cbb807f342a336c325cb14f5492a..3bc6102a381d313ecc480aa9a63b64889cf99768 100644 (file)
@@ -253,8 +253,8 @@ msgstr "Partie :"
 msgid  "{0}d"
 msgstr "{0}j"
 
-msgid  "{0}h {0}' {1}''"
-msgstr "{0} h {0} min {1} s"
+msgid  "{0}h {1}' {2}''"
+msgstr "{0} h {1} min {2} s"
 
 msgid  "{0}' {1}''"
 msgstr "{0} min {1}"
index 030ffe005b29d63cc9766278af72715a448d1f67..b251758c2c994beaad693e284755e815d0670035 100644 (file)
@@ -258,7 +258,7 @@ msgstr ""
 msgid  "{0}d"
 msgstr ""
 
-msgid  "{0}h {0}' {1}''"
+msgid  "{0}h {1}' {2}''"
 msgstr ""
 
 msgid  "{0}' {1}''"
index bdef6696c52a1b2a3c5bc8d5875f6f9db15f53c6..01c4e8c4470e93053da4b01ebf3fdb04b2e20f28 100644 (file)
                     <p><label><input type="checkbox" id="msg-sound" /><span data-l10n="text-content">Sound of messages</span></label></p>
                 </div>
                 <div>
-                    <p id="disable-spell-checker-p" hide="true">
+                    <p id="disable-spell-checker-p" hidden="true">
                         <label>
                             <input type="checkbox" id="disable-spell-checker" />
                             <span data-l10n="text-content">Disable the spell checker</span>
                         </label>
                     </p>
-                    <p id="no-spell-checker-p" hide="false">
+                    <p id="no-spell-checker-p" hidden="false">
                         <span data-l10n="text-content">Spell checking is not available for this language.</span>
                     </p>
                 </div>
             <table id="board">
                 <tr><td class="corner"></td></tr>
             </table>
+            <div id="rack-timer">
+                <div id="timer" hidden="true">
+                    <p>
+                        <span data-l10n="text-content">Turn:</span>
+                        <span id="timer-turn">--</span>
+                    </p>
+                    <p>
+                        <span data-l10n="text-content">Game:</span>
+                        <span id="timer-game">--</span>
+                    </p>
+                </div>
             <div id="rack-outer">
                 <div id="rack"></div>
             </div>
+            </div>
         </div>
 
         <div id="panel" class="panel">
             <div id="btn-settings-wrapper">
                 <button id="btn-settings" data-l10n="text-content">Settings</button>
             </div>
-            <p id="timer" style="display:none">
-                <span data-l10n="text-content" class="timer-turn">Turn:</span>
-                <span id="timer-turn">0</span>
-                <br />
-                <span data-l10n="text-content" class="timer-game">Game:</span>
-                <span id="timer-game">0</span>
-            </p>
             <div id="bag"></div>
             <p><span data-l10n="text-content">Number of tiles in the bag:</span><br /><span id="remaining-letters">102</span></p>
             <table id="participants">
index fc1d491888d3041e57f3511e084f1be0987dd554..e76665c2a9bcc4183e93705175cd7d0280819d1e 100644 (file)
@@ -179,6 +179,7 @@ button {
 
 #rack {
     background:#EEC;
+    z-index:10;
     font-size:0;
     border-radius:4px;
     display:inline-block;
@@ -733,14 +734,34 @@ button#next-help-msg:hover {
     flex-direction:column;
 }
 
-#timer-turn, .timer-turn {
-    text-align: center;
-    font-size: small;
-    color: #333;
+#rack-timer {
+    position:relative;
 }
 
-#timer-game, .timer-game {
-    text-align: center;
-    font-size: x-small;
-    color: #AAA;
+#timer {
+    position:absolute;
+    display:table;
+    top:0;
+    font-size:0.8em;
+    right: 0.8rem;
+    text-align:right;
+}
+
+#timer > p {
+    margin:0;
+    display:table-row;
+    z-index:0;
+}
+
+#timer > p > span {
+    display:table-cell;
+}
+
+#timer > p > span:first-child {
+    color:gray;
+    padding-right: 1ex;
+}
+
+#timer > p > span:last-child {
+    color:#333;
 }
index 7dcab5c5c1cdc685d78d6de4a4b732f4b66882d0..3a146f9d0e096e635b08bb199af35e1d112328f2 100644 (file)
 
     const trivabble = window.trivabble = {l10n: _};
 
-    function format(s, v1, v2) {
-        return s.replace("{0}", v1).replace("{1}", v2);
+    function format(s, v1, v2, v3) {
+        return s.replace("{0}", v1).replace("{1}", v2).replace("{2}", v3);
     }
 
     let board;
         const h = Math.floor((delta % (60 * 60 * 24)) / (60 * 60));
         const m = Math.floor((delta % (60 * 60)) / 60);
         const s = Math.floor(delta % 60);
+        const sec = (s < 10) ? "0" + s : s;
+        const min = (m < 10) ? "0" + m : m;
+        const hour = (h < 10) ? "0" + h : h;
         return ((d > 0) ? format(_("{0}d "), d) : "") +
-            ((h > 0) ? format(_("{0}h {1}' {2}''"), h, m, s) : format(_("{0}' {1}''"), m, s));
+            ((h + d > 0) ? format(_("{0}h {1}' {2}''"), (d > 0) ? hour : h, min, sec) : format(_("{0}' {1}''"), m, sec));
     }
 
     function timerDate() {
     function setTimerState(state) {
         setSetting("TimerEnable", state);
         if (state) {
-            document.getElementById("timer").style.display = "block";
+            document.getElementById("timer").hidden = false;
             document.getElementById("enable-timer").checked = true;
             setSetting("Timer", setInterval(function () {
                 const currentTimer = timerDate();