word-games-theme 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3e7da9f23818fbc5d4a90779612cc185cef74d2fddeea995ac9c1e4c9e89cd8
4
- data.tar.gz: ca7708c8f79bcc67646a9a16df48149011f2c5a0b694fc50e48c89eec5a585c1
3
+ metadata.gz: 024671d37804d60cd3d9383a57668db0a71f0e9436d948d09f54fead1c1db21c
4
+ data.tar.gz: 145f84998e92c34216142461250c96ea759c9c695f4a635c719c684d9ebde945
5
5
  SHA512:
6
- metadata.gz: 2804ed8fef6bec564b9f27fb860a373505e9529bd565bb53cb1c13ed0491d65a05c9f74dfa55deeaf11dc0b79d11c0dd771a376361d076c0a8b768af10b5061c
7
- data.tar.gz: cce7fa6616cc18e3f4ce13e7a67a53410ee7d26bc35d6a9ad2a71d5e3c5d359960ba6923ad888998cc70fedeb1e9e14468b779a4b9e3670a216e466e89dfd0aa
6
+ metadata.gz: 626a0ab1c711de046c2b436d9085a41f884ad6ca0bd16b45239d505e773b3f9aaed0341a84d7dda3eb7954a633769898ea776b92551bc042dd2527ee7005294c
7
+ data.tar.gz: 73a9819289f6caaa849d0d5013abf7575f9007e8291b54aff7681bf445a19cdf9f93a46c3cb3543e168916f0ccdd584b77d5ee5fa829018a4ea8a193f08711e1
@@ -363,6 +363,29 @@
363
363
  }
364
364
  ]
365
365
  ],
