diff options
author | Minteck <contact@minteck.org> | 2022-01-29 11:24:15 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-01-29 11:24:15 +0100 |
commit | 6e9edfbd9384aaae3fd83a9b011e8f2f2f4973e2 (patch) | |
tree | bbcb2f84c3efdec5304546fdf8eea79045fe106c /htdocs/public | |
parent | 8f47fd78cb2c0f8deb3ea02ea2b5324ea71c664b (diff) | |
download | rainbow-6e9edfbd9384aaae3fd83a9b011e8f2f2f4973e2.tar.gz rainbow-6e9edfbd9384aaae3fd83a9b011e8f2f2f4973e2.tar.bz2 rainbow-6e9edfbd9384aaae3fd83a9b011e8f2f2f4973e2.zip |
Fix scrolling not working on Safari
Diffstat (limited to 'htdocs/public')
-rw-r--r-- | htdocs/public/TODO/index.ejs | 1 | ||||
-rw-r--r-- | htdocs/public/assets/css/main.css | 1 | ||||
-rw-r--r-- | htdocs/public/index.ejs | 9 | ||||
-rw-r--r-- | htdocs/public/metranslator/api/index.ejs | 31 | ||||
-rw-r--r-- | htdocs/public/metranslator/index.ejs | 195 |
5 files changed, 3 insertions, 234 deletions
diff --git a/htdocs/public/TODO/index.ejs b/htdocs/public/TODO/index.ejs deleted file mode 100644 index 7b5edd2..0000000 --- a/htdocs/public/TODO/index.ejs +++ /dev/null @@ -1 +0,0 @@ -<% res.writeHead(200, { "Content-Type": "text/plain" }); %><%- fs.readFileSync(serverRoot + "/TODO"); %>
\ No newline at end of file diff --git a/htdocs/public/assets/css/main.css b/htdocs/public/assets/css/main.css index ce2d306..68fca27 100644 --- a/htdocs/public/assets/css/main.css +++ b/htdocs/public/assets/css/main.css @@ -7,7 +7,6 @@ html, body { } main { - position: fixed; overflow: auto; padding: 20px; inset: 0; diff --git a/htdocs/public/index.ejs b/htdocs/public/index.ejs index 942ad1d..4521d5c 100644 --- a/htdocs/public/index.ejs +++ b/htdocs/public/index.ejs @@ -1,8 +1,6 @@ <% global.title = lang.main.page; %> <%- include(`${private}/header.ejs`) %> -<a href="/TODO">TODO</a> (<%- slang %>) - <div id="intro" style="background-image: url('/assets/main.jpg');background-repeat: no-repeat;background-position: center;background-size: contain;height:100vh;display:flex;align-items: center;justify-content: center;margin: -20px;"> <div style="text-align: center;"> <div style="position: relative;top: -40px;"> @@ -19,8 +17,8 @@ </div> </div> - <a class="scroller" href="#/main" style="display: block;position: absolute;bottom: 0;font-size: 32px;margin: 10px;"> - <p>↓</p></a> +<!-- <a class="scroller" href="#/main" style="display: block;position: absolute;bottom: 0;font-size: 32px;margin: 10px;">--> +<!-- <p>↓</p></a>--> </div> <div class="grid-3 stand dont-break-me" id="/main"> @@ -238,8 +236,7 @@ fs.readFileSync(serverRoot + "/.git/" + fs.readFileSync(serverRoot + "/.git/HEAD").toString().trim().substr(5)).toString().trim().substr(0, 8) %></a> · <a target="_blank" href="https://gitlab.minteck.org/minteck/sattelite"><%- lang.global.source %></a> · <a - href="/<%- slang %>/legal"><%- lang.global.legal %></a> · <a - href="/<%- slang %>/metranslator"><%- lang.metranslator.title %></a> · <a href="https://account.minteck.org"><%- lang.global.account %></a> · <a + href="/<%- slang %>/legal"><%- lang.global.legal %></a> · <a href="https://account.minteck.org"><%- lang.global.account %></a> · <a href="https://kartik.minteck.org/online">Kartik Online</a> · <a href="https://unchained.minteck.org">UnchainedTech</a> · <a href="https://source.minteck.org">Minteck Trunk</a> diff --git a/htdocs/public/metranslator/api/index.ejs b/htdocs/public/metranslator/api/index.ejs deleted file mode 100644 index fa915b4..0000000 --- a/htdocs/public/metranslator/api/index.ejs +++ /dev/null @@ -1,31 +0,0 @@ -<% - - res.writeHead(200, {'Content-Type': "application/json"}); - - if (get['t']) { - if (get['t'] === "en") { - target = "en"; - } else { - target = "mt"; - } - } else { - res.end(); - } - - if (get['u']) { - text = get['u']; - - if (text.length > 500) { - res.end(); - } - - text = text.split("\"").join("''"); - } else { - res.end(); - } - - aw = JSON.parse(child_process.execSync(`cd /mnt/metranslator-api && node index.js api ${target} "${text}"`).toString()); - last = child_process.execSync("cd /mnt/metranslator-api && git log -1 --pretty=format:'%an'").toString() - aw["system"]["version"] = aw["system"]["version"] + "-" + fs.readFileSync("/mnt/metranslator-api/.git/refs/heads/trunk").toString().substr(0, 8); - aw["system"]["last_author"] = last; - aw["call"] = "cd /mnt/metranslator-api && node index.js api {$target} \"{$text}\"";
\ No newline at end of file diff --git a/htdocs/public/metranslator/index.ejs b/htdocs/public/metranslator/index.ejs deleted file mode 100644 index 3fd8baf..0000000 --- a/htdocs/public/metranslator/index.ejs +++ /dev/null @@ -1,195 +0,0 @@ -<% global.title = lang.metranslator.title; %> -<%- include(`${private}/header.ejs`) %> - -<a href="/<%- slang %>">← <%- lang.global.back %></a> - -<hr class="rnbwsquare-separator rnbwsquare-outer"> - -<div class="container" style="min-height: 100vh;margin-left: 5vw;margin-right: 5vw;"> - <style> - mark { - background: transparent; - color: #ff6161; - padding: 0; - font-weight: bold; - } - </style> - - <h2 style="text-align:center;"><%- lang.metranslator.title %></h2> - <p style="text-align:center;">💡 <i><%- lang.metranslator.tip %></i></p> - <div style="display:grid;grid-template-columns: 1fr 1fr;background:#111;padding-top:10px;border-radius:5px;"> - <div> - <a style="cursor:pointer;color: white !important; text-decoration: none;" onclick="switchLangs();"><p - id="lang-source" - style="text-align:center;font-weight:bold;"> - <%- lang.metranslator.base %></p></a> - <textarea maxlength="500" placeholder="<%- lang.metranslator.placeholder %>" onresize="resizeTarget();" - onchange="process();" - onkeydown="process();" onkeyup="process();" - id="text-source" - style="padding:20px;outline:none;overflow:hidden;resize:none;background: #222;border: none;width: 100%;margin-bottom: -3px;color: #eee;border-right:1px solid #151515;"></textarea> - <script>document.getElementById('text-source').value = "";</script> - </div> - <div> - <a style="cursor:pointer;color: white !important; text-decoration: none;" onclick="switchLangs();"><p - id="lang-target" - style="text-align:center;font-weight:bold;"> - Metroz</p></a> - <div id="text-target" disabled - style="padding:20px;outline:none;overflow:hidden;resize: none;background: #222;border: none;width: 100%;margin-bottom: -3px;color: #eee;"></div> - <script>document.getElementById('text-target').innerText = "";</script> - </div> - </div> - <div id="facts" - style="background:#424242;padding: 3px 10px;width:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;"> - <span id="facts-inner"><%- lang.metranslator.facts %></span> - </div> - - <details style="margin-top:20px;"> - <summary><%- lang.metranslator.insights.title %></summary> - <ul> - <li><%- lang.metranslator.insights.name %> <span id="insights-01">n/a</span></li> - <li><%- lang.metranslator.insights.version %> <span id="insights-02">n/a</span></li> - <li><%- lang.metranslator.insights.size %> <span id="insights-03">n/a</span></li> - <li><%- lang.metranslator.insights.time %> <span id="insights-04">n/a</span></li> - </ul> - </details> -</div> - -<script> - - function switchLangs() { - if (document.getElementById("text-target").innerHTML === "...") return; - - tval = document.getElementById("text-target").innerText; - sval = document.getElementById("text-source").value; - - document.getElementById("text-target").innerText = "..."; - document.getElementById("text-source").value = tval; - - if (document.getElementById("lang-target").innerText === "English") { - document.getElementById("lang-target").innerText = "Metroz"; - document.getElementById("lang-source").innerText = "<%- lang.metranslator.base %>"; - } else { - document.getElementById("lang-source").innerText = "Metroz"; - document.getElementById("lang-target").innerText = "<%- lang.metranslator.base %>"; - } - - translate(); - } - - typing = false; - - function startTyping() { - typing = true; - document.getElementById("facts-inner").innerText = "<%- lang.metranslator.waiting %>"; - document.getElementById("text-target").innerText = "..."; - } - - function stopTyping() { - typing = false; - translate(); - } - - setInterval(() => { - if (typing) stopTyping(); - }, 2000) - - function translate() { - if (document.getElementById("text-source").value.trim() === "") { - document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>"; - document.getElementById("text-target").innerText = ""; - return; - } - - document.getElementById("facts-inner").innerText = "<%- lang.metranslator.processing %>"; - document.getElementById("text-target").innerText = "..."; - - if (document.getElementById("lang-target").innerText === "<%- lang.metranslator.base %>") { - target = "en"; - } else { - target = "mt"; - } - - document.getElementById("insights-01").innerText = "n/a"; - document.getElementById("insights-02").innerText = "n/a"; - document.getElementById("insights-03").innerText = "n/a"; - document.getElementById("insights-04").innerText = "n/a"; - - window.fetch("/<%- slang %>/metranslator/api?t=" + target + "&u=" + encodeURI(document.getElementById("text-source").value)).then((a) => { - a.blob().then((b) => { - b.text().then((c) => { - try { - data = JSON.parse(c); - - words = data.output.split(" "); - newds = []; - initw = document.getElementById("text-source").value.toLowerCase().split(" "); - - for (word of words) { - if (initw.includes(word)) { - newds.push("<mark>" + word + "</mark>"); - nothing = "<%- lang.metranslator.nothing %>"; - data.facts.push(nothing.replace("%1", word).replace("%2", document.getElementById("lang-target").innerText)) - } else { - newds.push(word); - } - } - - if (data.facts.length > 0) { - document.getElementById("facts-inner").innerHTML = "<ul style='margin-bottom: 0;margin-top: 0;'><li>" + data.facts.join("</li><li>") + "</li></ul>"; - } else { - document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>"; - } - - document.getElementById("text-target").innerHTML = newds.join(" "); - } catch (e) { - console.error(e); - document.getElementById("text-target").innerHTML = "<%- lang.metranslator.error %>"; - document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>"; - document.getElementById("insights-01").innerText = "n/a"; - document.getElementById("insights-02").innerText = "n/a"; - document.getElementById("insights-03").innerText = "n/a"; - document.getElementById("insights-04").innerText = "n/a"; - } - - if (data.system.version.startsWith("-")) { - document.getElementById("insights-01").innerText = "n/a"; - document.getElementById("insights-02").innerText = "n/a"; - document.getElementById("insights-03").innerText = "n/a"; - document.getElementById("insights-04").innerText = "n/a"; - } else { - document.getElementById("insights-01").innerText = data.system.name; - document.getElementById("insights-02").innerText = data.system.version + " (<%- lang.metranslator.update %> " + data.system.last_author + ")"; - document.getElementById("insights-03").innerText = data.system.length + " <%- lang.metranslator.entries %>"; - document.getElementById("insights-04").innerText = data.duration + " ms"; - } - resizeTarget() - - if (data.system.version.startsWith("-")) { - document.getElementById("insights-01").innerText = "n/a"; - document.getElementById("insights-02").innerText = "n/a"; - document.getElementById("insights-03").innerText = "n/a"; - document.getElementById("insights-04").innerText = "n/a"; - } - }) - }) - }) - } - - function process() { - resizeTarget() - startTyping() - } - - function resizeTarget() { - size = 167; - - document.getElementById("text-source").style.height = size + "px"; - document.getElementById("text-target").style.height = size + "px"; - } - - resizeTarget() - -</script> -<%- include(`${private}/footer.ejs`) %>
\ No newline at end of file |