word-games-theme 1.3.0 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_data/wordleSolver/en/data.json +2 -2
- data/_data/wordleSolver/en/resultData.json +64 -0
- data/_includes/custom-head.html +6 -1
- data/_includes/head/index.html +1 -1
- data/_includes/script.html +2 -1
- data/_includes/word-game/word-game-play.html +60 -30
- data/_includes/wordle-solver/wordle-solver.html +26 -23
- data/assets/css/game.css +7 -1
- data/assets/css/wordleSolver.css +2 -1
- data/assets/js/game.js +16 -7
- data/assets/js/wordleSolver.js +30 -217
- data/assets/js/wordleSolverResult.js +328 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7cdd9dc7a666e732783cc561d72faf0740ea5748de45dca35e0783f4fe606dea
|
|
4
|
+
data.tar.gz: 470edb3e66e47336adae9dc405e155962f8c7b390649ac8aae1ad5cb018393b1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 725d7089553d14c46bc556e0be395d1d59b7c4220456cdba62ab56ccfe8bbbe913972accca0ae3d53e31a919da5eb9c3e7048122158eb0dd6a3c63452cf9716d
|
|
7
|
+
data.tar.gz: 323d620dfb915a6ddce41efb92e33692a5d3524e0f856140a2bfa4764da5ad09fbd7c3d4a878dc89080044e821682cf564282c5f0f7b59e018c11d071d6b468a
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Solve wordle easily in minimum guesses",
|
|
3
|
+
"h1": "Solve todays wordle by entering letters used so far",
|
|
4
|
+
"h2": "Enters letters in gray, yellow, and green to see potential words",
|
|
5
|
+
"meta": "Input letters in grey, yellow and green, and get list of matching 5 letter words to solve todays wordle in mimimum attempts, and impress your friends",
|
|
6
|
+
"tags": "",
|
|
7
|
+
"categories": "wordle",
|
|
8
|
+
"featureNo": "02",
|
|
9
|
+
"feature_title": "Features",
|
|
10
|
+
"featureList": [
|
|
11
|
+
{
|
|
12
|
+
"feature_heading": "",
|
|
13
|
+
"feature_text": "",
|
|
14
|
+
"fa_class": "../assets/images/star.svg"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"feature_heading": "",
|
|
18
|
+
"feature_text": "",
|
|
19
|
+
"fa_class": "../assets/images/star.svg"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"feature_heading": "",
|
|
23
|
+
"feature_text": "",
|
|
24
|
+
"fa_class": "../assets/images/star.svg"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"feature_heading": "",
|
|
28
|
+
"feature_text": "",
|
|
29
|
+
"fa_class": "../assets/images/star.svg"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"feature_heading": "",
|
|
33
|
+
"feature_text": "",
|
|
34
|
+
"fa_class": "../assets/images/star.svg"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"feature_heading": "",
|
|
38
|
+
"feature_text": "",
|
|
39
|
+
"fa_class": "../assets/images/star.svg"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"HOW_TO_CONTENT": {
|
|
43
|
+
"logoImageUrl": "https://smallpdf.com/build/73d77e3d204fd7defc9de80bf83fcbeb.svg",
|
|
44
|
+
"heading": "How to set alarm for $variable minutes:",
|
|
45
|
+
"steps": [
|
|
46
|
+
"Click on set alarm ",
|
|
47
|
+
"Set $variable minutes for alarm.",
|
|
48
|
+
"Choose sound of your choice.",
|
|
49
|
+
"Click submit to set alarm, that's it !."
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"faqList": [
|
|
53
|
+
{
|
|
54
|
+
"Question": "",
|
|
55
|
+
"Answer": ""
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"jsfilepaths": [
|
|
59
|
+
"/assets/js/wordleSolverResult.js"
|
|
60
|
+
],
|
|
61
|
+
"cssfilepaths": [
|
|
62
|
+
"../assets/css/wordleSolver.css"
|
|
63
|
+
]
|
|
64
|
+
}
|
data/_includes/custom-head.html
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<head>
|
|
2
|
+
{%- assign pagedescriptionlength = page.description | split: ' ' -%}
|
|
3
|
+
{%- if pagedescriptionlength.size > 5 -%}
|
|
4
|
+
{%- assign pagedescriptionlength = page.description | split: ' ' -%}
|
|
5
|
+
{%- assign pagedescription = page.description -%}
|
|
6
|
+
{%- endif -%}
|
|
2
7
|
{% assign favicon = site.favicon %} {%- assign seo_description =
|
|
3
|
-
|
|
8
|
+
pagedescription | default: page.content | markdownify | strip_html |
|
|
4
9
|
truncatewords: 50 | default: page.excerpt | default: site.description -%} {%-
|
|
5
10
|
if seo_description -%} {%- assign seo_description = seo_description |
|
|
6
11
|
markdownify | strip_html | strip_newlines | escape_once -%} {%- endif -%} {%-
|
data/_includes/head/index.html
CHANGED
data/_includes/script.html
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
{{site.data.customcdns.customcdns.jsfiles}}
|
|
9
9
|
{%- if scriptData.jsfilepaths -%}
|
|
10
10
|
{%- for path in scriptData.jsfilepaths -%}
|
|
11
|
-
<script src="{{path}}"
|
|
11
|
+
<script src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}" data-fileName="{{page.fileName}}"
|
|
12
|
+
data-tool="{{page.tool}}" data-permalink="{{page.permalink}}"></script>
|
|
12
13
|
{%- endfor -%}
|
|
13
14
|
{%- endif -%}
|
|
14
15
|
{%- if scriptData.jscdns -%}
|
|
@@ -27,36 +27,66 @@
|
|
|
27
27
|
<span id="errorMsg"></span>
|
|
28
28
|
</div>
|
|
29
29
|
<div class="game-board">
|
|
30
|
-
<input class="tile"
|
|
31
|
-
|
|
32
|
-
<input class="tile"
|
|
33
|
-
|
|
34
|
-
<input class="tile"
|
|
35
|
-
|
|
36
|
-
<input class="tile"
|
|
37
|
-
|
|
38
|
-
<input class="tile"
|
|
39
|
-
|
|
40
|
-
<input class="tile"
|
|
41
|
-
|
|
42
|
-
<input class="tile"
|
|
43
|
-
|
|
44
|
-
<input class="tile"
|
|
45
|
-
|
|
46
|
-
<input class="tile"
|
|
47
|
-
|
|
48
|
-
<input class="tile"
|
|
49
|
-
|
|
50
|
-
<input class="tile"
|
|
51
|
-
|
|
52
|
-
<input class="tile"
|
|
53
|
-
|
|
54
|
-
<input class="tile"
|
|
55
|
-
|
|
56
|
-
<input class="tile"
|
|
57
|
-
|
|
58
|
-
<input class="tile"
|
|
59
|
-
|
|
30
|
+
<input class="tile" maxlength="1"
|
|
31
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
32
|
+
<input class="tile" maxlength="1"
|
|
33
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
34
|
+
<input class="tile" maxlength="1"
|
|
35
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
36
|
+
<input class="tile" maxlength="1"
|
|
37
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
38
|
+
<input class="tile" maxlength="1"
|
|
39
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
40
|
+
<input class="tile" maxlength="1"
|
|
41
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
42
|
+
<input class="tile" maxlength="1"
|
|
43
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
44
|
+
<input class="tile" maxlength="1"
|
|
45
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
46
|
+
<input class="tile" maxlength="1"
|
|
47
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
48
|
+
<input class="tile" maxlength="1"
|
|
49
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
50
|
+
<input class="tile" maxlength="1"
|
|
51
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
52
|
+
<input class="tile" maxlength="1"
|
|
53
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
54
|
+
<input class="tile" maxlength="1"
|
|
55
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
56
|
+
<input class="tile" maxlength="1"
|
|
57
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
58
|
+
<input class="tile" maxlength="1"
|
|
59
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
60
|
+
<input class="tile" maxlength="1"
|
|
61
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
62
|
+
<input class="tile" maxlength="1"
|
|
63
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
64
|
+
<input class="tile" maxlength="1"
|
|
65
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
66
|
+
<input class="tile" maxlength="1"
|
|
67
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
68
|
+
<input class="tile" maxlength="1"
|
|
69
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
70
|
+
<input class="tile" maxlength="1"
|
|
71
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
72
|
+
<input class="tile" maxlength="1"
|
|
73
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
74
|
+
<input class="tile" maxlength="1"
|
|
75
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
76
|
+
<input class="tile" maxlength="1"
|
|
77
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
78
|
+
<input class="tile" maxlength="1"
|
|
79
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
80
|
+
<input class="tile" maxlength="1"
|
|
81
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
82
|
+
<input class="tile" maxlength="1"
|
|
83
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
84
|
+
<input class="tile" maxlength="1"
|
|
85
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
86
|
+
<input class="tile" maxlength="1"
|
|
87
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
88
|
+
<input class="tile" maxlength="1"
|
|
89
|
+
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
|
|
60
90
|
</div>
|
|
61
91
|
|
|
62
92
|
<div data-keyboard class="game-keyboard mt-3">
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
<div class="col-md-10 mx-auto ws">
|
|
4
4
|
<div style="font-size: 15px;" class="alert errMessage" role="alert"></div>
|
|
5
5
|
<form name="verify" class="forms_data">
|
|
6
|
-
|
|
7
6
|
<div class="form-group">
|
|
8
7
|
<label for="greenLetters" class="my-1 p-0 wordleSolver-label">Enter green letters at correct
|
|
9
8
|
position</label>
|
|
@@ -31,19 +30,19 @@
|
|
|
31
30
|
<label for="yellowLetters" class="my-1 p-0 wordleSolver-label">Enter letters in yellow below</label>
|
|
32
31
|
<div class="col-md-6 p-0">
|
|
33
32
|
<div class="d-flex">
|
|
34
|
-
<input type="text" autocomplete="off"
|
|
33
|
+
<input data-id="0" type="text" autocomplete="off"
|
|
35
34
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="six"
|
|
36
35
|
tabIndex="5" onkeyup="move(this,'seven')">
|
|
37
|
-
<input type="text" autocomplete="off"
|
|
36
|
+
<input data-id="1" type="text" autocomplete="off"
|
|
38
37
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="seven"
|
|
39
38
|
tabIndex="6" onkeyup="move(this,'eight')">
|
|
40
|
-
<input type="text" autocomplete="off"
|
|
39
|
+
<input data-id="2" type="text" autocomplete="off"
|
|
41
40
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="eight"
|
|
42
41
|
tabIndex="7" onkeyup="move(this,'nine')">
|
|
43
|
-
<input type="text" autocomplete="off"
|
|
42
|
+
<input data-id="3" type="text" autocomplete="off"
|
|
44
43
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="nine"
|
|
45
44
|
tabIndex="8" onkeyup="move(this,'ten')">
|
|
46
|
-
<input type="text" autocomplete="off"
|
|
45
|
+
<input data-id="4" type="text" autocomplete="off"
|
|
47
46
|
class="wordleSolver-field yellowLetters form-control px-5" maxlength="1" id="ten"
|
|
48
47
|
tabIndex="9" onkeyup="move(this,'eleven')">
|
|
49
48
|
</div>
|
|
@@ -53,31 +52,36 @@
|
|
|
53
52
|
<label for="greyLetters" class="my-1 p-0 wordleSolver-label">Enter letters in grey below</label>
|
|
54
53
|
<div class="col-md-6 p-0 wrapper_div">
|
|
55
54
|
<div class="d-flex">
|
|
56
|
-
<input type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
57
|
-
id="eleven" value="" autocomplete="off" tabIndex="10"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<input type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
63
|
-
id="
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
<input data-id="0" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
56
|
+
maxlength="1" id="eleven" value="" autocomplete="off" tabIndex="10"
|
|
57
|
+
onkeyup="move(this,'twelve')">
|
|
58
|
+
<input data-id="1" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
59
|
+
maxlength="1" id="twelve" value="" autocomplete="off" tabIndex="11"
|
|
60
|
+
onkeyup="move(this,'thirteen')">
|
|
61
|
+
<input data-id="2" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
62
|
+
maxlength="1" id="thirteen" value="" autocomplete="off" tabIndex="12"
|
|
63
|
+
onkeyup="move(this,'fourteen')">
|
|
64
|
+
<input data-id="3" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
65
|
+
maxlength="1" id="fourteen" value="" autocomplete="off" tabIndex="13"
|
|
66
|
+
onkeyup="move(this,'fifteen')">
|
|
67
|
+
<input data-id="4" type="text" class="wordleSolver-field greyLetters form-control px-5"
|
|
68
|
+
maxlength="1" id="fifteen" value="" autocomplete="off" tabIndex="14"
|
|
69
|
+
onkeyup="move(this,'sixteen')">
|
|
66
70
|
</div>
|
|
67
71
|
<div class="d-flex mt-2">
|
|
68
|
-
<input type="text" autocomplete="off" tabIndex="15"
|
|
72
|
+
<input data-id="5" type="text" autocomplete="off" tabIndex="15"
|
|
69
73
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="sixteen"
|
|
70
74
|
onkeyup="move(this,'seventeen')">
|
|
71
|
-
<input type="text" autocomplete="off" tabIndex="16"
|
|
75
|
+
<input data-id="6" type="text" autocomplete="off" tabIndex="16"
|
|
72
76
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="seventeen"
|
|
73
77
|
onkeyup="move(this,'eightteen')">
|
|
74
|
-
<input type="text" autocomplete="off" tabIndex="17"
|
|
78
|
+
<input data-id="7" type="text" autocomplete="off" tabIndex="17"
|
|
75
79
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="eightteen"
|
|
76
80
|
onkeyup="move(this,'nineteen')">
|
|
77
|
-
<input type="text" autocomplete="off" tabIndex="18"
|
|
81
|
+
<input data-id="8" type="text" autocomplete="off" tabIndex="18"
|
|
78
82
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="nineteen"
|
|
79
83
|
onkeyup="move(this,'twenty')">
|
|
80
|
-
<input type="text" autocomplete="off" tabIndex="19"
|
|
84
|
+
<input data-id="9" type="text" autocomplete="off" tabIndex="19"
|
|
81
85
|
class="wordleSolver-field greyLetters form-control px-5" maxlength="1" id="twenty"
|
|
82
86
|
onkeyup="move(this,'eleven')">
|
|
83
87
|
</div>
|
|
@@ -142,5 +146,4 @@
|
|
|
142
146
|
document.getElementById(last).focus()
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
|
-
</script>
|
|
146
|
-
<script defer src="/assets/js/wordleSolver.js"></script>
|
|
149
|
+
</script>
|
data/assets/css/game.css
CHANGED
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
justify-content: center;
|
|
101
101
|
}
|
|
102
102
|
.game .game-container .game-board .tile{
|
|
103
|
-
|
|
103
|
+
|
|
104
104
|
display: flex;
|
|
105
105
|
justify-content: center;
|
|
106
106
|
align-items: center;
|
|
@@ -117,6 +117,8 @@
|
|
|
117
117
|
text-transform: uppercase;
|
|
118
118
|
transition: transform 240ms linear;
|
|
119
119
|
}
|
|
120
|
+
|
|
121
|
+
|
|
120
122
|
.game .game-container .game-board .tile:focus-visible{
|
|
121
123
|
outline: none !important;
|
|
122
124
|
}
|
|
@@ -399,6 +401,10 @@
|
|
|
399
401
|
border-color: #666;
|
|
400
402
|
}
|
|
401
403
|
@media (max-width: 768px) {
|
|
404
|
+
.tile{
|
|
405
|
+
caret-color: transparent;
|
|
406
|
+
cursor: default;
|
|
407
|
+
}
|
|
402
408
|
#create-wordle-form{
|
|
403
409
|
padding:0 10px;
|
|
404
410
|
}
|
data/assets/css/wordleSolver.css
CHANGED
|
@@ -138,13 +138,14 @@
|
|
|
138
138
|
color:#fff !important
|
|
139
139
|
}
|
|
140
140
|
.createWordleLink{
|
|
141
|
+
text-decoration: underline;
|
|
141
142
|
text-align: center;
|
|
142
143
|
display: block;
|
|
143
144
|
box-shadow: 0 0 1px rgb(0 0 0 / 10%);
|
|
144
145
|
border: none;
|
|
145
146
|
padding: 10px 15px;
|
|
146
147
|
width: 320px;
|
|
147
|
-
background: #
|
|
148
|
+
background: #345234;
|
|
148
149
|
border-radius: 20px;
|
|
149
150
|
font-size: 15px;
|
|
150
151
|
margin-bottom: 2rem;
|
data/assets/js/game.js
CHANGED
|
@@ -34,12 +34,14 @@ let wordleRunningTimer = document.querySelector("#wordle-running-timer")
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
let tile = document.querySelector('.tile')
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
event.preventDefault();
|
|
41
|
-
}
|
|
37
|
+
let x = window.matchMedia("(min-width: 768px)")
|
|
38
|
+
if (x.matches) {
|
|
39
|
+
tile.focus()
|
|
42
40
|
}
|
|
41
|
+
// function limitKeypress(event, maxLength) {
|
|
42
|
+
// event.target.value = event.target.value.replace(/[^a-zA-Z? ]/g, '')
|
|
43
|
+
// event.target.value = event.target.value.substring(0, maxLength)
|
|
44
|
+
// }
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
let second = 0
|
|
@@ -141,7 +143,11 @@ const pressKey = (key) => {
|
|
|
141
143
|
nextTile.dataset.state = "active"
|
|
142
144
|
nextTile.classList.add("popAni")
|
|
143
145
|
nextTile.value = key
|
|
144
|
-
|
|
146
|
+
let x = window.matchMedia("(min-width: 768px)")
|
|
147
|
+
if (x.matches) {
|
|
148
|
+
nextTile.focus()
|
|
149
|
+
}
|
|
150
|
+
|
|
145
151
|
nextTile.style.border = "2px solid #a7adc0"
|
|
146
152
|
}
|
|
147
153
|
const deleteKey = () => {
|
|
@@ -149,7 +155,10 @@ const deleteKey = () => {
|
|
|
149
155
|
const lastTile = activeTiles[activeTiles.length - 1]
|
|
150
156
|
if (lastTile == null) return
|
|
151
157
|
lastTile.value = ""
|
|
152
|
-
|
|
158
|
+
let x = window.matchMedia("(min-width: 768px)")
|
|
159
|
+
if (x.matches) {
|
|
160
|
+
lastTile.focus()
|
|
161
|
+
}
|
|
153
162
|
delete lastTile.dataset.state
|
|
154
163
|
delete lastTile.dataset.letter
|
|
155
164
|
lastTile.style.border = "2px solid #dee1e9"
|
data/assets/js/wordleSolver.js
CHANGED
|
@@ -1,131 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
let getScript = document.currentScript
|
|
2
|
+
let fileName = getScript.dataset.filename
|
|
3
|
+
let permalink = getScript.dataset.permalink
|
|
3
4
|
let form = document.querySelector('[name=verify')
|
|
4
|
-
|
|
5
5
|
let greenLetters = document.querySelectorAll('.greenLetters')
|
|
6
6
|
let yellowLetters = document.querySelectorAll('.yellowLetters')
|
|
7
7
|
let greyLetters = document.querySelectorAll('.greyLetters')
|
|
8
|
-
let wordleSolverData = document.getElementById('wordleSolverData')
|
|
9
8
|
greenLetters[0].focus()
|
|
10
|
-
let wordleWordCount = document.querySelector('#wordleWordCount')
|
|
11
|
-
let wordleSolvererrorMsg = document.querySelector('#wordleSolvererrorMsg')
|
|
12
|
-
let wordlesolver_submit = document.getElementById('wordlesolver_submit')
|
|
13
|
-
let newWordsLength = 0
|
|
14
|
-
|
|
15
|
-
let errMessage = document.querySelector('.errMessage')
|
|
16
|
-
let wrapper_div = document.querySelector('.wrapper_div')
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// let addMore = document.querySelector('#addMore')
|
|
21
|
-
|
|
22
|
-
// addMore.addEventListener('click', (e) => {
|
|
23
|
-
// e.preventDefault()
|
|
24
|
-
// let div = document.createElement('div')
|
|
25
|
-
// div.classList.add('d-flex')
|
|
26
|
-
// div.classList.add('mt-2')
|
|
27
|
-
|
|
28
|
-
// for (let i = 20; i <= 24; i++) {
|
|
29
|
-
// let input = document.createElement('input')
|
|
30
|
-
// input.type = 'text'
|
|
31
|
-
// input.setAttribute('maxlength', '1')
|
|
32
|
-
// input.setAttribute('autocomplete', 'off')
|
|
33
|
-
// if (i <= 24) {
|
|
34
|
-
// input.setAttribute('tabIndex', i)
|
|
35
|
-
// }
|
|
36
|
-
// let classes = ['wordleSolver-field', 'greyLetters', 'form-control', 'px-5']
|
|
37
|
-
// input.classList.add(...classes)
|
|
38
|
-
// input.id = 'greyLetters'
|
|
39
|
-
// div.append(input)
|
|
40
|
-
// wrapper_div.append(div)
|
|
41
|
-
// }
|
|
42
|
-
// })
|
|
43
|
-
|
|
44
|
-
let spinner = document.querySelector('.spinner')
|
|
45
|
-
const wordleSolver = async (value, value2, value3, greenWithIndex) => {
|
|
46
|
-
try {
|
|
47
|
-
let result = ''
|
|
48
|
-
document.querySelector('#updateTxt').innerHTML = ''
|
|
49
|
-
spinner.classList.add('spinner-border')
|
|
50
|
-
wordleWordCount.innerHTML = 'Searching for best possible letters...'
|
|
51
|
-
let response = await fetch('/.netlify/functions/wordleSolver', {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
body: JSON.stringify({
|
|
54
|
-
greenLetters: value,
|
|
55
|
-
yellowLetters: value2,
|
|
56
|
-
greyLetters: value3,
|
|
57
|
-
greenWithIndex: greenWithIndex,
|
|
58
|
-
}),
|
|
59
|
-
})
|
|
60
|
-
let data = await response.json()
|
|
61
|
-
data = data.slice(0, 1000)
|
|
62
|
-
document.querySelector('#updateTxt').innerHTML = 'Solve'
|
|
63
|
-
spinner.classList.remove('spinner-border')
|
|
64
|
-
|
|
65
|
-
let ok = true
|
|
66
|
-
if (data.length === 0) {
|
|
67
|
-
newWordsLength = ''
|
|
68
|
-
wordleSolverData.innerHTML = ''
|
|
69
|
-
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
70
|
-
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
71
|
-
wordleWordCount.style.display = 'none'
|
|
72
|
-
// console.log(wordleWordCount)
|
|
73
|
-
} else {
|
|
74
|
-
wordleWordCount.style.display = 'block'
|
|
75
|
-
wordleSolverData.innerHTML = ''
|
|
76
|
-
wordleSolvererrorMsg.classList.remove('alert-danger')
|
|
77
|
-
wordleSolvererrorMsg.innerHTML = ''
|
|
78
|
-
newWordsLength = ''
|
|
79
|
-
newWordsLength += data.length
|
|
80
|
-
result = data.map((item) => {
|
|
81
|
-
if (item.length === 1) {
|
|
82
|
-
ok = false
|
|
83
|
-
newWordsLength = newWordsLength - 1
|
|
84
|
-
} else {
|
|
85
|
-
// console.log(newWordsLength);
|
|
86
|
-
let ScrabbleLetterScore = ScrabbleScore()
|
|
87
|
-
sum = 0
|
|
88
|
-
item = item.toLowerCase()
|
|
89
|
-
for (let i = 0; i < item.length; i++) {
|
|
90
|
-
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
91
|
-
}
|
|
92
|
-
return `
|
|
93
|
-
<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
94
|
-
<li>
|
|
95
|
-
${item.toLowerCase()}
|
|
96
|
-
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
97
|
-
</li>
|
|
98
|
-
</a>
|
|
99
|
-
`
|
|
100
|
-
}
|
|
101
|
-
})
|
|
102
|
-
if (ok) {
|
|
103
|
-
wordleSolverData.innerHTML += `
|
|
104
|
-
<div class="allfiveletterswords wordlistContainer">
|
|
105
|
-
<div class="wordListHeading">
|
|
106
|
-
<h3 class="lead">Solve wordle with these words</h3>
|
|
107
|
-
</div>
|
|
108
|
-
<div class="wordList">
|
|
109
|
-
<ul class="ul list-unstyled">
|
|
110
|
-
${result.join('')}
|
|
111
|
-
</ul>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
`
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (newWordsLength === 0) {
|
|
119
|
-
console.log(true)
|
|
120
|
-
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
121
|
-
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
122
|
-
} else {
|
|
123
|
-
wordleWordCount.innerHTML = `<strong>Found <span style="color:#20a815">${newWordsLength}</span> matching words for wordle</strong>`
|
|
124
|
-
}
|
|
125
|
-
} catch (error) {
|
|
126
|
-
console.log(error)
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
9
|
|
|
130
10
|
for (let g = 0; g < greenLetters.length; g++) {
|
|
131
11
|
const elem = greenLetters[g]
|
|
@@ -161,101 +41,34 @@ for (let e = 0; e < greyLetters.length; e++) {
|
|
|
161
41
|
})
|
|
162
42
|
}
|
|
163
43
|
|
|
164
|
-
const getLetters = (object) => {
|
|
165
|
-
let letters = []
|
|
166
|
-
if (typeof object === 'string') {
|
|
167
|
-
object = document.querySelectorAll(object)
|
|
168
|
-
}
|
|
169
|
-
for (let item of object) {
|
|
170
|
-
if (item.value.trim().length === 1) {
|
|
171
|
-
letters.push(item.value.toLowerCase())
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return letters
|
|
175
|
-
}
|
|
176
|
-
const getIndexs = (object) => {
|
|
177
|
-
let index = []
|
|
178
|
-
if (typeof object === 'string') {
|
|
179
|
-
object = document.querySelectorAll(object)
|
|
180
|
-
}
|
|
181
|
-
for (let item of object) {
|
|
182
|
-
if (item.value.trim().length === 1) {
|
|
183
|
-
index.push({
|
|
184
|
-
value: item.value.toLowerCase(),
|
|
185
|
-
index: item.dataset.id,
|
|
186
|
-
})
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
return index
|
|
190
|
-
}
|
|
191
|
-
|
|
192
44
|
function handleSubmit(e) {
|
|
193
|
-
document.querySelector(".refineSerach").style.display = "block"
|
|
194
45
|
e.preventDefault()
|
|
46
|
+
let corretLettterArray = []
|
|
47
|
+
Array.from(greenLetters).map((item) => {
|
|
48
|
+
if (!item.value) {
|
|
49
|
+
corretLettterArray.push(item.value.replace("", "_"))
|
|
50
|
+
} else {
|
|
51
|
+
corretLettterArray.push(item.value)
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
let includesLettterArray = []
|
|
55
|
+
Array.from(yellowLetters).map((item) => {
|
|
56
|
+
if (!item.value) {
|
|
57
|
+
includesLettterArray.push(item.value.replace("", "_"))
|
|
58
|
+
} else {
|
|
59
|
+
includesLettterArray.push(item.value)
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
let exculdesLettterArray = []
|
|
63
|
+
Array.from(greyLetters).map((item) => {
|
|
64
|
+
if (!item.value) {
|
|
65
|
+
exculdesLettterArray.push(item.value.replace("", "_"))
|
|
66
|
+
} else {
|
|
67
|
+
exculdesLettterArray.push(item.value)
|
|
68
|
+
}
|
|
69
|
+
})
|
|
195
70
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
200
|
-
|
|
201
|
-
let greenLetter = getLetters('.greenLetters')
|
|
202
|
-
let yellowLetters = getLetters('.yellowLetters')
|
|
203
|
-
let greyLetters = getLetters('.greyLetters')
|
|
204
|
-
let greenWithIndex = getIndexs('.greenWithIndex')
|
|
205
|
-
|
|
206
|
-
// if (
|
|
207
|
-
// greenLetters[0].value !== '' ||
|
|
208
|
-
// greenLetters[1].value !== '' ||
|
|
209
|
-
// greenLetters[2].value !== '' ||
|
|
210
|
-
// greenLetters[3].value !== '' ||
|
|
211
|
-
// greenLetters[4].value !== ''
|
|
212
|
-
// ) {
|
|
213
|
-
// errMessage.innerHTML = ''
|
|
214
|
-
// errMessage.classList.remove('alert-danger')
|
|
215
|
-
// errMessage.style.display = 'none'
|
|
216
|
-
wordleSolver(greenLetter, yellowLetters, greyLetters, greenWithIndex)
|
|
217
|
-
// } else {
|
|
218
|
-
// errMessage.innerHTML = 'You must enter at least 1 green letter'
|
|
219
|
-
// errMessage.classList.add('alert-danger')
|
|
220
|
-
// errMessage.style.display = 'block'
|
|
221
|
-
// }
|
|
222
|
-
}
|
|
223
|
-
document.querySelector(".refineSerach").addEventListener("click", () => {
|
|
224
|
-
const scrollingElement = (document.scrollingElement || document.body);
|
|
225
|
-
|
|
226
|
-
scrollingElement.scroll({ top: 0, behavior: 'smooth' });
|
|
227
|
-
})
|
|
228
|
-
form.addEventListener('submit', handleSubmit)
|
|
229
|
-
|
|
230
|
-
// Scrabble Point Array
|
|
231
|
-
const ScrabbleScore = () => {
|
|
232
|
-
let twl06_sowpods = {
|
|
233
|
-
a: 1,
|
|
234
|
-
e: 1,
|
|
235
|
-
i: 1,
|
|
236
|
-
o: 1,
|
|
237
|
-
u: 1,
|
|
238
|
-
l: 1,
|
|
239
|
-
n: 1,
|
|
240
|
-
r: 1,
|
|
241
|
-
s: 1,
|
|
242
|
-
t: 1,
|
|
243
|
-
d: 2,
|
|
244
|
-
g: 2,
|
|
245
|
-
b: 3,
|
|
246
|
-
c: 3,
|
|
247
|
-
m: 3,
|
|
248
|
-
p: 3,
|
|
249
|
-
f: 4,
|
|
250
|
-
h: 4,
|
|
251
|
-
v: 4,
|
|
252
|
-
w: 4,
|
|
253
|
-
y: 4,
|
|
254
|
-
k: 5,
|
|
255
|
-
j: 8,
|
|
256
|
-
x: 8,
|
|
257
|
-
q: 10,
|
|
258
|
-
z: 10,
|
|
259
|
-
}
|
|
260
|
-
return twl06_sowpods
|
|
71
|
+
window.location = `/${permalink}/result` + '?' + "correct" + "=" + corretLettterArray.join("")
|
|
72
|
+
+ '&includes' + '=' + includesLettterArray.join("") + "&excludes" + '=' + exculdesLettterArray.join("")
|
|
261
73
|
}
|
|
74
|
+
form.addEventListener('submit', handleSubmit)
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
let form = document.querySelector('[name=verify')
|
|
2
|
+
|
|
3
|
+
let greenLetters = document.querySelectorAll('.greenLetters')
|
|
4
|
+
let yellowLetters = document.querySelectorAll('.yellowLetters')
|
|
5
|
+
let greyLetters = document.querySelectorAll('.greyLetters')
|
|
6
|
+
let wordleSolverData = document.getElementById('wordleSolverData')
|
|
7
|
+
greenLetters[0].focus()
|
|
8
|
+
let wordleWordCount = document.querySelector('#wordleWordCount')
|
|
9
|
+
let wordleSolvererrorMsg = document.querySelector('#wordleSolvererrorMsg')
|
|
10
|
+
let wordlesolver_submit = document.getElementById('wordlesolver_submit')
|
|
11
|
+
let newWordsLength = 0
|
|
12
|
+
|
|
13
|
+
let errMessage = document.querySelector('.errMessage')
|
|
14
|
+
let wrapper_div = document.querySelector('.wrapper_div')
|
|
15
|
+
|
|
16
|
+
const params = new URLSearchParams(window.location.search)
|
|
17
|
+
let correct = params.get('correct')
|
|
18
|
+
let includes = params.get('includes')
|
|
19
|
+
let excludes = params.get('excludes')
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
// let addMore = document.querySelector('#addMore')
|
|
23
|
+
|
|
24
|
+
// addMore.addEventListener('click', (e) => {
|
|
25
|
+
// e.preventDefault()
|
|
26
|
+
// let div = document.createElement('div')
|
|
27
|
+
// div.classList.add('d-flex')
|
|
28
|
+
// div.classList.add('mt-2')
|
|
29
|
+
|
|
30
|
+
// for (let i = 20; i <= 24; i++) {
|
|
31
|
+
// let input = document.createElement('input')
|
|
32
|
+
// input.type = 'text'
|
|
33
|
+
// input.setAttribute('maxlength', '1')
|
|
34
|
+
// input.setAttribute('autocomplete', 'off')
|
|
35
|
+
// if (i <= 24) {
|
|
36
|
+
// input.setAttribute('tabIndex', i)
|
|
37
|
+
// }
|
|
38
|
+
// let classes = ['wordleSolver-field', 'greyLetters', 'form-control', 'px-5']
|
|
39
|
+
// input.classList.add(...classes)
|
|
40
|
+
// input.id = 'greyLetters'
|
|
41
|
+
// div.append(input)
|
|
42
|
+
// wrapper_div.append(div)
|
|
43
|
+
// }
|
|
44
|
+
// })
|
|
45
|
+
|
|
46
|
+
let spinner = document.querySelector('.spinner')
|
|
47
|
+
const wordleSolver = async (value, value2, value3, greenWithIndex) => {
|
|
48
|
+
try {
|
|
49
|
+
let result = ''
|
|
50
|
+
document.querySelector('#updateTxt').innerHTML = ''
|
|
51
|
+
spinner.classList.add('spinner-border')
|
|
52
|
+
wordleWordCount.innerHTML = 'Searching for best possible letters...'
|
|
53
|
+
let response = await fetch('/.netlify/functions/wordleSolver', {
|
|
54
|
+
method: 'POST',
|
|
55
|
+
body: JSON.stringify({
|
|
56
|
+
greenLetters: value,
|
|
57
|
+
yellowLetters: value2,
|
|
58
|
+
greyLetters: value3,
|
|
59
|
+
greenWithIndex: greenWithIndex,
|
|
60
|
+
}),
|
|
61
|
+
})
|
|
62
|
+
let data = await response.json()
|
|
63
|
+
data = data.slice(0, 1000)
|
|
64
|
+
document.querySelector('#updateTxt').innerHTML = 'Solve'
|
|
65
|
+
spinner.classList.remove('spinner-border')
|
|
66
|
+
|
|
67
|
+
let ok = true
|
|
68
|
+
if (data.length === 0) {
|
|
69
|
+
newWordsLength = ''
|
|
70
|
+
wordleSolverData.innerHTML = ''
|
|
71
|
+
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
72
|
+
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
73
|
+
wordleWordCount.style.display = 'none'
|
|
74
|
+
// console.log(wordleWordCount)
|
|
75
|
+
} else {
|
|
76
|
+
wordleWordCount.style.display = 'block'
|
|
77
|
+
wordleSolverData.innerHTML = ''
|
|
78
|
+
wordleSolvererrorMsg.classList.remove('alert-danger')
|
|
79
|
+
wordleSolvererrorMsg.innerHTML = ''
|
|
80
|
+
newWordsLength = ''
|
|
81
|
+
newWordsLength += data.length
|
|
82
|
+
result = data.map((item) => {
|
|
83
|
+
if (item.length === 1) {
|
|
84
|
+
ok = false
|
|
85
|
+
newWordsLength = newWordsLength - 1
|
|
86
|
+
} else {
|
|
87
|
+
// console.log(newWordsLength);
|
|
88
|
+
let ScrabbleLetterScore = ScrabbleScore()
|
|
89
|
+
sum = 0
|
|
90
|
+
item = item.toLowerCase()
|
|
91
|
+
for (let i = 0; i < item.length; i++) {
|
|
92
|
+
sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
|
|
93
|
+
}
|
|
94
|
+
return `
|
|
95
|
+
<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
|
|
96
|
+
<li>
|
|
97
|
+
${item.toLowerCase()}
|
|
98
|
+
<span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
|
|
99
|
+
</li>
|
|
100
|
+
</a>
|
|
101
|
+
`
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
if (ok) {
|
|
105
|
+
wordleSolverData.innerHTML += `
|
|
106
|
+
<div class="allfiveletterswords wordlistContainer">
|
|
107
|
+
<div class="wordListHeading">
|
|
108
|
+
<h3 class="lead">Solve wordle with these words</h3>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="wordList">
|
|
111
|
+
<ul class="ul list-unstyled">
|
|
112
|
+
${result.join('')}
|
|
113
|
+
</ul>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
`
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (newWordsLength === 0) {
|
|
121
|
+
console.log(true)
|
|
122
|
+
wordleSolvererrorMsg.classList.add('alert-danger')
|
|
123
|
+
wordleSolvererrorMsg.innerHTML = 'Sorry!! No words found'
|
|
124
|
+
} else {
|
|
125
|
+
wordleWordCount.innerHTML = `<strong>Found <span style="color:#20a815">${newWordsLength}</span> matching words for wordle</strong>`
|
|
126
|
+
}
|
|
127
|
+
} catch (error) {
|
|
128
|
+
console.log(error)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
for (let g = 0; g < greenLetters.length; g++) {
|
|
133
|
+
const elem = greenLetters[g]
|
|
134
|
+
let values = correct.split("")
|
|
135
|
+
values.map((item, index) => {
|
|
136
|
+
if (Number(elem.dataset.id) === index) {
|
|
137
|
+
elem.value = item.replace("_", "")
|
|
138
|
+
if (elem.value != "") {
|
|
139
|
+
elem.classList.add('ws-fcs')
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
elem.addEventListener('input', (e) => {
|
|
144
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
145
|
+
if (e.target.value) {
|
|
146
|
+
e.target.classList.add('ws-fcs')
|
|
147
|
+
} else {
|
|
148
|
+
e.target.classList.remove('ws-fcs')
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
}
|
|
152
|
+
for (let y = 0; y < yellowLetters.length; y++) {
|
|
153
|
+
const elem = yellowLetters[y]
|
|
154
|
+
let values = includes.split("")
|
|
155
|
+
values.map((item, index) => {
|
|
156
|
+
if (Number(elem.dataset.id) === index) {
|
|
157
|
+
elem.value = item.replace("_", "")
|
|
158
|
+
if (elem.value != "") {
|
|
159
|
+
elem.classList.add('ws-fcs2')
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
elem.addEventListener('input', (e) => {
|
|
164
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
165
|
+
if (e.target.value) {
|
|
166
|
+
e.target.classList.add('ws-fcs2')
|
|
167
|
+
} else {
|
|
168
|
+
e.target.classList.remove('ws-fcs2')
|
|
169
|
+
}
|
|
170
|
+
})
|
|
171
|
+
}
|
|
172
|
+
for (let e = 0; e < greyLetters.length; e++) {
|
|
173
|
+
const elem = greyLetters[e]
|
|
174
|
+
let values = excludes.split("")
|
|
175
|
+
values.map((item, index) => {
|
|
176
|
+
if (Number(elem.dataset.id) === index) {
|
|
177
|
+
elem.value = item.replace("_", "")
|
|
178
|
+
if (elem.value != "") {
|
|
179
|
+
elem.classList.add('ws-fcs3')
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
elem.addEventListener('input', (e) => {
|
|
185
|
+
e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, "")
|
|
186
|
+
if (e.target.value) {
|
|
187
|
+
e.target.classList.add('ws-fcs3')
|
|
188
|
+
} else {
|
|
189
|
+
e.target.classList.remove('ws-fcs3')
|
|
190
|
+
}
|
|
191
|
+
})
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const getLetters = (object) => {
|
|
195
|
+
let letters = []
|
|
196
|
+
if (typeof object === 'string') {
|
|
197
|
+
object = document.querySelectorAll(object)
|
|
198
|
+
}
|
|
199
|
+
for (let item of object) {
|
|
200
|
+
if (item.value.trim().length === 1) {
|
|
201
|
+
letters.push(item.value.toLowerCase())
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return letters
|
|
205
|
+
}
|
|
206
|
+
const getIndexs = (object) => {
|
|
207
|
+
let index = []
|
|
208
|
+
if (typeof object === 'string') {
|
|
209
|
+
object = document.querySelectorAll(object)
|
|
210
|
+
}
|
|
211
|
+
for (let item of object) {
|
|
212
|
+
if (item.value.trim().length === 1) {
|
|
213
|
+
index.push({
|
|
214
|
+
value: item.value.toLowerCase(),
|
|
215
|
+
index: item.dataset.id,
|
|
216
|
+
})
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return index
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
function handleSubmit(e) {
|
|
224
|
+
e.preventDefault()
|
|
225
|
+
document.querySelector(".refineSerach").style.display = "block"
|
|
226
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
227
|
+
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
228
|
+
|
|
229
|
+
let greenWithIndex = getIndexs('.greenWithIndex')
|
|
230
|
+
|
|
231
|
+
let corretLettterArray = []
|
|
232
|
+
let getGreenLetters = []
|
|
233
|
+
Array.from(greenLetters).map((item) => {
|
|
234
|
+
if (!item.value) {
|
|
235
|
+
corretLettterArray.push(item.value.replace("", "_"))
|
|
236
|
+
} else {
|
|
237
|
+
getGreenLetters.push(item.value)
|
|
238
|
+
corretLettterArray.push(item.value)
|
|
239
|
+
}
|
|
240
|
+
})
|
|
241
|
+
let includesLettersArray = []
|
|
242
|
+
let getYellowLetters = []
|
|
243
|
+
Array.from(yellowLetters).map((item) => {
|
|
244
|
+
if (!item.value) {
|
|
245
|
+
console.log(item.value)
|
|
246
|
+
includesLettersArray.push(item.value.replace("", "_"))
|
|
247
|
+
} else {
|
|
248
|
+
getYellowLetters.push(item.value)
|
|
249
|
+
includesLettersArray.push(item.value)
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
let excludesLettersArray = []
|
|
253
|
+
let getGreyLetters = []
|
|
254
|
+
Array.from(greyLetters).map((item) => {
|
|
255
|
+
if (!item.value) {
|
|
256
|
+
excludesLettersArray.push(item.value.replace("", "_"))
|
|
257
|
+
} else {
|
|
258
|
+
getGreyLetters.push(item.value)
|
|
259
|
+
excludesLettersArray.push(item.value)
|
|
260
|
+
}
|
|
261
|
+
})
|
|
262
|
+
|
|
263
|
+
if (history.pushState) {
|
|
264
|
+
var newurl = window.location.protocol + "//" + window.location.host +
|
|
265
|
+
window.location.pathname + '?' + "correct" + "=" + corretLettterArray.join("")
|
|
266
|
+
+ '&includes' + '=' + includesLettersArray.join("") + "&excludes" + '=' + excludesLettersArray.join("")
|
|
267
|
+
window.history.pushState({ path: newurl }, '', newurl);
|
|
268
|
+
|
|
269
|
+
const params = new URLSearchParams(window.location.search)
|
|
270
|
+
let correct = params.get('correct')
|
|
271
|
+
let includes = params.get('includes')
|
|
272
|
+
let excludes = params.get('excludes')
|
|
273
|
+
|
|
274
|
+
gtag('event', 'page_view', {
|
|
275
|
+
page_location: window.location.pathname + location.search,
|
|
276
|
+
})
|
|
277
|
+
}
|
|
278
|
+
wordleSolver(getGreenLetters, getYellowLetters, getGreyLetters, greenWithIndex)
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
if (correct === "" && includes === "" && excludes === "") {
|
|
283
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
284
|
+
scrollingElement.scroll({ top: 515, behavior: 'smooth' });
|
|
285
|
+
wordleSolver("", "", "", "")
|
|
286
|
+
} else {
|
|
287
|
+
window.onload = function (e) {
|
|
288
|
+
handleSubmit(e);
|
|
289
|
+
};
|
|
290
|
+
form.addEventListener('submit', handleSubmit)
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
document.querySelector(".refineSerach").addEventListener("click", () => {
|
|
294
|
+
const scrollingElement = (document.scrollingElement || document.body);
|
|
295
|
+
scrollingElement.scroll({ top: 0, behavior: 'smooth' });
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
const ScrabbleScore = () => {
|
|
299
|
+
let twl06_sowpods = {
|
|
300
|
+
a: 1,
|
|
301
|
+
e: 1,
|
|
302
|
+
i: 1,
|
|
303
|
+
o: 1,
|
|
304
|
+
u: 1,
|
|
305
|
+
l: 1,
|
|
306
|
+
n: 1,
|
|
307
|
+
r: 1,
|
|
308
|
+
s: 1,
|
|
309
|
+
t: 1,
|
|
310
|
+
d: 2,
|
|
311
|
+
g: 2,
|
|
312
|
+
b: 3,
|
|
313
|
+
c: 3,
|
|
314
|
+
m: 3,
|
|
315
|
+
p: 3,
|
|
316
|
+
f: 4,
|
|
317
|
+
h: 4,
|
|
318
|
+
v: 4,
|
|
319
|
+
w: 4,
|
|
320
|
+
y: 4,
|
|
321
|
+
k: 5,
|
|
322
|
+
j: 8,
|
|
323
|
+
x: 8,
|
|
324
|
+
q: 10,
|
|
325
|
+
z: 10,
|
|
326
|
+
}
|
|
327
|
+
return twl06_sowpods
|
|
328
|
+
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: word-games-theme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- manpreet-appscms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-06-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -128,6 +128,7 @@ files:
|
|
|
128
128
|
- _data/wordgames/zh-TW/four_letter_word_finder.json
|
|
129
129
|
- _data/wordgames/zh/four_letter_word_finder.json
|
|
130
130
|
- _data/wordleSolver/en/data.json
|
|
131
|
+
- _data/wordleSolver/en/resultData.json
|
|
131
132
|
- _data/xyzPagesData/en/unscramble-letters-jumble.json
|
|
132
133
|
- _data/xyzPagesData/en/words-with-letters-cheat.json
|
|
133
134
|
- _includes/Monumetric/Monumetric.html
|
|
@@ -294,6 +295,7 @@ files:
|
|
|
294
295
|
- assets/js/wordScrabble-test.js
|
|
295
296
|
- assets/js/wordScrabble.js
|
|
296
297
|
- assets/js/wordleSolver.js
|
|
298
|
+
- assets/js/wordleSolverResult.js
|
|
297
299
|
- assets/js/words-in-certain-positions.js
|
|
298
300
|
- assets/js/words-starting-with.js
|
|
299
301
|
- assets/js/xyz.js
|