366
+ "infographics": [
367
+ {
368
+ "image": "/assets/images/1.png",
369
+ "description": "How to set alarm on wake me up at 4:45 am tool"
370
+ },
371
+ {
372
+ "image": "/assets/images/2.png",
373
+ "description": "5 benefits of using wake me up at 4:45 am tool"
374
+ },
375
+ {
376
+ "image": "/assets/images/3.png",
377
+ "description": "Additional features of wake me up at 4:45 am tool"
378
+ },
379
+ {
380
+ "image": "/assets/images/3.png",
381
+ "description": "Additional features of wake me up at 4:45 am tool"
382
+ },
383
+ {
384
+ "image": "/assets/images/3.png",
385
+ "description": "Additional features of wake me up at 4:45 am tool"
386
+ }
387
+
388
+ ],
366
389
  "featureList": [
367
390
  {
368
391
  "feature_heading": "Free to use",
@@ -1,342 +1,221 @@
1
- <!-- <style>
2
- /* Reset default browser styles */
3
-
4
- .infographic {
5
- display: flex;
6
- justify-content: space-between;
7
- align-items: center;
8
- margin: 50px auto;
9
- max-width: 800px;
10
- }
11
- .infographic-item {
12
- flex-basis: 30%;
13
- text-align: center;
14
- /* background-color: #404040; */
15
- /* border-radius: 10px; */
16
- /* padding: 30px; */
17
- }
18
-
19
- .infographic-item img {
20
- max-width: 100%;
21
- height: auto;
22
- border-radius: 8px;
23
- margin-bottom: 10px;
24
- box-shadow: 15px 15px 40px rgba(0, 0, 0, 50%);
25
- }
26
-
27
- .infographic-item h3 {
28
- font-size: 20px;
29
- margin-bottom: 10px;
30
- color: #fff;
31
- }
32
-
33
- .infographic-item p {
34
- font-size: 16px;
35
- margin-bottom: 0px;
36
- }
37
-
38
- @media (max-width: 600px) {
39
- .infographic {
40
- flex-wrap: wrap;
41
- }
42
-
43
- .infographic-item {
44
- flex-basis: 100%;
45
- margin-bottom: 30px;
46
- }
47
- }
48
- </style>
49
- <div class="infographics_section">
50
- <h3 class="text-center w-100 mb-5"><b>Other useful information</b></h3>
51
- <div class="infographic">
52
- {%- for item in dataToShow.infographics -%}
53
- <div class="infographic-item">
54
- <img src="{{item.image}}" alt="Image 1">
55
- <p class="infographic-desc">{{item.description | capitalize }}</p>
56
- </div>
57
- {%- endfor -%}
58
- </div>
59
-
60
-
61
- <div class="slider">
62
- <div class="row">
63
- <div class="col-md-12 mx-auto">
64
- <div id="carousel">
65
- {%- for item in featureData.infographics -%}
66
- <div class="slide">
67
- <img src="{{item.image}}" alt="Photo1" />
68
- <p class="infographics-desc">{{item.description | capitalize }}</p>
69
- </div>
70
- {%- endfor -%}
71
- </div>
72
- </div>
73
- </div>
74
- <button class="btn-slide prev"><i class="fas fa-3x fa-chevron-circle-left"></i></button>
75
- <button class="btn-slide next"><i class="fas fa-3x fa-chevron-circle-right"></i></button>
76
- </div>
77
- <div class="dots-container">
78
- {%- for item in featureData.infographics -%}
79
- <span class="dot active" data-slide="{{ forloop.index0 }}"></span>
80
- {%- endfor -%}
81
- </div> -->
82
- <!-- </div> -->
83
-
84
- <!-- <script>
85
- function Slider() {
86
- const carouselSlides = document.querySelectorAll('.slide');
87
- const btnPrev = document.querySelector('.prev');
88
- const btnNext = document.querySelector('.next');
89
- const dotsSlide = document.querySelector('.dots-container');
90
- let currentSlide = 0;
91
-
92
- const activeDot = function (slide) {
93
- document.querySelectorAll('.dot').forEach(dot => dot.classList.remove('active'));
94
- document.querySelector(`.dot[data-slide="${slide}"]`).classList.add('active');
95
- };
96
- activeDot(currentSlide);
97
-
98
- const changeSlide = function (slides) {
99
- carouselSlides.forEach((slide, index) => (slide.style.transform = `translateX(${100 * (index - slides)}%)`));
100
- };
101
- changeSlide(currentSlide);
102
-
103
- btnNext.addEventListener('click', function () {
104
- currentSlide++;
105
- if (carouselSlides.length - 1 < currentSlide) {
106
- currentSlide = 0;
107
- };
108
- changeSlide(currentSlide);
109
- activeDot(currentSlide);
110
- });
111
- btnPrev.addEventListener('click', function () {
112
- currentSlide--;
113
- if (0 >= currentSlide) {
114
- currentSlide = 0;
115
- };
116
- changeSlide(currentSlide);
117
- activeDot(currentSlide);
118
- });
119
-
120
- dotsSlide.addEventListener('click', function (e) {
121
- if (e.target.classList.contains('dot')) {
122
- const slide = e.target.dataset.slide;
123
- changeSlide(slide);
124
- activeDot(slide);
125
- }
126
- });
127
- };
128
- Slider();
129
- </script> -->
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
1
 
143
2
  <style>
144
- .infographics-wrapper {
145
- display: flex;
146
- align-items: center;
147
- justify-content: center;
148
- overflow-x: hidden;
149
- overflow-y: hidden;
150
- height: 130vh;
151
- }
152
-
153
- .infographics-wrapper .container {
3
+ .inforgraphics_section {
154
4
  width: 100%;
155
- height: 100%;
5
+ padding: 50px 0px 50px 0px;
6
+ border-top: 1px solid rgb(224, 224, 224);
156
7
  display: flex;
157
- transform-style: preserve-3d;
158
- align-items: center;
159
8
  flex-direction: column;
9
+ align-items: center;
160
10
  }
161
11
 
162
- .infographics-wrapper .cards {
12
+ .inforgraphics_section .wrapper {
13
+ display: flex;
14
+ max-width: 700px;
163
15
  position: relative;
164
- width: 300px;
165
- height: 300px;
166
- margin-bottom: 20px;
167
- perspective: 1000px;
168
- transform-style: preserve-3d;
169
16
  }
170
17
 
171
- .infographics-wrapper .cards label {
172
- position: absolute;
173
- width: 300px;
174
- left: 0;
175
- right: 0;
176
- margin: auto;
18
+ .inforgraphics_section .wrapper svg {
19
+ top: 50%;
20
+ height: 44px;
21
+ width: 44px;
22
+ color: #343F4F;
177
23
  cursor: pointer;
178
- transition: transform 0.55s ease;
179
- }
180
-
181
- .infographics-wrapper .cards .card {
182
- position: relative;
183
- height: 100%;
184
- background-color: #323444;
185
- border-radius: 10px;
186
- padding: 5px;
187
- }
188
-
189
- .infographics-wrapper .card .image {
190
- display: flex;
191
- justify-content: space-between;
192
- }
193
-
194
- .infographics-wrapper .card .image img {
195
- border-radius: 5px;
196
- box-shadow: 15px 15px 40px rgba(0, 0, 0, 50%);
197
- margin-top: 23px;
198
- width: 86%;
199
- object-fit: cover;
200
- }
201
-
202
- .infographics-wrapper .card .image .dots {
24
+ font-size: 1.15rem;
25
+ position: absolute;
203
26
  text-align: center;
204
- }
205
-
206
- .dots div {
207
- width: 10px;
208
- height: 10px;
27
+ line-height: 44px;
28
+ background: #eee;
209
29
  border-radius: 50%;
210
- margin-bottom: 10px;
30
+ transform: translateY(-50%);
31
+ transition: transform 0.1s linear;
211
32
  }
212
33
 
213
- .dots div:nth-child(1) {
214
- background-color: var(--current-color1);
34
+ .inforgraphics_section .wrapper svg:active {
35
+ transform: translateY(-50%) scale(0.9);
215
36
  }
216
37
 
217
- .dots div:nth-child(2) {
218
- background-color: #5B85F9;
38
+ .inforgraphics_section .wrapper svg:hover {
39
+ background: #f2f2f2;
219
40
  }
220
41
 
221
- .dots div:nth-child(3) {
222
-
223
- background-color: #000;
42
+ .inforgraphics_section .wrapper svg:first-child {
43
+ left: 0px;
44
+ display: none;
45
+ z-index: 999;
224
46
  }
225
47
 
226
- .card .infos {
227
- display: block;
228
- text-align: end;
229
- padding-top: 2rem;
48
+ .inforgraphics_section .wrapper svg:last-child {
49
+ right: 0px;
230
50
  }
231
51
 
232
- .infos span {
233
-
234
- display: block;
52
+ .carousel {
53
+ display: flex;
54
+ max-width: 700px;
55
+ overflow-x: scroll;
56
+ scroll-snap-type: x mandatory;
57
+ scroll-behavior: smooth;
235
58
  }
236
59
 
237
- .infos .name {
238
- font-size: 30px;
239
- color: var(--current-color1);
240
- letter-spacing: 8px;
241
- margin-bottom: 20px;
242
- padding-left: 25%;
243
- transition: all .6s ease;
60
+ .carousel-inner {
61
+ display: flex;
62
+ flex-wrap: nowrap;
244
63
  }
245
64
 
246
- .infos .lorem {
247
- font-size: 15px;
248
- color: #ECEAED;
249
-
250
- text-align: center;
65
+ .slide {
66
+ flex: 0 0 calc(100% / 3);
67
+ scroll-snap-align: start;
68
+ padding: 20px;
251
69
  }
252
70
 
253
- #s1:checked~.cards #slide4,
254
- #s2:checked~.cards #slide5,
255
- #s3:checked~.cards #slide1,
256
- #s4:checked~.cards #slide2,
257
- #s5:checked~.cards #slide3 {
258
- transform: translate3d(-70%, 0, -220px);
259
- --current-color1: #ECEAED;
260
- --current-color2: #404457;
71
+ .carousel img {
72
+ width: 100%;
73
+ object-fit: contain;
74
+ max-width: 100%;
75
+ height: auto;
76
+ border-radius: 8px;
261
77
  }
262
78
 
263
- #s1:checked~.cards #slide5,
264
- #s2:checked~.cards #slide1,
265
- #s3:checked~.cards #slide2,
266
- #s4:checked~.cards #slide3,
267
- #s5:checked~.cards #slide4 {
268
-
269
- transform: translate3d(-35%, 0, -120px);
270
- --current-color1: #ECEAED;
271
- --current-color2: #404457;
79
+ .carousel-inner p {
80
+ text-align: center;
81
+ margin: 10px 0;
82
+ font-size: 14px;
83
+ white-space: normal;
84
+ word-wrap: break-word;
272
85
  }
273
86
 
274
- #s1:checked~.cards #slide1,
275
- #s2:checked~.cards #slide2,
276
- #s3:checked~.cards #slide3,
277
- #s4:checked~.cards #slide4,
278
- #s5:checked~.cards #slide5 {
279
- transform: translate3d(0, 0, 0);
280
- --current-color1: #fad00c;
281
- --current-color2: #ECEAED;
282
- }
87
+ @media screen and (max-width: 768px) {
88
+ .inforgraphics_section .wrapper {
89
+ max-width: 100%;
90
+ }
283
91
 
284
- #s1:checked~.cards #slide2,
285
- #s2:checked~.cards #slide3,
286
- #s3:checked~.cards #slide4,
287
- #s4:checked~.cards #slide5,
288
- #s5:checked~.cards #slide1 {
92
+ .carousel-inner p {
93
+ font-size: 20px;
94
+ }
289
95
 
290
- transform: translate3d(35%, 0, -120px);
291
- --current-color1: #ECEAED;
292
- --current-color2: #404457;
293
- }
96
+ .inforgraphics_section .wrapper i:first-child {
97
+ left: 0;
98
+ /* margin-left: 14px; */
99
+ z-index: 99;
100
+ }
294
101
 
295
- #s1:checked~.cards #slide3,
296
- #s2:checked~.cards #slide4,
297
- #s3:checked~.cards #slide5,
298
- #s4:checked~.cards #slide1,
299
- #s5:checked~.cards #slide2 {
300
- transform: translate3d(70%, 0, -220px);
301
- --current-color1: #ECEAED;
302
- --current-color2: #404457;
303
- }
102
+ .inforgraphics_section .wrapper i:last-child {
103
+ right: 0;
104
+ z-index: 99;
105
+ display: block !important;
106
+ }
304
107
 
305
- @media (max-width:768px) {
306
- .infographics-wrapper .cards label{
307
- left: -100px;
108
+ .carousel {
109
+ overflow-x: hidden;
110
+ }
111
+ .slide {
112
+ flex: 0 0 100%;
113
+ margin-right: 0;
308
114
  }
309
-
310
115
  }
311
116
  </style>
312
117
 
313
- <div class="infographics-wrapper">
314
- <div class="container">
315
- <h3 class="text-center w-100 mb-5 mt-5" style="font-size:20px"><b>Other useful information</b></h3>
316
- <input type="radio" name="slider" class="d-none" id="s1" checked>
317
- <input type="radio" name="slider" class="d-none" id="s2">
318
- <input type="radio" name="slider" class="d-none" id="s3">
319
- <input type="radio" name="slider" class="d-none" id="s4">
320
- <input type="radio" name="slider" class="d-none" id="s5">
321
- <div class="cards">
322
-
323
- {%- for item in dataToShow.infographics -%}
324
- <label for="s{{ forloop.index }}" id="slide{{ forloop.index }}">
325
- <div class="card">
326
- <div class="image">
327
- <img src="{{item.image}}" alt="">
328
- <div class="dots">
329
- <div class="dot1"></div>
330
- <div class="dot2"></div>
331
- <div class="dot3"></div>
332
- </div>
333
- </div>
334
- <div class="infos">
335
- <span class="lorem">{{item.description | capitalize }}</span>
336
- </div>
118
+ <div class="inforgraphics_section">
119
+ <h3 class="text-center w-100 mb-5" style="font-size:22px"><b>Other useful information</b></h3>
120
+ <div class="wrapper">
121
+ <svg id="left" fill="#000000" viewBox="-12 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <title>angle-left</title> <path d="M7.28 23.28c-0.2 0-0.44-0.080-0.6-0.24l-6.44-6.44c-0.32-0.32-0.32-0.84 0-1.2l6.44-6.44c0.32-0.32 0.84-0.32 1.2 0 0.32 0.32 0.32 0.84 0 1.2l-5.8 5.84 5.84 5.84c0.32 0.32 0.32 0.84 0 1.2-0.16 0.16-0.44 0.24-0.64 0.24z"></path> </g></svg>
122
+ <div class="carousel">
123
+ <div class="carousel-inner">
124
+ {%- for item in dataToShow.infographics -%}
125
+ <div class="slide">
126
+ <img src="{{ item.image }}" alt="img" draggable="false">
127
+ <p class="infographic-desc">{{ item.description | capitalize }}</p>
337
128
  </div>
338
- </label>
339
- {%- endfor -%}
129
+ {% endfor %}
130
+ </div>
340
131
  </div>
132
+ <svg id="right" fill="#000000" viewBox="-12 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <title>angle-right</title> <path d="M0.88 23.28c-0.2 0-0.44-0.080-0.6-0.24-0.32-0.32-0.32-0.84 0-1.2l5.76-5.84-5.8-5.84c-0.32-0.32-0.32-0.84 0-1.2 0.32-0.32 0.84-0.32 1.2 0l6.44 6.44c0.16 0.16 0.24 0.36 0.24 0.6s-0.080 0.44-0.24 0.6l-6.4 6.44c-0.2 0.16-0.4 0.24-0.6 0.24z"></path> </g></svg>
341
133
  </div>
342
- </div>
134
+ </div>
135
+
136
+ <script>
137
+ const carousel = document.querySelector(".carousel-inner"),
138
+ firstImg = carousel.querySelectorAll("img")[0],
139
+ arrowIcons = document.querySelectorAll(".wrapper svg")
140
+
141
+ const numImages = carousel.querySelectorAll("img").length;
142
+ const isMobile = window.matchMedia("(max-width: 767px)").matches; // Check if screen width is less than or equal to 767px
143
+
144
+ if (numImages > 3) {
145
+ arrowIcons[1].style.display = "block"
146
+ } else {
147
+ arrowIcons[0].style.display = "none";
148
+ arrowIcons[1].style.display = "none";
149
+ }
150
+
151
+ let isDragStart = false, isDragging = false, prevPageX, prevScrollLeft, positionDiff;
152
+ const showHideIcons = () => {
153
+ let scrollWidth = carousel.scrollWidth - carousel.clientWidth; // getting max scrollable width
154
+ arrowIcons[0].style.display = carousel.scrollLeft == 0 ? "none" : "block";
155
+ arrowIcons[1].style.display = carousel.scrollLeft == scrollWidth ? "none" : "block";
156
+ }
157
+
158
+ arrowIcons.forEach(icon => {
159
+ icon.addEventListener("click", () => {
160
+ let firstImgWidth = firstImg.clientWidth + 40;
161
+ const scrollAmount = icon.id === "left" ? -firstImgWidth : firstImgWidth;
162
+ carousel.scrollBy({
163
+ left: scrollAmount,
164
+ behavior: "smooth",
165
+ });
166
+ setTimeout(() => showHideIcons(), 60); // calling showHideIcons after 60ms
167
+ });
168
+ });
169
+
170
+ // const autoSlide = () => {
171
+ // // if there is no image left to scroll then return from here
172
+ // if (carousel.scrollLeft - (carousel.scrollWidth - carousel.clientWidth) > -1 || carousel.scrollLeft <= 0) return;
173
+
174
+ // positionDiff = Math.abs(positionDiff); // making positionDiff value to positive
175
+ // let firstImgWidth = firstImg.clientWidth + 14;
176
+ // // getting difference value that needs to add or reduce from carousel left to take middle img center
177
+ // let valDifference = firstImgWidth - positionDiff;
178
+
179
+ // if (carousel.scrollLeft > prevScrollLeft) { // if user is scrolling to the right
180
+ // return carousel.scrollLeft += positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
181
+ // }
182
+ // // if user is scrolling to the left
183
+ // carousel.scrollLeft -= positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
184
+ // }
185
+
186
+ // const dragStart = (e) => {
187
+ // // updatating global variables value on mouse down event
188
+ // isDragStart = true;
189
+ // prevPageX = e.pageX || e.touches[0].pageX;
190
+ // prevScrollLeft = carousel.scrollLeft;
191
+ // }
192
+
193
+ // const dragging = (e) => {
194
+ // // scrolling images/carousel to left according to mouse pointer
195
+ // if (!isDragStart) return;
196
+ // e.preventDefault();
197
+ // isDragging = true;
198
+ // carousel.classList.add("dragging");
199
+ // positionDiff = (e.pageX || e.touches[0].pageX) - prevPageX;
200
+ // carousel.scrollLeft = prevScrollLeft - positionDiff;
201
+ // showHideIcons();
202
+ // }
203
+
204
+ // const dragStop = () => {
205
+ // isDragStart = false;
206
+ // carousel.classList.remove("dragging");
207
+
208
+ // if (!isDragging) return;
209
+ // isDragging = false;
210
+ // autoSlide();
211
+ // }
212
+
213
+ // carousel.addEventListener("mousedown", dragStart);
214
+ // carousel.addEventListener("touchstart", dragStart);
215
+
216
+ // document.addEventListener("mousemove", dragging);
217
+ // carousel.addEventListener("touchmove", dragging);
218
+
219
+ // document.addEventListener("mouseup", dragStop);
220
+ // carousel.addEventListener("touchend", dragStop);
221
+ </script>
@@ -30,7 +30,7 @@
30
30
  {%- assign value = item.word -%}
31
31
  <a class="anchor__style" title="Lookup python in Dictionary" target="_blank"
32
32
  href="/word-meaning?search={{item.word}}">
33
- <li>{{item.word}}
33
+ <li class="list_word">{{item.word}}
34
34
  <span class="points" value="14" style="position:relative; top:4px; font-size:12px">
35
35
  {{item.points}}</span>
36
36
  </li>
@@ -104,6 +104,13 @@
104
104
  {% endif %}
105
105
  {% endif %}
106
106
 
107
+
108
+ {%- include Rating/rating.html -%}
109
+
110
+ {%- if dataToShow.infographics.size > 0 -%}
111
+ {%- include infographics/infographics.html -%}
112
+ {%- endif -%}
113
+
107
114
  {%- include share/socialshare.html -%}
108
115
 
109
116
  {% include adBlocker/adBlocker.html %}
data/assets/js/xyz.js CHANGED
@@ -107,3 +107,182 @@ const close = document.querySelector('.times')
107
107
  close.addEventListener('click', () => {
108
108
  fillterWrapper.classList.add('hide')
109
109
  })
110
+
111
+
112
+
113
+ // sorting for words
114
+ theSelect.addEventListener("change", () => {
115
+ sortValue = theSelect[theSelect.selectedIndex].text;
116
+ let list_word = document.getElementsByClassName("list_word")
117
+ let data = []
118
+ Array.from(list_word).forEach(item => {
119
+ item.removeChild(item.lastElementChild);
120
+ data.push(item.innerHTML.replace(/\s/g, ''))
121
+ })
122
+ if (sortValue == "Z-A") {
123
+ sortBool = "Z-A";
124
+ sortby(sortBool, data);
125
+ } else if (sortValue == "Points") {
126
+ sortBool = "Points";
127
+ sortPointsby(sortBool, data);
128
+ } else {
129
+ sortBool = "A-Z";
130
+ sortby(sortBool, data);
131
+ }
132
+ });
133
+
134
+ // sort by aplhabets
135
+ function sortby(sortValue, data) {
136
+ if (sortValue === "Z-A") {
137
+ appendData(sortValue, data.reverse())
138
+ }
139
+ else if (sortValue === "A-Z") {
140
+ appendData(sortValue, data.sort())
141
+ }
142
+ }
143
+ // sorting by points
144
+ function sortPointsby(sortValue, data) {
145
+ if (sortValue === "Points") {
146
+ let newArray = [];
147
+ data.map((item) => {
148
+ if (item.length === 1) {
149
+ ok = false;
150
+ } else {
151
+ let ScrabbleLetterScore = ScrabbleScore();
152
+ let points = 0;
153
+ let word = item.replace(/<\/?[^>]+>/gi, '')
154
+ for (let i = 0; i < word.length; i++) {
155
+ points += ScrabbleLetterScore[word[i]] || 0;
156
+ }
157
+ const value = {
158
+ words: item,
159
+ points: points,
160
+ };
161
+ newArray.push(value);
162
+ }
163
+ });
164
+ newArray.sort(function (a, b) {
165
+ return b.points - a.points;
166
+ });
167
+ appendData(sortValue, newArray)
168
+ }
169
+ }
170
+
171
+ function appendData(sortValue, data) {
172
+ main.innerHTML = "";
173
+ let newWordsLength = 0;
174
+ for (let i = 15; i > 0; i--) {
175
+ let newdata
176
+ if (sortValue === "Points") {
177
+ newdata = data.filter((item) => item.words.replace(/<\/?[^>]+>/gi, '').length === i)
178
+ } else {
179
+ newdata = data.filter((item) => item.replace(/<\/?[^>]+>/gi, '').length === i)
180
+ }
181
+ if (newdata.length === 0) {
182
+ main.innerHTML += "";
183
+ } else {
184
+ newWordsLength += newdata.length;
185
+ const result = newdata.map((item) => {
186
+ let ScrabbleLetterScore = ScrabbleScore();
187
+ let points = 0;
188
+ let word
189
+ if (sortValue === "Points") {
190
+ word = item.words.replace(/<\/?[^>]+>/gi, '')
191
+ item = item.words
192
+ } else {
193
+ word = item.replace(/<\/?[^>]+>/gi, '')
194
+ }
195
+ for (let i = 0; i < word.length; i++) {
196
+ points += ScrabbleLetterScore[word[i]] || 0; // for unknown characters
197
+ }
198
+ return `
199
+ <a class="anchor__style" title="Lookup ${item.replace(/<\/?[^>]+>/gi, '')} in Dictionary" target="_blank"
200
+ href="/word-meaning?search=${item.replace(/<\/?[^>]+>/gi, '')}">
201
+ <li class="list_word">
202
+ ${item}
203
+ <span class="points" value="${points}" style="position:relative; top:4px; font-size:12px">${points}</span>
204
+ </li>
205
+ </a>
206
+ `});
207
+
208
+ main.innerHTML += `
209
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
210
+ <div class="wordListHeading">
211
+ <h3 class="lead">${i} Letter Words</h3>
212
+ </div>
213
+ <div class="wordList">
214
+ <ul class="ul list-unstyled">
215
+ ${result.join('')}
216
+ </ul>
217
+ </div>
218
+ </div>
219
+ `
220
+ }
221
+ }
222
+ }
223
+ // Scrabble Point Array
224
+ const ScrabbleScore = () => {
225
+ let twl06_sowpods = {
226
+ a: 1,
227
+ e: 1,
228
+ i: 1,
229
+ o: 1,
230
+ u: 1,
231
+ l: 1,
232
+ n: 1,
233
+ r: 1,
234
+ s: 1,
235
+ t: 1,
236
+ d: 2,
237
+ g: 2,
238
+ b: 3,
239
+ c: 3,
240
+ m: 3,
241
+ p: 3,
242
+ f: 4,
243
+ h: 4,
244
+ v: 4,
245
+ w: 4,
246
+ y: 4,
247
+ k: 5,
248
+ j: 8,
249
+ x: 8,
250
+ q: 10,
251
+ z: 10,
252
+ };
253
+
254
+ let wwfScore = {
255
+ a: 1,
256
+ b: 4,
257
+ c: 4,
258
+ d: 2,
259
+ e: 1,
260
+ f: 4,
261
+ g: 3,
262
+ h: 3,
263
+ i: 1,
264
+ j: 10,
265
+ k: 5,
266
+ l: 2,
267
+ m: 4,
268
+ n: 2,
269
+ o: 1,
270
+ p: 4,
271
+ q: 10,
272
+ r: 1,
273
+ s: 1,
274
+ t: 1,
275
+ u: 2,
276
+ v: 5,
277
+ w: 4,
278
+ x: 8,
279
+ y: 3,
280
+ z: 10,
281
+ };
282
+
283
+ // if (dictonary === "wwf") {
284
+ // return wwfScore;
285
+ // } else {
286
+ return twl06_sowpods;
287
+ // }
288
+ };
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: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - manpreet-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-24 00:00:00.000000000 Z
11
+ date: 2023-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll