diff --git a/public/app.html b/public/app.html
index 4703e98c7..61793fe61 100644
--- a/public/app.html
+++ b/public/app.html
@@ -6,6 +6,7 @@
Monkey Type
+
@@ -231,7 +232,7 @@
tab and enter / space - restart test
esc - command line
- Created by Miodec
+ Created by Miodec
diff --git a/public/css/style.css b/public/css/style.css
index c662bab45..b74f55b20 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -1,20 +1,32 @@
@import url("https://fonts.googleapis.com/css?family=Roboto+Mono&display=swap");
:root {
- --main-color: #eee;
- --sub-color: #444;
- --bg-color: #111;
- --caret-color: #fff;
- --active-word-color: #444;
- --roundness: 0.25rem;
+ --roundness: .25rem;
+}
+
+::-webkit-input-placeholder {
+ color: var(--sub-color);
+ opacity: 1;
+ /* Firefox */
+}
+
+:-ms-input-placeholder {
+ color: var(--sub-color);
+ opacity: 1;
+ /* Firefox */
+}
+
+::-ms-input-placeholder {
+ color: var(--sub-color);
+ opacity: 1;
+ /* Firefox */
+}
+
+::placeholder {
+ color: var(--sub-color);
+ opacity: 1;
+ /* Firefox */
}
-/*
-:root {
- --main-color: #111;
- --sub-color: #444;
- --sub2-color: #444;
- --bg-color: #fff;
-} */
body {
margin: 0;
padding: 2rem 2rem 0 2rem;
@@ -101,9 +113,13 @@ a:hover {
color: var(--sub-color);
}
+#commandLineWrapper #commandLine .suggestions .entry:last-child {
+ border-radius: 0 0 var(--roundness) var(--roundness);
+}
+
#commandLineWrapper #commandLine .suggestions .entry.active {
- color: var(--main-color);
- background: rgba(0, 0, 0, 0.5);
+ color: var(--bg-color);
+ background: var(--main-color);
}
#resultScreenshot {
@@ -274,6 +290,14 @@ a:hover {
-webkit-transition: 0.25s;
transition: 0.25s;
padding: 0.5rem;
+ border-radius: var(--roundness);
+}
+
+#menu .button:focus {
+ background: var(--sub-color);
+ color: var(--main-color);
+ border: none;
+ outline: none;
}
#menu .button .icon {
@@ -676,7 +700,7 @@ key {
}
#restartTestButton:focus {
- background: #0d0d0d;
+ background: var(--sub-color);
}
.word {
@@ -694,7 +718,7 @@ key {
.word.error {
/* margin-bottom: 1px; */
border-bottom: 2px solid #da3333;
- text-shadow: 1px 0px 0px var(--bg-color), 2px 0px 0px var(--bg-color), -1px 0px 0px var(--bg-color), -2px 0px 0px var(--bg-color), 0px 1px 0px var(--bg-color), 1px 1px 0px var(--bg-color), -1px 1px 0px var(--bg-color);
+ text-shadow: 1px 0px 0px var(--bg-color), -1px 0px 0px var(--bg-color), 0px 1px 0px var(--bg-color), 1px 1px 0px var(--bg-color), -1px 1px 0px var(--bg-color);
}
.word.active {
@@ -702,8 +726,6 @@ key {
}
.word letter {
- -webkit-transition: .1s;
- transition: .1s;
height: 1rem;
line-height: 1rem;
/* margin: 0 1px; */
@@ -782,7 +804,7 @@ key {
}
.pageAccount table tbody tr:nth-child(odd) td {
- background: rgba(0, 0, 0, 0.5);
+ background: rgba(0, 0, 0, 0.1);
}
* {
diff --git a/public/css/style.css.map b/public/css/style.css.map
index c27d7ec0a..66b6e6e66 100644
--- a/public/css/style.css.map
+++ b/public/css/style.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
- "mappings": "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",
+ "mappings": "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",
"sources": [
"style.scss"
],
diff --git a/public/css/style.scss b/public/css/style.scss
index dcb814b24..203a7af0b 100644
--- a/public/css/style.scss
+++ b/public/css/style.scss
@@ -1,20 +1,12 @@
@import url("https://fonts.googleapis.com/css?family=Roboto+Mono&display=swap");
-
-:root {
- --main-color: #eee;
- --sub-color: #444;
- --bg-color: #111;
- --caret-color: #fff;
- --active-word-color: #444;
- --roundness: 0.25rem;
+:root{
+ --roundness: .25rem;
+}
+
+::placeholder{
+ color: var(--sub-color);
+ opacity: 1; /* Firefox */
}
-/*
-:root {
- --main-color: #111;
- --sub-color: #444;
- --sub2-color: #444;
- --bg-color: #fff;
-} */
body {
margin: 0;
@@ -82,9 +74,12 @@ a:hover {
font-size: 0.75rem;
line-height: 0.75rem;
color: var(--sub-color);
+ &:last-child{
+ border-radius: 0 0 var(--roundness) var(--roundness);
+ }
&.active {
- color: var(--main-color);
- background: rgba(0, 0, 0, 0.5);
+ color: var(--bg-color);
+ background: var(--main-color);
}
}
}
@@ -225,15 +220,22 @@ a:hover {
width: fit-content;
width: -moz-fit-content;
/* transition: 0.25s; */
+ .button{
+ display: grid;
+ grid-auto-flow: column;
+ align-content: center;
+ transition: 0.25s;
+ padding: 0.5rem;
+ border-radius: var(--roundness);
+ &:focus{
+ background: var(--sub-color);
+ color: var(--main-color);
+ border: none;
+ outline: none;
+ }
+ }
}
-#menu .button {
- display: grid;
- grid-auto-flow: column;
- align-content: center;
- transition: 0.25s;
- padding: 0.5rem;
-}
#menu .button .icon {
display: grid;
@@ -558,7 +560,7 @@ key {
outline: none;
}
&:focus {
- background: #0d0d0d;
+ background: var(--sub-color);
}
}
@@ -574,8 +576,13 @@ key {
.word.error {
/* margin-bottom: 1px; */
border-bottom: 2px solid #da3333;
- text-shadow: 1px 0px 0px var(--bg-color), 2px 0px 0px var(--bg-color), -1px 0px 0px var(--bg-color),
- -2px 0px 0px var(--bg-color), 0px 1px 0px var(--bg-color), 1px 1px 0px var(--bg-color), -1px 1px 0px var(--bg-color);
+ text-shadow: 1px 0px 0px var(--bg-color),
+ // 2px 0px 0px var(--bg-color),
+ -1px 0px 0px var(--bg-color),
+ // -2px 0px 0px var(--bg-color),
+ 0px 1px 0px var(--bg-color),
+ 1px 1px 0px var(--bg-color),
+ -1px 1px 0px var(--bg-color);
}
.word.active {
@@ -583,7 +590,7 @@ key {
}
.word letter {
- transition: .1s;
+ // transition: .1s;
height: 1rem;
line-height: 1rem;
/* margin: 0 1px; */
@@ -647,7 +654,7 @@ key {
font-size: .75rem;
}
tbody tr:nth-child(odd) td{
- background: rgba(0, 0, 0, 0.5);
+ background: rgba(0, 0, 0, 0.1);
}
}
}
diff --git a/public/js/account.js b/public/js/account.js
index 53cbd6db3..53dddcf91 100644
--- a/public/js/account.js
+++ b/public/js/account.js
@@ -310,7 +310,7 @@ function refreshAccountPage() {
}
if (result.wpm > topWpm) {
- let puncsctring = result.punctuation ? ",
with punctuatin" : "";
+ let puncsctring = result.punctuation ? ",
with punctuation" : "";
topWpm = result.wpm;
topMode = result.mode + " " + result.mode2 + puncsctring;
}
diff --git a/public/js/commandline.js b/public/js/commandline.js
index eadbb2a74..b7d342db8 100644
--- a/public/js/commandline.js
+++ b/public/js/commandline.js
@@ -1,3 +1,7 @@
+function capitalizeFirstLetter(str) {
+ return str.charAt(0).toUpperCase() + str.slice(1);
+ }
+
let commands = {
title: "",
list: [
@@ -38,6 +42,15 @@ let commands = {
toggleKeyTips();
}
},
+ {
+ id: "changeTheme",
+ display: "Change theme...",
+ subgroup: true,
+ exec: () => {
+ currentCommands = commandsThemes;
+ showCommandLine();
+ }
+ },
{
id: "changeMode",
display: "Change mode...",
@@ -68,6 +81,7 @@ let commands = {
]
};
+
let commandsWordCount = {
title: "Change word count...",
list: [
@@ -180,11 +194,53 @@ let commandsTimeConfig = {
]
};
+
+$.getJSON("themes/list.json", function(data) {
+ commandsThemes.list = [];
+ data.forEach(theme => {
+ commandsThemes.list.push({
+ id: "changeTheme" + capitalizeFirstLetter(theme),
+ display: theme.replace('_',' '),
+ hover: () => {
+ previewTheme(theme);
+ },
+ exec: () => {
+ setTheme(theme);
+ saveConfigToCookie();
+ }
+ })
+ })
+});
+
+let commandsThemes = {
+ title: "Change theme...",
+ list: [
+ {
+ id: "couldnotload",
+ display: "Could not load the themes list :("
+ }
+ ]
+};
+
$("#commandLine input").keyup((e) => {
if (e.keyCode == 38 || e.keyCode == 40) return;
updateSuggestedCommands();
});
+$(document).ready(e => {
+ $(document).keydown((event) => {
+ //escape
+ if (event.keyCode == 27) {
+ if ($("#commandLineWrapper").hasClass("hidden")) {
+ currentCommands = commands;
+ showCommandLine();
+ } else {
+ hideCommandLine();
+ setTheme(config.theme);
+ }
+ }
+ })
+})
$("#commandLine input").keydown((e) => {
if (e.keyCode == 13) {
@@ -205,6 +261,7 @@ $("#commandLine input").keydown((e) => {
//up
let entries = $(".suggestions .entry");
let activenum = -1;
+ let hoverId;
$.each(entries, (index, obj) => {
if ($(obj).hasClass("active")) activenum = index;
});
@@ -212,18 +269,29 @@ $("#commandLine input").keydown((e) => {
entries.removeClass("active");
if (activenum == 0) {
$(entries[entries.length - 1]).addClass("active");
+ hoverId = $(entries[entries.length - 1]).attr('command');
} else {
$(entries[--activenum]).addClass("active");
+ hoverId = $(entries[activenum]).attr('command');
}
}
if (e.keyCode == 40) {
entries.removeClass("active");
if (activenum + 1 == entries.length) {
$(entries[0]).addClass("active");
+ hoverId = $(entries[0]).attr('command');
} else {
$(entries[++activenum]).addClass("active");
+ hoverId = $(entries[activenum]).attr('command');
}
}
+ try{
+ $.each(currentCommands.list, (index, obj) => {
+ if (obj.id == hoverId) {
+ obj.hover();
+ }
+ });
+ }catch(e){}
return false;
}
@@ -276,7 +344,7 @@ function updateSuggestedCommands() {
let foundcount = 0;
$.each(inputVal, (index2, obj2) => {
if (obj2 == "") return;
- let re = new RegExp(obj2, "g");
+ let re = new RegExp("\\b"+obj2, "g");
let res = obj.display.toLowerCase().match(re);
if (res != null && res.length > 0) {
foundcount++;
@@ -314,6 +382,14 @@ function displayFoundCommands() {
let entries = $("#commandLine .suggestions .entry");
if (entries.length > 0) {
$(entries[0]).addClass("active");
+ try{
+ $.each(currentCommands.list, (index, obj) => {
+ if (obj.found) {
+ obj.hover();
+ return false;
+ }
+ });
+ }catch(e){}
}
$("#commandLine .listTitle").remove();
// if(currentCommands.title != ''){
diff --git a/public/js/script.js b/public/js/script.js
index 92a93e673..2a704cb2f 100644
--- a/public/js/script.js
+++ b/public/js/script.js
@@ -421,6 +421,13 @@ function showResult() {
labels.push(i.toString());
}
+ let mainColor = getComputedStyle(document.body).getPropertyValue('--main-color').replace(' ', '');
+ let subColor = getComputedStyle(document.body).getPropertyValue('--sub-color').replace(' ','');
+
+
+ wpmOverTimeChart.options.scales.xAxes[0].ticks.fontColor = subColor;
+ wpmOverTimeChart.options.scales.yAxes[0].ticks.fontColor = subColor;
+ wpmOverTimeChart.data.datasets[0].borderColor = mainColor;
wpmOverTimeChart.data.labels = labels;
wpmOverTimeChart.data.datasets[0].data = wpmHistory;
wpmOverTimeChart.update({ duration: 0 });
@@ -457,8 +464,8 @@ function restartTest() {
opacity: 1
}, 125, () => {
$("#restartTestButton").css('opacity', 1);
- focusWords();
+ if ($("#commandLineWrapper").hasClass('hidden')) focusWords();
wpmHistory = [];
hideTimer();
@@ -473,7 +480,6 @@ function restartTest() {
clearInterval(timer);
timer = null;
time = 0;
- focusWords();
// let oldHeight = $("#words").height();
// let newHeight = $("#words")
@@ -683,9 +689,6 @@ $("#wordsInput").on("focusout", (event) => {
hideCaret();
});
-
-
-
$(window).resize(() => {
updateCaretPosition();
});
@@ -739,15 +742,6 @@ $(document).keypress(function(event) {
//handle keyboard events
$(document).keydown((event) => {
- //escape
- if (event.keyCode == 27) {
- if ($("#commandLineWrapper").hasClass("hidden")) {
- currentCommands = commands;
- showCommandLine();
- } else {
- hideCommandLine();
- }
- }
//tab
if (config.quickTab) {
@@ -836,8 +830,9 @@ $(document).keydown((event) => {
}
});
+loadConfigFromCookie();
+
$(document).ready(() => {
- loadConfigFromCookie();
restartTest();
if (config.quickTab) {
$("#restartTestButton").remove();
@@ -845,16 +840,16 @@ $(document).ready(() => {
$("#centerContent").css("opacity", "0").removeClass("hidden").stop(true, true).animate({ opacity: 1 }, 250);
});
-var ctx = $("#wpmChart");
-var wpmOverTimeChart = new Chart(ctx, {
+let ctx = $("#wpmChart");
+let wpmOverTimeChart = new Chart(ctx, {
type: 'line',
data: {
labels: [],
datasets: [{
label: "wpm",
data: [],
- backgroundColor: 'rgba(255, 255, 255, 0.25',
- borderColor: 'rgba(255, 255, 255, 1)',
+ // backgroundColor: 'rgba(255, 255, 255, 0.25)',
+ borderColor: 'rgba(125, 125, 125, 1)',
borderWidth: 2
}],
},
@@ -878,7 +873,7 @@ var wpmOverTimeChart = new Chart(ctx, {
scales: {
xAxes: [{
ticks: {
- fontFamily: "Roboto Mono",
+ fontFamily: "Roboto Mono"
},
display: true,
scaleLabel: {
@@ -891,6 +886,9 @@ var wpmOverTimeChart = new Chart(ctx, {
scaleLabel: {
display: false,
labelString: 'Words per Minute'
+ },
+ ticks: {
+ fontFamily: 'Roboto Mono'
}
}]
}
diff --git a/public/js/userconfig.js b/public/js/userconfig.js
index 72f36aab5..7afc54fba 100644
--- a/public/js/userconfig.js
+++ b/public/js/userconfig.js
@@ -1,4 +1,5 @@
let config = {
+ theme: 'light',
showKeyTips: true,
showLiveWpm: true,
smoothCaret: true,
@@ -21,6 +22,7 @@ function loadConfigFromCookie() {
if (newConfig) {
newConfig = JSON.parse(newConfig);
config = newConfig;
+ setTheme(config.theme);
setQuickTabMode(config.quickTab);
setPunctuation(config.punctuation);
setKeyTips(config.showKeyTips);
@@ -110,4 +112,13 @@ function togglePunctuation() {
}
config.punctuation = !config.punctuation;
saveConfigToCookie();
-}
\ No newline at end of file
+}
+
+function previewTheme(name) {
+ $("#currentTheme").attr("href", `themes/${name}.css`);
+}
+
+function setTheme(name) {
+ config.theme = name;
+ $("#currentTheme").attr("href", `themes/${name}.css`);
+}
diff --git a/public/themes/8008.css b/public/themes/8008.css
new file mode 100644
index 000000000..02fa16380
--- /dev/null
+++ b/public/themes/8008.css
@@ -0,0 +1,11 @@
+/* Dark Blue: #3c4756
+Light Blue: #a2aebd
+Pink: #f44c7f */
+
+:root {
+ --main-color: #f44c7f;
+ --sub-color: #a2aebd;
+ --bg-color: #3c4756;
+ --caret-color: #fff;
+ --active-word-color: #a2aebd;
+}
\ No newline at end of file
diff --git a/public/themes/bushido.css b/public/themes/bushido.css
new file mode 100644
index 000000000..737a7d5cc
--- /dev/null
+++ b/public/themes/bushido.css
@@ -0,0 +1,11 @@
+/* yellow #e2b714
+dark #323437
+light #d1d0c5 */
+
+:root {
+ --bg-color: #414755;
+ --main-color: #ec4c56;
+ --caret-color: #ec4c56;
+ --sub-color: #ebeaef;
+ --active-word-color: #ebeaef;
+}
\ No newline at end of file
diff --git a/public/themes/carbon.css b/public/themes/carbon.css
new file mode 100644
index 000000000..57fd88170
--- /dev/null
+++ b/public/themes/carbon.css
@@ -0,0 +1,7 @@
+:root {
+ --main-color: #ed6b21;
+ --sub-color: #e3d9c6;
+ --bg-color: #575d5e;
+ --caret-color: #e3d9c6;
+ --active-word-color: #e3d9c6;
+}
\ No newline at end of file
diff --git a/public/themes/dark.css b/public/themes/dark.css
new file mode 100644
index 000000000..2dd91c0d2
--- /dev/null
+++ b/public/themes/dark.css
@@ -0,0 +1,7 @@
+:root {
+ --main-color: #eee;
+ --sub-color: #444;
+ --bg-color: #111;
+ --caret-color: #fff;
+ --active-word-color: #444;
+}
\ No newline at end of file
diff --git a/public/themes/dots.css b/public/themes/dots.css
new file mode 100644
index 000000000..4c85cc78c
--- /dev/null
+++ b/public/themes/dots.css
@@ -0,0 +1,7 @@
+:root {
+ --main-color: #fff;
+ --sub-color: #7f88ab;
+ --bg-color: #121520;
+ --caret-color: #fff;
+ --active-word-color: #7f88ab;
+}
\ No newline at end of file
diff --git a/public/themes/light.css b/public/themes/light.css
new file mode 100644
index 000000000..2b6fefcf6
--- /dev/null
+++ b/public/themes/light.css
@@ -0,0 +1,7 @@
+:root {
+ --main-color: #111;
+ --sub-color: #ccc;
+ --bg-color: #fff;
+ --caret-color: #111;
+ --active-word-color: #ccc;
+}
\ No newline at end of file
diff --git a/public/themes/list.json b/public/themes/list.json
new file mode 100644
index 000000000..923d7c5d2
--- /dev/null
+++ b/public/themes/list.json
@@ -0,0 +1,11 @@
+[
+ "light",
+ "dark",
+ "8008",
+ "carbon",
+ "dots",
+ "nautilus",
+ "serika",
+ "serika_dark",
+ "bushido"
+]
\ No newline at end of file
diff --git a/public/themes/nautilus.css b/public/themes/nautilus.css
new file mode 100644
index 000000000..62de949c8
--- /dev/null
+++ b/public/themes/nautilus.css
@@ -0,0 +1,7 @@
+:root {
+ --main-color: #eab622;
+ --sub-color: #1db8a8;
+ --bg-color: #20304a;
+ --caret-color: #eab622;
+ --active-word-color: #1db8a8;
+}
\ No newline at end of file
diff --git a/public/themes/serika.css b/public/themes/serika.css
new file mode 100644
index 000000000..55e0df46f
--- /dev/null
+++ b/public/themes/serika.css
@@ -0,0 +1,11 @@
+/* yellow #e2b714
+dark #323437
+light #d1d0c5 */
+
+:root {
+ --bg-color: #e2b714;
+ --main-color: #323437;
+ --caret-color: #323437;
+ --sub-color: #d1d0c5;
+ --active-word-color: #d1d0c5;
+}
\ No newline at end of file
diff --git a/public/themes/serika_dark.css b/public/themes/serika_dark.css
new file mode 100644
index 000000000..ab46392ce
--- /dev/null
+++ b/public/themes/serika_dark.css
@@ -0,0 +1,11 @@
+/* yellow #e2b714
+dark #323437
+light #d1d0c5 */
+
+:root {
+ --bg-color: #323437;
+ --main-color: #e2b714;
+ --caret-color: #e2b714;
+ --sub-color: #d1d0c5;
+ --active-word-color: #d1d0c5;
+}
\ No newline at end of file