@scrabble-solver/scrabble-solver 2.9.0 → 2.9.2
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +8 -8
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/413.js +7 -3
- package/.next/server/chunks/44.js +895 -4
- package/.next/server/chunks/515.js +15 -6
- package/.next/server/chunks/865.js +230 -116
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +121 -65
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale].js +1 -1
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +1 -1
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +1 -1
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/index.html +2 -2
- package/.next/server/pages/index.js +5 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/static/{BiJ0RS1mh1CdONVQg_p20 → Ntg-ilwD7GqTIFwRpSaTQ}/_buildManifest.js +1 -1
- package/.next/static/{BiJ0RS1mh1CdONVQg_p20 → Ntg-ilwD7GqTIFwRpSaTQ}/_ssgManifest.js +0 -0
- package/.next/static/chunks/317-5e5334962dd7c681.js +1 -0
- package/.next/static/chunks/pages/{_app-1878e12521f2d115.js → _app-183f598b1d4d480b.js} +1 -1
- package/.next/static/chunks/pages/{index-14d33636a0746c22.js → index-b1ffeaddd9fb64b5.js} +1 -1
- package/.next/static/css/e8de67ad5ea35427.css +1 -0
- package/.next/trace +52 -52
- package/LICENSE +1 -1
- package/package.json +11 -11
- package/src/components/Board/BoardPure.tsx +2 -7
- package/src/components/Board/components/Cell/Cell.module.scss +1 -1
- package/src/components/Board/components/Cell/Cell.tsx +4 -1
- package/src/components/Board/components/Cell/CellPure.tsx +12 -1
- package/src/components/Dictionary/Dictionary.module.scss +1 -0
- package/src/components/Dictionary/Dictionary.tsx +7 -2
- package/src/components/Splash/Splash.module.scss +1 -1
- package/src/i18n/en.json +2 -2
- package/src/pages/api/dictionary/[locale]/[word].ts +3 -1
- package/src/pages/index.tsx +6 -1
- package/src/service-worker/dictionaries/constants.ts +3 -1
- package/.next/server/chunks/452.js +0 -894
- package/.next/static/chunks/317-c5d262202c17d519.js +0 -1
- package/.next/static/css/9ac903004135f4b1.css +0 -1
- package/public/robots.txt +0 -4
|
@@ -26,6 +26,20 @@ module.exports = require("assert");
|
|
|
26
26
|
|
|
27
27
|
/***/ }),
|
|
28
28
|
|
|
29
|
+
/***/ 22057:
|
|
30
|
+
/***/ ((module) => {
|
|
31
|
+
|
|
32
|
+
module.exports = require("constants");
|
|
33
|
+
|
|
34
|
+
/***/ }),
|
|
35
|
+
|
|
36
|
+
/***/ 6113:
|
|
37
|
+
/***/ ((module) => {
|
|
38
|
+
|
|
39
|
+
module.exports = require("crypto");
|
|
40
|
+
|
|
41
|
+
/***/ }),
|
|
42
|
+
|
|
29
43
|
/***/ 82361:
|
|
30
44
|
/***/ ((module) => {
|
|
31
45
|
|
|
@@ -68,6 +82,13 @@ module.exports = require("path");
|
|
|
68
82
|
|
|
69
83
|
/***/ }),
|
|
70
84
|
|
|
85
|
+
/***/ 77282:
|
|
86
|
+
/***/ ((module) => {
|
|
87
|
+
|
|
88
|
+
module.exports = require("process");
|
|
89
|
+
|
|
90
|
+
/***/ }),
|
|
91
|
+
|
|
71
92
|
/***/ 12781:
|
|
72
93
|
/***/ ((module) => {
|
|
73
94
|
|
|
@@ -112,13 +133,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
112
133
|
/* harmony export */ });
|
|
113
134
|
/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27911);
|
|
114
135
|
/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__);
|
|
115
|
-
/* harmony import */ var
|
|
116
|
-
/* harmony import */ var
|
|
117
|
-
/* harmony import */ var
|
|
118
|
-
/* harmony import */ var
|
|
119
|
-
/* harmony import */ var
|
|
120
|
-
/* harmony import */ var
|
|
121
|
-
/* harmony import */ var
|
|
136
|
+
/* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89044);
|
|
137
|
+
/* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__);
|
|
138
|
+
/* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52954);
|
|
139
|
+
/* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2__);
|
|
140
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46452);
|
|
141
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
|
|
142
|
+
/* harmony import */ var _scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(98173);
|
|
143
|
+
/* harmony import */ var _scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_4__);
|
|
144
|
+
/* harmony import */ var api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81025);
|
|
145
|
+
|
|
122
146
|
|
|
123
147
|
|
|
124
148
|
|
|
@@ -126,21 +150,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
126
150
|
|
|
127
151
|
const MAXIMUM_WORDS_COUNT = _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.scrabble["en-US"].maximumCharactersCount;
|
|
128
152
|
const dictionary = async (request, response)=>{
|
|
129
|
-
const meta = (0,
|
|
153
|
+
const meta = (0,api__WEBPACK_IMPORTED_MODULE_5__/* .getServerLoggingData */ .X8)(request);
|
|
130
154
|
try {
|
|
131
155
|
const { locale , words } = parseRequest(request);
|
|
132
|
-
|
|
156
|
+
_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default().info("dictionary - request", {
|
|
133
157
|
meta,
|
|
134
158
|
payload: {
|
|
135
159
|
locale,
|
|
136
160
|
words
|
|
137
161
|
}
|
|
138
162
|
});
|
|
139
|
-
const
|
|
163
|
+
const trie = await _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__.dictionaries.get(locale);
|
|
164
|
+
const results = await Promise.all(words.map((word)=>(0,_scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_4__.getWordDefinition)(locale, word, trie.has(word))));
|
|
140
165
|
response.status(200).send(results.map((result)=>result.toJson()));
|
|
141
166
|
} catch (error) {
|
|
142
167
|
const message = error instanceof Error ? error.message : "Unknown error";
|
|
143
|
-
|
|
168
|
+
_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default().error("dictionary - error", {
|
|
144
169
|
error,
|
|
145
170
|
meta
|
|
146
171
|
});
|
|
@@ -153,7 +178,7 @@ const dictionary = async (request, response)=>{
|
|
|
153
178
|
};
|
|
154
179
|
const parseRequest = (request)=>{
|
|
155
180
|
const { locale , word } = request.query;
|
|
156
|
-
if (!(0,
|
|
181
|
+
if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isLocale)(locale)) {
|
|
157
182
|
throw new Error('Invalid "locale" parameter');
|
|
158
183
|
}
|
|
159
184
|
if (typeof word !== "string" || word.length === 0) {
|
|
@@ -326,10 +351,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
326
351
|
const types_1 = __webpack_require__(46452);
|
|
327
352
|
const crawl_1 = __webpack_require__(66344);
|
|
328
353
|
const parse_1 = __webpack_require__(74630);
|
|
329
|
-
const getWordDefinition = async (locale, word) => {
|
|
354
|
+
const getWordDefinition = async (locale, word, isAllowed) => {
|
|
330
355
|
const html = await (0, crawl_1.crawl)(locale, word);
|
|
331
|
-
const { definitions,
|
|
332
|
-
const wordDefinition = new types_1.WordDefinition({ definitions, isAllowed, word });
|
|
356
|
+
const { definitions, exists } = (0, parse_1.parse)(locale, html);
|
|
357
|
+
const wordDefinition = new types_1.WordDefinition({ definitions, exists, isAllowed, word });
|
|
333
358
|
return wordDefinition;
|
|
334
359
|
};
|
|
335
360
|
exports["default"] = getWordDefinition;
|
|
@@ -399,7 +424,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
399
424
|
const striptags_1 = __importDefault(__webpack_require__(37983));
|
|
400
425
|
const EMPHASIS_TAGS = ['a', 'b', 'em', 'internalXref'];
|
|
401
426
|
const normalizeHtmlTags = (definition) => (0, striptags_1.default)((0, striptags_1.default)(definition, EMPHASIS_TAGS), undefined, '"');
|
|
402
|
-
const normalizeLineBreaks = (definition) => definition.replace(
|
|
427
|
+
const normalizeLineBreaks = (definition) => definition.replace(/\r\n/g, '\n');
|
|
428
|
+
const normalizeWhitespace = (definition) => definition.replace(/[ ]+/g, ' ');
|
|
403
429
|
const normalizeQuotes = (definition) => definition.replace(/\."/g, '".');
|
|
404
430
|
/**
|
|
405
431
|
* `(1.2) definition` -> `definition`
|
|
@@ -419,6 +445,7 @@ const normalizers = [
|
|
|
419
445
|
normalizeMarkers,
|
|
420
446
|
normalizeQuotes,
|
|
421
447
|
normalizeLineBreaks,
|
|
448
|
+
normalizeWhitespace,
|
|
422
449
|
normalizeTrailingSymbols,
|
|
423
450
|
normalizeLeadingSymbols,
|
|
424
451
|
normalizeNonWords,
|
|
@@ -528,10 +555,10 @@ const parsePerLocale = {
|
|
|
528
555
|
[types_1.Locale.PL_PL]: parsePolish_1.default,
|
|
529
556
|
};
|
|
530
557
|
const parse = (locale, html) => {
|
|
531
|
-
const { definitions,
|
|
558
|
+
const { definitions, exists } = parsePerLocale[locale](html);
|
|
532
559
|
return {
|
|
533
560
|
definitions: (0, lib_1.unique)(definitions.map(lib_1.normalizeDefinition).filter(Boolean)),
|
|
534
|
-
|
|
561
|
+
exists,
|
|
535
562
|
};
|
|
536
563
|
};
|
|
537
564
|
exports["default"] = parse;
|
|
@@ -540,23 +567,23 @@ exports["default"] = parse;
|
|
|
540
567
|
/***/ }),
|
|
541
568
|
|
|
542
569
|
/***/ 26519:
|
|
543
|
-
/***/ (
|
|
570
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
544
571
|
|
|
545
572
|
|
|
546
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
547
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
548
|
-
};
|
|
549
573
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
550
|
-
const cheerio_1 =
|
|
574
|
+
const cheerio_1 = __webpack_require__(85131);
|
|
575
|
+
const DOES_NOT_EXIST_MESSAGE =
|
|
576
|
+
// eslint-disable-next-line max-len
|
|
577
|
+
"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above.";
|
|
551
578
|
const parseEnglish = (html) => {
|
|
552
|
-
const $ = cheerio_1.
|
|
579
|
+
const $ = (0, cheerio_1.load)(html);
|
|
553
580
|
$('strong.mw_t_bc').replaceWith(', ');
|
|
554
581
|
$('.text-lowercase').remove();
|
|
555
582
|
$('[id^=dictionary-entry]').find('.dtText > *:not(a)').remove();
|
|
556
583
|
const $definitions = $('[id^=dictionary-entry]').find('.dtText, .cxl-ref');
|
|
557
584
|
return {
|
|
558
|
-
definitions: Array.from($definitions).map((definition) => $(definition).text()),
|
|
559
|
-
|
|
585
|
+
definitions: Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, '')),
|
|
586
|
+
exists: $('.spelling-suggestion-text').text().trim() !== DOES_NOT_EXIST_MESSAGE,
|
|
560
587
|
};
|
|
561
588
|
};
|
|
562
589
|
exports["default"] = parseEnglish;
|
|
@@ -565,20 +592,17 @@ exports["default"] = parseEnglish;
|
|
|
565
592
|
/***/ }),
|
|
566
593
|
|
|
567
594
|
/***/ 51120:
|
|
568
|
-
/***/ (
|
|
595
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
569
596
|
|
|
570
597
|
|
|
571
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
572
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
573
|
-
};
|
|
574
598
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
575
|
-
const cheerio_1 =
|
|
599
|
+
const cheerio_1 = __webpack_require__(85131);
|
|
576
600
|
const parseFrench = (html) => {
|
|
577
|
-
const $ = cheerio_1.
|
|
601
|
+
const $ = (0, cheerio_1.load)(html);
|
|
578
602
|
const $definitions = $('.tlf_cdefinition');
|
|
579
603
|
return {
|
|
580
604
|
definitions: Array.from($definitions).map((definition) => $(definition).text()),
|
|
581
|
-
|
|
605
|
+
exists: $('#vitemselected span').length > 0,
|
|
582
606
|
};
|
|
583
607
|
};
|
|
584
608
|
exports["default"] = parseFrench;
|
|
@@ -587,28 +611,66 @@ exports["default"] = parseFrench;
|
|
|
587
611
|
/***/ }),
|
|
588
612
|
|
|
589
613
|
/***/ 29075:
|
|
590
|
-
/***/ (
|
|
614
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
591
615
|
|
|
592
616
|
|
|
593
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
594
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
595
|
-
};
|
|
596
617
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
597
|
-
const cheerio_1 =
|
|
618
|
+
const cheerio_1 = __webpack_require__(85131);
|
|
598
619
|
const parseGerman = (html) => {
|
|
599
|
-
const $ = cheerio_1.
|
|
600
|
-
const
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
$
|
|
620
|
+
const $ = (0, cheerio_1.load)(html);
|
|
621
|
+
const definitions = [parseBedeutungsubersicht, parseBedeutungen, parseBedeutung].reduce((results, parse) => (results.length === 0 ? parse($) : results), []);
|
|
622
|
+
const exists = Array.from($('.label-danger')).every((label) => $(label).text() !== 'Hinweis');
|
|
623
|
+
return { definitions, exists };
|
|
624
|
+
};
|
|
625
|
+
const parseBedeutungsubersicht = ($) => {
|
|
626
|
+
Array.from($('.bedeutungsuebersicht ol > li > a')).forEach((item) => {
|
|
627
|
+
$(item).text($(item).text().replace(/\n/g, ''));
|
|
628
|
+
});
|
|
629
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol > li')).forEach((item) => {
|
|
630
|
+
const text = `\n${$(item).text().replace(/\n/g, '')}`;
|
|
631
|
+
const $text = $(`<div>${text}</div>`);
|
|
632
|
+
$(item).replaceWith($text);
|
|
633
|
+
});
|
|
634
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol')).forEach((list) => {
|
|
635
|
+
const $list = $(list);
|
|
636
|
+
const html = $list.html() || '';
|
|
637
|
+
const $html = $(`<div>${html}</div>`);
|
|
638
|
+
const $prev = $list.prev('a');
|
|
639
|
+
if ($prev) {
|
|
640
|
+
$prev.append($html);
|
|
641
|
+
$(list).remove();
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
$(list).replaceWith($html);
|
|
645
|
+
}
|
|
646
|
+
});
|
|
647
|
+
return parseDefinitions($, $('.bedeutungsuebersicht ol > li'));
|
|
648
|
+
};
|
|
649
|
+
const parseBedeutung = ($) => {
|
|
650
|
+
return parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition-spezifizierung'));
|
|
651
|
+
};
|
|
652
|
+
const parseBedeutungen = ($) => {
|
|
653
|
+
const definitions = parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition'));
|
|
654
|
+
if (definitions.length > 0) {
|
|
655
|
+
return definitions;
|
|
607
656
|
}
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
657
|
+
const $references = $('.dwdswb-lesart .dwdswb-verweis');
|
|
658
|
+
const references = Array.from($references).reduce((result, reference) => {
|
|
659
|
+
const html = reference.attribs['data-content'] || '<span />';
|
|
660
|
+
const values = $(html)
|
|
661
|
+
.text()
|
|
662
|
+
.split(';')
|
|
663
|
+
.map((value) => value.trim());
|
|
664
|
+
return result.concat(values);
|
|
665
|
+
}, []);
|
|
666
|
+
return references;
|
|
667
|
+
};
|
|
668
|
+
const parseDefinitions = ($, $definitions) => {
|
|
669
|
+
return Array.from($definitions).map((definition) => $(definition)
|
|
670
|
+
.text()
|
|
671
|
+
.replace(/[ ]+/g, ' ')
|
|
672
|
+
.replace(/[ ]\n/g, '\n')
|
|
673
|
+
.replace(/^[0-9]+\.\s/g, ''));
|
|
612
674
|
};
|
|
613
675
|
exports["default"] = parseGerman;
|
|
614
676
|
|
|
@@ -616,22 +678,19 @@ exports["default"] = parseGerman;
|
|
|
616
678
|
/***/ }),
|
|
617
679
|
|
|
618
680
|
/***/ 92198:
|
|
619
|
-
/***/ (
|
|
681
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
620
682
|
|
|
621
683
|
|
|
622
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
623
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
624
|
-
};
|
|
625
684
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
626
|
-
const cheerio_1 =
|
|
685
|
+
const cheerio_1 = __webpack_require__(85131);
|
|
627
686
|
const parsePolish = (html) => {
|
|
628
|
-
const $ = cheerio_1.
|
|
687
|
+
const $ = (0, cheerio_1.load)(html);
|
|
629
688
|
const $header = $($('h1')[0]);
|
|
630
689
|
const $isAllowed = $header.next();
|
|
631
690
|
const $definitions = $header.next().next().next().next();
|
|
632
691
|
return {
|
|
633
692
|
definitions: $definitions.text().trim().split(/\d+\./),
|
|
634
|
-
|
|
693
|
+
exists: $isAllowed.text().trim().indexOf('dopuszczalne w grach') >= 0,
|
|
635
694
|
};
|
|
636
695
|
};
|
|
637
696
|
exports["default"] = parsePolish;
|
|
@@ -640,16 +699,13 @@ exports["default"] = parsePolish;
|
|
|
640
699
|
/***/ }),
|
|
641
700
|
|
|
642
701
|
/***/ 22292:
|
|
643
|
-
/***/ (
|
|
702
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
644
703
|
|
|
645
704
|
|
|
646
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
647
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
648
|
-
};
|
|
649
705
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
650
|
-
const cheerio_1 =
|
|
706
|
+
const cheerio_1 = __webpack_require__(85131);
|
|
651
707
|
const parseSpanish = (html) => {
|
|
652
|
-
const $ = cheerio_1.
|
|
708
|
+
const $ = (0, cheerio_1.load)(html);
|
|
653
709
|
$('.verdBold14 + .gris11 + .gris13').remove();
|
|
654
710
|
$('br + .gris13').remove();
|
|
655
711
|
$('.grisItalic13 + .gris13').remove();
|
|
@@ -670,7 +726,7 @@ const parseSpanish = (html) => {
|
|
|
670
726
|
.filter(Boolean)
|
|
671
727
|
.map((definition) => definition.replace(/\s+\.$/g, ''))
|
|
672
728
|
.map((definition) => (definition.endsWith('.') ? definition : `${definition}.`)),
|
|
673
|
-
|
|
729
|
+
exists: $('.wrapper > p > strong').text() !== 'No se ha encontrado la palabra exacta',
|
|
674
730
|
};
|
|
675
731
|
};
|
|
676
732
|
exports["default"] = parseSpanish;
|
|
@@ -685,7 +741,7 @@ exports["default"] = parseSpanish;
|
|
|
685
741
|
var __webpack_require__ = require("../../../../webpack-api-runtime.js");
|
|
686
742
|
__webpack_require__.C(exports);
|
|
687
743
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
688
|
-
var __webpack_exports__ = __webpack_require__.X(0, [50,865,939,
|
|
744
|
+
var __webpack_exports__ = __webpack_require__.X(0, [50,429,865,939,44,911], () => (__webpack_exec__(15548)));
|
|
689
745
|
module.exports = __webpack_exports__;
|
|
690
746
|
|
|
691
747
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../webpack-api-runtime.js","../../../../chunks/50.js","../../../../chunks/865.js","../../../../chunks/939.js","../../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../webpack-api-runtime.js","../../../../chunks/50.js","../../../../chunks/429.js","../../../../chunks/865.js","../../../../chunks/939.js","../../../../chunks/44.js","../../../../chunks/911.js","../../../../../package.json"]}
|
|
@@ -194,7 +194,7 @@ const config = {
|
|
|
194
194
|
var __webpack_require__ = require("../../../webpack-api-runtime.js");
|
|
195
195
|
__webpack_require__.C(exports);
|
|
196
196
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
197
|
-
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,
|
|
197
|
+
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,44], () => (__webpack_exec__(31985)));
|
|
198
198
|
module.exports = __webpack_exports__;
|
|
199
199
|
|
|
200
200
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../webpack-api-runtime.js","../../../chunks/50.js","../../../chunks/429.js","../../../chunks/939.js","../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../webpack-api-runtime.js","../../../chunks/50.js","../../../chunks/429.js","../../../chunks/939.js","../../../chunks/44.js","../../../../package.json"]}
|
|
@@ -937,7 +937,7 @@ exports["default"] = solve;
|
|
|
937
937
|
var __webpack_require__ = require("../../webpack-api-runtime.js");
|
|
938
938
|
__webpack_require__.C(exports);
|
|
939
939
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
940
|
-
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,
|
|
940
|
+
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,44,911], () => (__webpack_exec__(62316)));
|
|
941
941
|
module.exports = __webpack_exports__;
|
|
942
942
|
|
|
943
943
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/429.js","../../chunks/939.js","../../chunks/
|
|
1
|
+
{"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/429.js","../../chunks/939.js","../../chunks/44.js","../../chunks/911.js","../../../package.json"]}
|
|
@@ -211,7 +211,7 @@ const parseRequest = (request)=>{
|
|
|
211
211
|
var __webpack_require__ = require("../../webpack-api-runtime.js");
|
|
212
212
|
__webpack_require__.C(exports);
|
|
213
213
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
214
|
-
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,
|
|
214
|
+
var __webpack_exports__ = __webpack_require__.X(0, [50,429,939,44,911], () => (__webpack_exec__(21623)));
|
|
215
215
|
module.exports = __webpack_exports__;
|
|
216
216
|
|
|
217
217
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/429.js","../../chunks/939.js","../../chunks/
|
|
1
|
+
{"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/429.js","../../chunks/939.js","../../chunks/44.js","../../chunks/911.js","../../../package.json"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/ad2a08918868cad8.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ad2a08918868cad8.css" data-n-g=""/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/ad2a08918868cad8.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ad2a08918868cad8.css" data-n-g=""/><link rel="preload" href="/_next/static/css/e8de67ad5ea35427.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e8de67ad5ea35427.css" data-n-p=""/><link rel="preload" href="/_next/static/css/751e8a14776d05d8.css" as="style"/><link rel="stylesheet" href="/_next/static/css/751e8a14776d05d8.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-5752944655d749a0.js" defer=""></script><script src="/_next/static/chunks/framework-4556c45dd113b893.js" defer=""></script><script src="/_next/static/chunks/main-a75cf611e061d8f8.js" defer=""></script><script src="/_next/static/chunks/pages/_app-183f598b1d4d480b.js" defer=""></script><script src="/_next/static/chunks/546-447e243fc9de2c59.js" defer=""></script><script src="/_next/static/chunks/317-5e5334962dd7c681.js" defer=""></script><script src="/_next/static/chunks/pages/index-b1ffeaddd9fb64b5.js" defer=""></script><script src="/_next/static/Ntg-ilwD7GqTIFwRpSaTQ/_buildManifest.js" defer=""></script><script src="/_next/static/Ntg-ilwD7GqTIFwRpSaTQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="font-size:0">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="index_index__5hyIO"><div class="index_nav__FjsLl"><div class="index_navLogo__dBrd4"><a class="index_logoContainer___rrXU" href="/" title="v2.9.1"><svg class="index_logo__IeyQD" viewBox="0 0 682 166" xmlns="http://www.w3.org/2000/svg"><style type="text/css">@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Open+Sans:wght@400;700&family=Roboto+Mono&display=swap');
|
|
2
2
|
|
|
3
3
|
text {
|
|
4
4
|
font-family: 'Open Sans';
|
|
@@ -10,4 +10,4 @@ text {
|
|
|
10
10
|
|
|
11
11
|
text {
|
|
12
12
|
font-family: 'Open Sans';
|
|
13
|
-
}</style><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#efe3ae" height="80" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">S</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 126, 40)"><rect fill="#c7d8f9" height="80" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">C</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">R</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 298, 40)"><rect fill="#efe3ae" height="80" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">A</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 384, 40)"><rect fill="#c7d8f9" height="80" width="80" x="344" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="384" y="40">B</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 470, 40)"><rect fill="#c7d8f9" height="80" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">B</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 556, 40)"><rect fill="#efe3ae" height="80" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">L</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 642, 40)"><rect fill="#efe3ae" height="80" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">E</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#efe3ae" height="80" width="80" x="0" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="126">S</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" width="80" x="86" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="126">O</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" width="80" x="172" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="126">L</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 298, 40)"><rect fill="#f7c2aa" height="80" width="80" x="258" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="126">V</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 384, 40)"><rect fill="#efe3ae" height="80" width="80" x="344" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="384" y="126">E</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 470, 40)"><rect fill="#efe3ae" height="80" width="80" x="430" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="126">R</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" width="80" x="602" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="126">2</text></g></svg></div><h1 class="Splash_author__0gDgp">by Kamil Mielnik</h1></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.
|
|
13
|
+
}</style><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#efe3ae" height="80" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">S</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 126, 40)"><rect fill="#c7d8f9" height="80" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">C</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">R</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 298, 40)"><rect fill="#efe3ae" height="80" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">A</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 384, 40)"><rect fill="#c7d8f9" height="80" width="80" x="344" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="384" y="40">B</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 470, 40)"><rect fill="#c7d8f9" height="80" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">B</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 556, 40)"><rect fill="#efe3ae" height="80" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">L</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 642, 40)"><rect fill="#efe3ae" height="80" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">E</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#efe3ae" height="80" width="80" x="0" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="126">S</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" width="80" x="86" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="126">O</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" width="80" x="172" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="126">L</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 298, 40)"><rect fill="#f7c2aa" height="80" width="80" x="258" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="126">V</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 384, 40)"><rect fill="#efe3ae" height="80" width="80" x="344" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="384" y="126">E</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 470, 40)"><rect fill="#efe3ae" height="80" width="80" x="430" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="126">R</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" width="80" x="602" y="86"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="126">2</text></g></svg></div><h1 class="Splash_author__0gDgp">by Kamil Mielnik</h1></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.9.1"},"__N_SSG":true},"page":"/","query":{},"buildId":"Ntg-ilwD7GqTIFwRpSaTQ","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -95,7 +95,8 @@ const Index = ({ version })=>{
|
|
|
95
95
|
const [resultsContainerRef, { height: resultsContainerHeight , width: resultsContainerWidth }] = (0,react_use__WEBPACK_IMPORTED_MODULE_7__.useMeasure)();
|
|
96
96
|
const config = (0,state__WEBPACK_IMPORTED_MODULE_13__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_13__/* .selectConfig */ .$o);
|
|
97
97
|
const cellSize = (0,lib__WEBPACK_IMPORTED_MODULE_10__/* .getCellSize */ .Dz)(config, contentWidth - resultsContainerWidth, contentHeight);
|
|
98
|
-
const
|
|
98
|
+
const isInitializedInitial = contentWidth > 0 && boardHeight > 0 && resultsContainerWidth > 0;
|
|
99
|
+
const { 0: isInitialized , 1: setIsInitialized } = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(isInitializedInitial);
|
|
99
100
|
const resultsHeight = boardHeight - parameters__WEBPACK_IMPORTED_MODULE_11__/* .DICTIONARY_HEIGHT */ .n6 - (isTablet ? parameters__WEBPACK_IMPORTED_MODULE_11__/* .COMPONENTS_SPACING_MOBILE */ .Sg : parameters__WEBPACK_IMPORTED_MODULE_11__/* .COMPONENTS_SPACING */ .tr);
|
|
100
101
|
const handleClear = ()=>{
|
|
101
102
|
dispatch((0,state__WEBPACK_IMPORTED_MODULE_13__/* .reset */ .mc)());
|
|
@@ -113,6 +114,9 @@ const Index = ({ version })=>{
|
|
|
113
114
|
(0,hooks__WEBPACK_IMPORTED_MODULE_9__/* .useLocalStorage */ ._)();
|
|
114
115
|
(0,react_use__WEBPACK_IMPORTED_MODULE_7__.useEffectOnce)(()=>{
|
|
115
116
|
dispatch((0,state__WEBPACK_IMPORTED_MODULE_13__/* .initialize */ .j2)());
|
|
117
|
+
setTimeout(()=>{
|
|
118
|
+
setIsInitialized(true);
|
|
119
|
+
}, 100);
|
|
116
120
|
});
|
|
117
121
|
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(()=>{
|
|
118
122
|
if (true) {
|