From 8b9636a440822ee10c1a1e3bc002d89fe9c0476b Mon Sep 17 00:00:00 2001 From: Benjamin Kinga Date: Mon, 14 Dec 2020 16:17:35 -0600 Subject: [PATCH 01/15] add layouts to refactored file & lint refactored files --- gulpfile.js | 2 +- src/js/db.js | 6 +- src/js/global-dependencies.js | 1 + src/js/layouts.js | 1 + src/js/misc.js | 164 +++++++++++++++++----------------- 5 files changed, 88 insertions(+), 86 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index dbbba2fc8..3c0f88fe5 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -90,6 +90,7 @@ const refactoredSrc = [ "./src/js/dom-util.js", "./src/js/cloud-functions.js", "./src/js/misc.js", + "./src/js/layouts.js", ]; //legacy files @@ -98,7 +99,6 @@ const globalSrc = [ "./src/js/global-dependencies.js", "./src/js/simple-popups.js", "./src/js/words.js", - "./src/js/layouts.js", "./src/js/userconfig.js", "./src/js/commandline.js", "./src/js/leaderboards.js", diff --git a/src/js/db.js b/src/js/db.js index d1dedd96c..eaa3e0d54 100644 --- a/src/js/db.js +++ b/src/js/db.js @@ -94,7 +94,7 @@ export async function db_getUserResults() { .get() .then((data) => { dbSnapshot.results = []; - data.docs.forEach((doc, index) => { + data.docs.forEach((doc) => { let result = doc.data(); result.id = doc.id; dbSnapshot.results.push(result); @@ -172,6 +172,7 @@ export async function db_getLocalPB( let retval; if (dbSnapshot == null) { + retval = 0; } else { retval = cont(); } @@ -240,8 +241,7 @@ export async function db_saveLocalPB( } } - if (dbSnapshot == null) { - } else { + if (dbSnapshot != null) { cont(); } } diff --git a/src/js/global-dependencies.js b/src/js/global-dependencies.js index 38f9239aa..07666f559 100644 --- a/src/js/global-dependencies.js +++ b/src/js/global-dependencies.js @@ -20,3 +20,4 @@ import { import { showBackgroundLoader, hideBackgroundLoader } from "./dom-util"; import * as Misc from "./misc"; import * as CloudFunctions from "./cloud-functions"; +import layouts from "./layouts"; diff --git a/src/js/layouts.js b/src/js/layouts.js index 9505db1bb..43befd36a 100644 --- a/src/js/layouts.js +++ b/src/js/layouts.js @@ -236,3 +236,4 @@ const layouts = { ] }, } +export default layouts; diff --git a/src/js/misc.js b/src/js/misc.js index 11a0088a1..f9bf207b8 100644 --- a/src/js/misc.js +++ b/src/js/misc.js @@ -1,4 +1,52 @@ import { showBackgroundLoader, hideBackgroundLoader } from "./dom-util"; + +function hexToHSL(H) { + // Convert hex to RGB first + let r = 0, + g = 0, + b = 0; + if (H.length == 4) { + r = "0x" + H[1] + H[1]; + g = "0x" + H[2] + H[2]; + b = "0x" + H[3] + H[3]; + } else if (H.length == 7) { + r = "0x" + H[1] + H[2]; + g = "0x" + H[3] + H[4]; + b = "0x" + H[5] + H[6]; + } + // Then to HSL + r /= 255; + g /= 255; + b /= 255; + let cmin = Math.min(r, g, b), + cmax = Math.max(r, g, b), + delta = cmax - cmin, + h = 0, + s = 0, + l = 0; + + if (delta == 0) h = 0; + else if (cmax == r) h = ((g - b) / delta) % 6; + else if (cmax == g) h = (b - r) / delta + 2; + else h = (r - g) / delta + 4; + + h = Math.round(h * 60); + + if (h < 0) h += 360; + + l = (cmax + cmin) / 2; + s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)); + s = +(s * 100).toFixed(1); + l = +(l * 100).toFixed(1); + + return { + hue: h, + sat: s, + lgt: l, + string: "hsl(" + h + "," + s + "%," + l + "%)", + }; +} + let themesList = null; export async function getThemesList() { if (themesList == null) { @@ -96,8 +144,40 @@ export async function getChallengeList() { } } -let currentLanguage = null; +export function showNotification(text, time) { + let noti = $(".notification"); + noti.text(text); + noti.css("top", `-${noti.outerHeight()}px`); + noti.stop(true, false).animate( + { + top: "1rem", + }, + 250, + "swing", + () => { + noti.stop(true, false).animate( + { + opacity: 1, + }, + time, + () => { + noti.stop(true, false).animate( + { + top: `-${noti.outerHeight()}px`, + }, + 250, + "swing", + () => { + noti.text(""); + } + ); + } + ); + } + ); +} +let currentLanguage = null; export function getCurrentLanguage() { return currentLanguage; } @@ -149,7 +229,7 @@ export function sendVerificationEmail() { showBackgroundLoader(); let cu = firebase.auth().currentUser; cu.sendEmailVerification() - .then((e) => { + .then(() => { hideBackgroundLoader(); showNotification("Email sent to " + cu.email, 4000); }) @@ -204,39 +284,6 @@ export function mean(array) { } } -export function showNotification(text, time) { - let noti = $(".notification"); - noti.text(text); - noti.css("top", `-${noti.outerHeight()}px`); - noti.stop(true, false).animate( - { - top: "1rem", - }, - 250, - "swing", - () => { - noti.stop(true, false).animate( - { - opacity: 1, - }, - time, - () => { - noti.stop(true, false).animate( - { - top: `-${noti.outerHeight()}px`, - }, - 250, - "swing", - () => { - noti.text(""); - } - ); - } - ); - } - ); -} - export function getReleasesFromGitHub() { $.getJSON( "https://api.github.com/repos/Miodec/monkeytype/releases", @@ -291,53 +338,6 @@ export function kogasa(cov) { ); } -function hexToHSL(H) { - // Convert hex to RGB first - let r = 0, - g = 0, - b = 0; - if (H.length == 4) { - r = "0x" + H[1] + H[1]; - g = "0x" + H[2] + H[2]; - b = "0x" + H[3] + H[3]; - } else if (H.length == 7) { - r = "0x" + H[1] + H[2]; - g = "0x" + H[3] + H[4]; - b = "0x" + H[5] + H[6]; - } - // Then to HSL - r /= 255; - g /= 255; - b /= 255; - let cmin = Math.min(r, g, b), - cmax = Math.max(r, g, b), - delta = cmax - cmin, - h = 0, - s = 0, - l = 0; - - if (delta == 0) h = 0; - else if (cmax == r) h = ((g - b) / delta) % 6; - else if (cmax == g) h = (b - r) / delta + 2; - else h = (r - g) / delta + 4; - - h = Math.round(h * 60); - - if (h < 0) h += 360; - - l = (cmax + cmin) / 2; - s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)); - s = +(s * 100).toFixed(1); - l = +(l * 100).toFixed(1); - - return { - hue: h, - sat: s, - lgt: l, - string: "hsl(" + h + "," + s + "%," + l + "%)", - }; -} - export function roundTo2(num) { return Math.round((num + Number.EPSILON) * 100) / 100; } From b8c44ca7409705635eb1fd5c2db1f22918ef8215 Mon Sep 17 00:00:00 2001 From: Aaron Cottle Date: Tue, 15 Dec 2020 12:56:46 +1100 Subject: [PATCH 02/15] Fixed issue #712 --- static/languages/swedish.json | 2 +- static/languages/swedish_1k.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/languages/swedish.json b/static/languages/swedish.json index 050b65ef9..fc7db2439 100644 --- a/static/languages/swedish.json +++ b/static/languages/swedish.json @@ -201,6 +201,6 @@ "förlåt", "pengar", "död", - "hjälpa", + "hjälpa" ] } diff --git a/static/languages/swedish_1k.json b/static/languages/swedish_1k.json index 1730543eb..0e4102ed7 100644 --- a/static/languages/swedish_1k.json +++ b/static/languages/swedish_1k.json @@ -1001,6 +1001,6 @@ "minut", "försökt", "unga", - "svär", + "svär" ] } From d8be8141393e15dc78c53c52c8640ae9f0df513b Mon Sep 17 00:00:00 2001 From: KungPaoChick Date: Tue, 15 Dec 2020 12:41:07 +0800 Subject: [PATCH 03/15] Added 1K words of Swahili --- static/languages/list.json | 1 + static/languages/swahili_1k.json | 1007 ++++++++++++++++++++++++++++++ 2 files changed, 1008 insertions(+) create mode 100644 static/languages/swahili_1k.json diff --git a/static/languages/list.json b/static/languages/list.json index cd12ad483..bc9a1e242 100644 --- a/static/languages/list.json +++ b/static/languages/list.json @@ -47,6 +47,7 @@ ,"vietnamese_5k" ,"swedish" ,"swedish_1k" + ,"swahili_1k" ,"lojban_gismu" ,"lojban_cmavo" ,"toki_pona" diff --git a/static/languages/swahili_1k.json b/static/languages/swahili_1k.json new file mode 100644 index 000000000..2f441e8df --- /dev/null +++ b/static/languages/swahili_1k.json @@ -0,0 +1,1007 @@ +{ + "name": "swahili_1k", + "_comment": "Source from: https://1000mostcommonwords.com/1000-most-common-swahili-words/.", + "leftToRight": "true", + "words": [ + "kama", + "mimi", + "yake", + "kwamba", + "yeye", + "mara", + "kwa", + "juu ya", + "wako", + "kwa", + "wao", + "kuwa", + "katika", + "moja", + "na", + "hii", + "kutoka", + "na", + "moto", + "neno", + "lakini", + "nini", + "baadhi", + "ni", + "yake", + "ninyi", + "au", + "alikuwa", + "akaonekana", + "ya", + "kwa", + "na", + "a", + "katika", + "sisi", + "unaweza", + "nje", + "nyingine", + "walikuwa", + "ambayo", + "kufanya", + "yao", + "wakati", + "kama", + "mapenzi", + "jinsi", + "alisema", + "an", + "kila", + "kuwaambia", + "gani", + "kuweka", + "tatu", + "wanataka", + "hewa", + "vizuri", + "pia", + "kucheza", + "ndogo", + "mwisho", + "kuweka", + "nyumbani", + "kusoma", + "mkono", + "bandari", + "kubwa", + "Spell", + "kuongeza", + "hata", + "ardhi", + "hapa", + "lazima", + "kubwa", + "high", + "kama", + "kufuata", + "tendo", + "kwa nini", + "kuuliza", + "wanaume", + "mabadiliko ya", + "akaenda", + "mwanga", + "aina", + "mbali", + "haja", + "nyumba", + "picha", + "kujaribu", + "sisi", + "tena", + "mnyama", + "uhakika", + "mama", + "dunia", + "karibu", + "kujenga", + "binafsi", + "dunia", + "baba", + "yoyote", + "mpya", + "kazi", + "sehemu", + "kuchukua", + "kupata", + "mahali", + "alifanya", + "kuishi", + "ambapo", + "baada ya", + "nyuma", + "kidogo", + "tu", + "pande zote", + "mtu", + "mwaka", + "alikuja", + "Onyesha", + "kila", + "nzuri", + "mimi", + "kutoa", + "wetu", + "chini ya", + "jina", + "sana", + "kupitia", + "tu", + "aina", + "hukumu", + "kubwa", + "kufikiri", + "kusema", + "msaada", + "chini", + "line", + "tofauti", + "upande", + "sababu", + "kiasi", + "maana", + "kabla ya", + "hoja", + "haki", + "mvulana", + "umri wa", + "pia", + "sawa", + "yeye", + "kila", + "huko", + "wakati", + "up", + "kutumia", + "yako", + "njia", + "kuhusu", + "wengi", + "kisha", + "yao", + "kuandika", + "ingekuwa", + "kama", + "hivyo", + "haya", + "yake", + "muda mrefu", + "kufanya", + "kitu", + "kuona", + "naye", + "mbili", + "ina", + "kuangalia", + "zaidi", + "siku", + "inaweza", + "kwenda", + "kuja", + "alifanya", + "simu", + "sauti", + "hakuna", + "zaidi", + "watu", + "yangu", + "juu ya", + "kujua", + "maji", + "kuliko", + "simu", + "kwanza", + "ambao", + "inaweza", + "chini", + "upande", + "imekuwa", + "sasa", + "kupata", + "kichwa", + "kusimama", + "mwenyewe", + "ukurasa", + "lazima", + "nchi", + "kupatikana", + "jibu", + "shule", + "kukua", + "utafiti", + "bado", + "kujifunza", + "kupanda", + "cover", + "chakula", + "jua", + "nne", + "kati ya", + "hali", + "kuweka", + "jicho", + "kamwe", + "mwisho", + "basi", + "wazo", + "mji", + "ya mti", + "msalaba", + "shamba", + "ngumu", + "kuanza", + "nguvu", + "hadithi", + "saw", + "mbali", + "bahari", + "kuteka", + "kushoto", + "marehemu", + "kukimbia", + "kufanya si", + "wakati", + "vyombo vya habari", + "karibu", + "usiku", + "halisi", + "maisha", + "chache", + "kaskazini", + "kitabu", + "kubeba", + "alichukua", + "sayansi", + "kula", + "chumba", + "rafiki", + "alianza", + "wazo", + "samaki", + "mlima", + "kuacha", + "mara moja", + "msingi", + "kusikia", + "farasi", + "kata", + "uhakika", + "kuangalia", + "rangi", + "uso", + "mbao", + "kuu", + "wazi", + "wanaonekana", + "pamoja", + "ijayo", + "nyeupe", + "watoto", + "kuanza", + "got", + "kutembea", + "mfano", + "kupunguza", + "karatasi", + "kundi", + "daima", + "muziki", + "wale", + "wote wawili", + "alama", + "mara nyingi", + "barua", + "mpaka", + "maili", + "mto", + "gari", + "miguu", + "huduma", + "pili", + "kutosha", + "wazi", + "msichana", + "kawaida", + "vijana", + "tayari", + "juu", + "milele", + "nyekundu", + "orodha", + "ingawa", + "kujisikia", + "majadiliano", + "ndege", + "hivi karibuni", + "mwili", + "mbwa", + "familia", + "moja kwa moja", + "litasababisha", + "kuondoka", + "wimbo", + "kupima", + "mlango", + "bidhaa", + "nyeusi", + "mfupi", + "numeral", + "darasa", + "upepo", + "swali", + "kutokea", + "kamili", + "meli", + "eneo", + "nusu", + "mwamba", + "ili", + "moto", + "kusini", + "tatizo", + "kipande", + "aliiambia", + "alijua", + "kupita", + "tangu", + "juu", + "zima", + "mfalme", + "mitaani", + "inchi", + "kuzidisha", + "chochote", + "Bila shaka", + "kukaa", + "gurudumu", + "full", + "nguvu", + "bluu", + "kitu", + "kuamua", + "uso", + "kina", + "mwezi", + "kisiwa", + "mguu", + "mfumo", + "busy", + "mtihani", + "rekodi", + "mashua", + "kawaida", + "dhahabu", + "iwezekanavyo", + "ndege", + "badala", + "kavu", + "ajabu", + "kucheka", + "elfu", + "iliyopita", + "mbio", + "kuangalia", + "mchezo", + "sura", + "wanalinganisha", + "moto", + "miss ya", + "kuletwa", + "joto", + "theluji", + "tairi", + "kuleta", + "ndiyo", + "mbali", + "kujaza", + "mashariki", + "rangi", + "lugha", + "kati ya", + "kitengo", + "nguvu", + "mji", + "faini", + "baadhi ya", + "kuruka", + "kuanguka", + "kusababisha", + "kilio", + "giza", + "mashine", + "note", + "kusubiri", + "mpango", + "takwimu", + "nyota", + "sanduku", + "nomino", + "shamba", + "wengine", + "sahihi", + "uwezo", + "chupa", + "kutenda", + "uzuri", + "gari", + "alisimama", + "vyenye", + "mbele", + "kufundisha", + "wiki", + "mwisho", + "alitoa", + "kijani", + "oh", + "haraka", + "kuendeleza", + "bahari", + "joto", + "bure", + "dakika", + "nguvu", + "maalum", + "akili", + "nyuma ya", + "wazi", + "mkia", + "kuzalisha", + "ukweli", + "nafasi", + "habari", + "bora", + "saa", + "bora", + "kweli", + "wakati wa", + "mia", + "tano", + "kumbuka", + "hatua", + "mapema", + "kushikilia", + "magharibi", + "ardhi", + "maslahi", + "kufikia", + "haraka", + "kitenzi", + "kuimba", + "kusikiliza", + "sita", + "meza", + "usafiri", + "chini ya", + "asubuhi", + "kumi", + "rahisi", + "kadhaa", + "vowel", + "kuelekea", + "vita", + "kuweka", + "dhidi ya", + "muundo", + "polepole", + "kituo cha", + "upendo", + "mtu", + "fedha", + "kutumika", + "itaonekana", + "barabara", + "ramani", + "mvua", + "utawala", + "serikali", + "kuvuta", + "baridi", + "ilani", + "sauti", + "nishati", + "kuwinda", + "kinachowezekana", + "kitanda", + "ndugu", + "yai", + "safari", + "kiini", + "amini", + "labda", + "kuchukua", + "ghafla", + "kuhesabu", + "mraba", + "sababu", + "urefu", + "kuwakilisha", + "sanaa", + "somo", + "kanda", + "ukubwa", + "kutofautiana", + "kuishi", + "kusema", + "uzito", + "ujumla", + "barafu", + "jambo", + "mzunguko", + "jozi", + "ni pamoja na", + "mgawanyiko", + "silabi", + "waliona", + "kuu", + "mpira", + "bado", + "wimbi", + "kuacha", + "moyo", + "ni", + "sasa", + "nzito", + "ngoma", + "injini", + "nafasi", + "mkono", + "pana", + "meli", + "vifaa", + "sehemu", + "msitu", + "kukaa", + "mbio", + "dirisha", + "kuhifadhi", + "majira ya joto", + "treni", + "usingizi", + "kuthibitisha", + "ya lone", + "mguu", + "zoezi", + "ukuta", + "kukamata", + "mlima", + "unataka", + "anga", + "bodi", + "furaha", + "majira ya baridi", + "ameketi", + "imeandikwa", + "pori", + "chombo", + "naendelea", + "kioo", + "nyasi", + "ng’ombe", + "kazi", + "makali", + "ishara", + "ziara", + "siku za nyuma", + "laini", + "furaha", + "mkali", + "gesi", + "hali ya hewa", + "mwezi", + "milioni", + "kubeba", + "kumaliza", + "furaha", + "matumaini", + "ua", + "nguo", + "ajabu", + "kuondoka", + "biashara", + "kuimba", + "safari", + "ofisi", + "kupokea", + "mstari", + "kinywa", + "halisi", + "ishara", + "kufa", + "angalau", + "shida", + "kelele", + "ila", + "aliandika", + "mbegu", + "tone", + "kujiunga na", + "kupendekeza", + "safi", + "mapumziko", + "mwanamke", + "yadi", + "kupanda", + "mbaya", + "pigo", + "mafuta", + "damu", + "kugusa", + "ilikua", + "cent", + "kuchanganya", + "timu", + "waya", + "gharama", + "waliopotea", + "kahawia", + "kuvaa", + "bustani", + "sawa", + "alimtuma", + "kuchagua", + "akaanguka", + "fit", + "kati yake", + "haki", + "benki", + "kukusanya", + "kuokoa", + "kudhibiti", + "decimal", + "sikio", + "mwingine", + "kabisa", + "kuvunja", + "kesi", + "katikati", + "kuua", + "mwana", + "ziwa", + "wakati", + "wadogo", + "kubwa", + "chemchemi", + "kuchunguza", + "mtoto", + "moja kwa moja", + "consonant", + "taifa", + "kamusi", + "maziwa", + "kasi", + "njia", + "chombo", + "kulipa", + "umri", + "sehemu", + "mavazi", + "wingu", + "mshangao", + "utulivu", + "jiwe", + "vidogo", + "kupanda", + "baridi", + "kubuni", + "maskini", + "mengi", + "majaribio", + "chini", + "ufunguo", + "chuma", + "moja", + "fimbo", + "gorofa", + "ishirini", + "ngozi", + "tabasamu", + "na crease", + "shimo", + "kuruka", + "mtoto", + "nane", + "kijiji", + "kukutana", + "mizizi", + "kununua", + "kuongeza", + "kutatua", + "chuma", + "kama", + "kushinikiza", + "saba", + "aya", + "tatu", + "atakuwa", + "uliofanyika", + "nywele", + "kuelezea", + "mpishi", + "sakafu", + "ama", + "matokeo", + "kuchoma", + "kilima", + "salama", + "paka", + "karne ya", + "kufikiria", + "aina", + "sheria", + "kidogo", + "pwani", + "nakala", + "maneno", + "kimya", + "mrefu", + "mchanga", + "udongo", + "orodha", + "joto", + "kidole", + "sekta ya", + "thamani", + "kupambana", + "uongo", + "kuwapiga", + "kuchochea", + "asili", + "mtazamo", + "maana", + "mji mkuu wa", + "si", + "kiti", + "hatari", + "matunda", + "tajiri", + "nene", + "askari", + "mchakato", + "kazi", + "mazoezi", + "tofauti", + "vigumu", + "daktari", + "tafadhali", + "kulinda", + "saa sita mchana", + "mazao", + "kisasa", + "kipengele", + "hit", + "mwanafunzi", + "kona", + "chama", + "usambazaji", + "ambao", + "Machapisho", + "pete", + "tabia ya", + "wadudu", + "hawakupata", + "kipindi", + "zinaonyesha", + "za Redio", + "alizungumza", + "chembe", + "binadamu", + "historia", + "athari", + "umeme", + "kutarajia", + "mfupa", + "reli", + "kufikiria", + "kutoa", + "kukubaliana", + "hivyo", + "mpole", + "mwanamke", + "nahodha", + "nadhani", + "muhimu", + "mkali", + "mrengo", + "kujenga", + "jirani", + "osha", + "bat kwa", + "badala", + "umati wa watu", + "nafaka", + "kulinganisha", + "shairi", + "kamba", + "kengele", + "hutegemea", + "nyama", + "kusugua", + "tube", + "maarufu", + "dola", + "mkondo", + "hofu", + "mbele", + "nyembamba", + "pembetatu", + "sayari", + "haraka", + "wakuu", + "koloni", + "saa", + "yangu", + "tie", + "kuingia", + "kuu", + "safi", + "search", + "kutuma", + "njano", + "bunduki", + "kuruhusu", + "magazeti", + "wafu", + "doa", + "jangwa", + "suti", + "sasa", + "kuinua", + "kufufuka", + "kuwasili", + "bwana", + "kufuatilia", + "mzazi", + "pwani", + "mgawanyiko", + "karatasi", + "Dutu", + "neema", + "kuungana", + "baada", + "kutumia", + "gumzo", + "mafuta", + "furaha", + "awali", + "kushiriki", + "kituo cha", + "baba", + "mkate", + "malipo", + "sahihi", + "bar ya", + "kutoa", + "sehemu", + "mtumwa", + "bata", + "papo", + "soko", + "shahada ya", + "idadi ya", + "kifaranga", + "wapenzi", + "adui", + "jibu", + "kunywa", + "kutokea", + "msaada", + "hotuba", + "asili", + "mbalimbali", + "mvuke", + "mwendo", + "njia", + "kioevu", + "kuingia", + "maana", + "quotient ya", + "meno", + "ganda", + "shingo", + "oksijeni", + "sukari", + "kifo", + "wa pretty", + "ujuzi", + "wanawake", + "msimu", + "ufumbuzi", + "sumaku", + "fedha", + "kuwashukuru", + "tawi", + "mechi", + "suffix", + "hasa", + "mtini", + "hofu", + "kubwa", + "dada", + "chuma", + "kujadili", + "mbele", + "sawa", + "kuongoza", + "uzoefu", + "alama", + "mboni", + "kununuliwa", + "kuongozwa", + "lami", + "kanzu", + "habari", + "kadi", + "bendi", + "kamba", + "kuingizwa", + "kushinda", + "ndoto", + "jioni", + "hali", + "kulisha", + "chombo", + "jumla", + "msingi", + "harufu", + "bonde", + "wala", + "mara mbili", + "kiti cha", + "kuendelea", + "kuzuia", + "chati", + "kofia", + "kuuza", + "mafanikio", + "kampuni", + "Ondoa", + "tukio", + "hasa", + "mpango", + "kuogelea", + "mrefu", + "kinyume", + "mke", + "kiatu", + "bega", + "kuenea", + "kupanga", + "kambi", + "mzulia", + "pamba", + "aliyezaliwa", + "kuamua", + "lita moja", + "tisa", + "lori", + "kelele", + "ngazi ya", + "nafasi", + "kukusanya", + "duka", + "kunyoosha", + "kutupa", + "uangaze", + "mali", + "safu", + "molekuli", + "kuchagua", + "makosa", + "kijivu", + "kurudia", + "zinahitaji", + "pana", + "kuandaa", + "chumvi", + "pua", + "wingi", + "hasira", + "madai", + "bara" + ] +} \ No newline at end of file From 8a8289c328089b765f3c7d48f24e2d7aa0bda965 Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 17 Dec 2020 15:45:45 +0000 Subject: [PATCH 04/15] booring bugfixes --- gulpfile.js | 1 + src/js/commandline.js | 8 +++++++ src/js/global-dependencies.js | 1 + src/js/monkey.js | 44 ++++++++++++++++++++++++++++++++++ src/js/script.js | 3 +++ src/sass/style.scss | 23 ++++++++++++++++++ static/index.html | 6 +++++ static/m1.png | Bin 0 -> 23296 bytes static/m2.png | Bin 0 -> 23138 bytes static/m3.png | Bin 0 -> 23471 bytes static/m4.png | Bin 0 -> 22867 bytes 11 files changed, 86 insertions(+) create mode 100644 src/js/monkey.js create mode 100644 static/m1.png create mode 100644 static/m2.png create mode 100644 static/m3.png create mode 100644 static/m4.png diff --git a/gulpfile.js b/gulpfile.js index dbbba2fc8..8332b180e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -90,6 +90,7 @@ const refactoredSrc = [ "./src/js/dom-util.js", "./src/js/cloud-functions.js", "./src/js/misc.js", + "./src/js/monkey.js", ]; //legacy files diff --git a/src/js/commandline.js b/src/js/commandline.js index bf8c56310..baaf2cfa0 100644 --- a/src/js/commandline.js +++ b/src/js/commandline.js @@ -687,6 +687,14 @@ let commands = { }, 150); }, }, + { + id: "toggleMonkey", + display: "Toggle Monkey", + visible: false, + exec: () => { + $("#monkey").toggleClass("hidden"); + }, + }, ], }; diff --git a/src/js/global-dependencies.js b/src/js/global-dependencies.js index 1539f3cab..d9cf43f6a 100644 --- a/src/js/global-dependencies.js +++ b/src/js/global-dependencies.js @@ -22,3 +22,4 @@ import { import { showBackgroundLoader, hideBackgroundLoader } from "./dom-util"; import * as Misc from "./misc"; import * as CloudFunctions from "./cloud-functions"; +import * as Monkey from "./monkey"; diff --git a/src/js/monkey.js b/src/js/monkey.js new file mode 100644 index 000000000..777ec24bc --- /dev/null +++ b/src/js/monkey.js @@ -0,0 +1,44 @@ +let left = false; +let right = false; +let elements = { + "00": document.querySelector("#monkey .up"), + 10: document.querySelector("#monkey .left"), + "01": document.querySelector("#monkey .right"), + 11: document.querySelector("#monkey .both"), +}; +let last = "right"; +// 0 up +// 1 down + +export function type() { + if (!left && last == "right") { + left = true; + last = "left"; + } else if (!right) { + right = true; + last = "right"; + } + update(); +} + +export function stop() { + if (left) { + left = false; + } else if (right) { + right = false; + } + update(); +} + +function update() { + if (!document.querySelector("#monkey").classList.contains("hidden")) { + Object.keys(elements).forEach((key) => { + elements[key].classList.add("hidden"); + }); + + let id = left ? "1" : "0"; + id += right ? "1" : "0"; + + elements[id].classList.remove("hidden"); + } +} diff --git a/src/js/script.js b/src/js/script.js index 70b27e2d8..5af298ba4 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -4418,6 +4418,8 @@ $(document).keydown((event) => { keypressStats.spacing.current = now; } + Monkey.type(); + //tab if ( (event.key == "Tab" && !config.swapEscAndTab) || @@ -4990,6 +4992,7 @@ $(document).keyup((event) => { keypressStats.duration.array.push(diff); } keypressStats.duration.current = now; + Monkey.stop(); }); window.addEventListener("beforeunload", (event) => { diff --git a/src/sass/style.scss b/src/sass/style.scss index 228f5888c..cc590dfe4 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -3091,6 +3091,29 @@ key { opacity: 0; } +#monkey { + width: 308px; + height: 0; + margin: 0 auto; + div { + height: 200px; + width: 308px; + position: fixed; + } + .up { + background-image: url("../m3.png"); + } + .left { + background-image: url("../m1.png"); + } + .right { + background-image: url("../m2.png"); + } + .both { + background-image: url("../m4.png"); + } +} + .keymap { .keymap-split-spacer, .keymap-stagger-split-spacer, diff --git a/static/index.html b/static/index.html index e947d55a0..4a2154757 100644 --- a/static/index.html +++ b/static/index.html @@ -962,6 +962,12 @@
+