diff --git a/css/main.css b/css/main.css index e5f89b4..c5cdc0d 100644 --- a/css/main.css +++ b/css/main.css @@ -8,7 +8,7 @@ font-family: "Helvetica", Arial, sans-serif; } -/* Editor */ +/* Type */ .invalid { background-color: red; color: white !important; @@ -24,6 +24,19 @@ height: 100%; } +#toolbar { + position: absolute; + left: 0; + top: 0; + width: 100%; + padding: 7px; + height: 20px; +} + +.CodeMirror { + margin-top: 33px; +} + /* Index */ .prev-list { padding: 0px; diff --git a/js/type.js b/js/type.js index 21fd193..d6424e1 100644 --- a/js/type.js +++ b/js/type.js @@ -5,42 +5,10 @@ var focused = false; let invalids = []; var fileLines; -// fetch file and setup let hash = window.location.hash.substring(1); let hashBits = hash.split("/"); let repo = hashBits.slice(0, 3).join("/"); let filePath = hashBits.slice(3, hashBits.length).join("/"); -$.get({ - url: `https://raw.githubusercontent.com/${repo}/${filePath}`, - success: (code) => { - fileLines = code.split("\n"); - getChunk(code) - .then((chunk) => { - let lang = getLanguageByExtension(getFileExtension()); - console.log(`Detected language as ${lang.mime}`); - if (Array.isArray(lang.file)) { - if (lang.file.length != 0) { - var req = req = $.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file[0]}/${lang.file[0]}.min.js`); - for (var i = 1; i < lang.file.length; i++) { - req = req.then($.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file[i]}/${lang.file[i]}.min.js`)); - } - req.then(() => { - setup(chunk, lang.mime); - }); - } else { - setup(chunk, lang.mime); - } - } else { - $.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file}/${lang.file}.min.js`, () => { - setup(chunk, lang.mime); - }); - } - }) - .catch((e) => { - throw e; - }) - } -}); // language selector let langaugeSelector = $("#language"); @@ -83,6 +51,44 @@ $("#restart").click(() => { }); }); +// back button +$("#back").click(() => { + window.location.href = `/repo.html#${repo}`; +}); + +// fetch file and setup +$.get({ + url: `https://raw.githubusercontent.com/${repo}/${filePath}`, + success: (code) => { + fileLines = code.split("\n"); + getChunk(code) + .then((chunk) => { + let lang = getLanguageByExtension(getFileExtension()); + console.log(`Detected language as ${lang.mime}`); + if (Array.isArray(lang.file)) { + if (lang.file.length != 0) { + var req = req = $.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file[0]}/${lang.file[0]}.min.js`); + for (var i = 1; i < lang.file.length; i++) { + req = req.then($.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file[i]}/${lang.file[i]}.min.js`)); + } + req.then(() => { + setup(chunk, lang.mime); + }); + } else { + setup(chunk, lang.mime); + } + } else { + $.getScript(`https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.19.0/mode/${lang.file}/${lang.file}.min.js`, () => { + setup(chunk, lang.mime); + }); + } + }) + .catch((e) => { + throw e; + }) + } +}); + // setup function setup(data, mime) { let el = document.getElementById("editor"); @@ -536,3 +542,9 @@ function removeAllInvalids() { invalids = []; }); } + +function goToEnd() { + editor.setCursor(getEndPos()); + updateIncompleteMark(); + save(); +} diff --git a/type.html b/type.html index 6f5abee..3bce600 100644 --- a/type.html +++ b/type.html @@ -15,59 +15,62 @@
- - - +
+ + + + +