@scrabble-solver/scrabble-solver 2.15.23 → 2.15.25

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.
Files changed (157) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +8 -8
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  14. package/.next/diagnostics/framework.json +1 -1
  15. package/.next/prerender-manifest.json +4 -4
  16. package/.next/routes-manifest.json +1 -1
  17. package/.next/server/chunks/30.js +1 -1
  18. package/.next/server/chunks/712.js +1 -1
  19. package/.next/server/middleware-build-manifest.js +1 -1
  20. package/.next/server/pages/404.html +1 -1
  21. package/.next/server/pages/500.html +1 -1
  22. package/.next/server/pages/index.html +1 -1
  23. package/.next/server/pages/index.js +1 -1
  24. package/.next/server/pages/index.json +1 -1
  25. package/.next/server/pages/not-found.html +1 -1
  26. package/.next/static/{zFnoNsMXUha-MKjuZn6AN → FDUqldlsD7FXe6iWhIJmu}/_buildManifest.js +1 -1
  27. package/.next/static/chunks/{main-ca07941c8a544c9a.js → main-65a5015b46ca9827.js} +1 -1
  28. package/.next/static/chunks/pages/{_app-a3061a79f91b3796.js → _app-c0932b8ca24945cb.js} +5 -5
  29. package/.next/static/chunks/pages/{index-6c5b582e7afc063c.js → index-08b3b0a754095919.js} +1 -1
  30. package/.next/trace +21 -21
  31. package/.next/trace-build +1 -1
  32. package/package.json +11 -11
  33. package/src/app-layout/useAppLayoutValue.ts +4 -4
  34. package/src/components/Alert/Alert.tsx +1 -1
  35. package/src/components/Board/Board.tsx +4 -4
  36. package/src/components/Board/BoardPure.tsx +4 -4
  37. package/src/components/Board/components/Actions/Actions.tsx +5 -5
  38. package/src/components/Board/components/Actions/lib.ts +2 -2
  39. package/src/components/Board/components/Cell/Cell.tsx +1 -1
  40. package/src/components/Board/components/InputPrompt/InputPrompt.tsx +3 -3
  41. package/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +4 -4
  42. package/src/components/Board/hooks/useBackgroundImage.tsx +13 -12
  43. package/src/components/Board/hooks/useBoardStyle.ts +4 -4
  44. package/src/components/Board/hooks/useFloatingActions.ts +2 -2
  45. package/src/components/Board/hooks/useFloatingInputPrompt.ts +1 -1
  46. package/src/components/Board/hooks/useGrid.ts +5 -5
  47. package/src/components/Board/lib.ts +2 -2
  48. package/src/components/Board/selectors.ts +2 -2
  49. package/src/components/Dictionary/Dictionary.tsx +2 -2
  50. package/src/components/DictionaryInput/DictionaryInput.tsx +2 -2
  51. package/src/components/EmptyState/EmptyState.tsx +13 -5
  52. package/src/components/Keys/Arrows/Arrows.tsx +1 -1
  53. package/src/components/Keys/index.tsx +2 -2
  54. package/src/components/Loading/Loading.tsx +2 -2
  55. package/src/components/Logo/Logo.tsx +2 -2
  56. package/src/components/Modal/Modal.tsx +3 -4
  57. package/src/components/NavButtons/NavButtons.tsx +4 -4
  58. package/src/components/NavButtons/selectors.ts +1 -1
  59. package/src/components/NotFound/NotFound.tsx +1 -1
  60. package/src/components/PlainTiles/lib.ts +1 -1
  61. package/src/components/Progress/Progress.tsx +2 -2
  62. package/src/components/Rack/Rack.tsx +4 -4
  63. package/src/components/Rack/components/InputPrompt/InputPrompt.tsx +2 -2
  64. package/src/components/Rack/components/InputPrompt/lib.ts +1 -3
  65. package/src/components/Rack/components/RackTile/RackTile.tsx +2 -2
  66. package/src/components/Rack/selectors.ts +2 -2
  67. package/src/components/Results/Cell.tsx +2 -2
  68. package/src/components/Results/Header.tsx +5 -5
  69. package/src/components/Results/HeaderButton.tsx +3 -3
  70. package/src/components/Results/Result.tsx +6 -6
  71. package/src/components/Results/Results.tsx +4 -4
  72. package/src/components/Results/SolveButton.tsx +2 -2
  73. package/src/components/ResultsInput/ResultsInput.tsx +2 -2
  74. package/src/components/Solver/Solver.tsx +3 -3
  75. package/src/components/Solver/components/InsertButton/InsertButton.tsx +2 -2
  76. package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +2 -2
  77. package/src/components/Spinner/Spinner.tsx +1 -1
  78. package/src/components/Tile/Tile.tsx +3 -3
  79. package/src/components/Tile/TilePure.tsx +1 -1
  80. package/src/components/Tooltip/TooltipContent.tsx +1 -1
  81. package/src/hooks/useColumns.ts +3 -3
  82. package/src/hooks/useDirection.ts +1 -1
  83. package/src/hooks/useLanguage.ts +1 -1
  84. package/src/hooks/useLocalStorage.ts +1 -1
  85. package/src/hooks/useMedia.ts +0 -1
  86. package/src/hooks/useMediaQuery.ts +1 -1
  87. package/src/i18n/constants.ts +1 -1
  88. package/src/i18n/i18n.ts +1 -1
  89. package/src/i18n/languages/english.json +1 -1
  90. package/src/i18n/languages/french.json +1 -1
  91. package/src/i18n/languages/german.json +1 -1
  92. package/src/i18n/languages/polish.json +1 -1
  93. package/src/i18n/languages/romanian.json +1 -1
  94. package/src/i18n/languages/spanish.json +1 -1
  95. package/src/i18n/languages/turkish.json +1 -1
  96. package/src/lib/createComparator.ts +1 -1
  97. package/src/lib/createKeyComparator.ts +1 -1
  98. package/src/lib/createStringComparator.ts +1 -1
  99. package/src/lib/getTileSizes.ts +1 -1
  100. package/src/lib/numberComparator.ts +1 -1
  101. package/src/lib/reverseComparator.ts +1 -1
  102. package/src/lib/zipCharactersAndTiles.ts +1 -1
  103. package/src/modals/DictionaryModal/DictionaryModal.tsx +2 -2
  104. package/src/modals/KeyMapModal/KeyMapModal.tsx +2 -2
  105. package/src/modals/MenuModal/MenuModal.tsx +5 -5
  106. package/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +5 -5
  107. package/src/modals/RemainingTilesModal/components/Character/Character.tsx +5 -5
  108. package/src/modals/RemainingTilesModal/lib.ts +1 -1
  109. package/src/modals/RemainingTilesModal/selectors.ts +1 -1
  110. package/src/modals/ResultsModal/ResultsModal.tsx +4 -4
  111. package/src/modals/SettingsModal/SettingsModal.tsx +3 -3
  112. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +2 -2
  113. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +1 -1
  114. package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +2 -2
  115. package/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +2 -2
  116. package/src/modals/SettingsModal/components/InputModeSetting/lib.ts +1 -1
  117. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +3 -3
  118. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx +2 -2
  119. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/lib.ts +1 -1
  120. package/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +2 -2
  121. package/src/modals/WordsModal/WordsModal.tsx +3 -3
  122. package/src/pages/_app.tsx +3 -4
  123. package/src/pages/api/dictionary/[locale]/[word].ts +1 -1
  124. package/src/pages/api/dictionary/[locale]/index.ts +1 -1
  125. package/src/pages/api/solve.ts +2 -2
  126. package/src/pages/api/verify.ts +1 -1
  127. package/src/pages/api/visit.ts +1 -1
  128. package/src/pages/index.tsx +6 -6
  129. package/src/pages/not-found.tsx +1 -1
  130. package/src/parameters/index.ts +4 -4
  131. package/src/sdk/fetchJson.ts +3 -7
  132. package/src/service-worker/index.ts +0 -1
  133. package/src/service-worker/routeSolveRequests.ts +19 -13
  134. package/src/service-worker/routeVerifyRequests.ts +1 -1
  135. package/src/state/board/slice.ts +30 -5
  136. package/src/state/cellFilters/lib.ts +1 -1
  137. package/src/state/cellFilters/selectors.ts +1 -1
  138. package/src/state/cellFilters/slice.ts +1 -1
  139. package/src/state/cellFilters/types.ts +1 -1
  140. package/src/state/lib.ts +2 -2
  141. package/src/state/localStorage.ts +1 -1
  142. package/src/state/rack/slice.ts +2 -2
  143. package/src/state/rack/types.ts +1 -1
  144. package/src/state/results/initialState.ts +1 -1
  145. package/src/state/results/lib.ts +9 -2
  146. package/src/state/results/selectors.ts +1 -1
  147. package/src/state/results/slice.ts +1 -1
  148. package/src/state/results/types.ts +1 -1
  149. package/src/state/sagas.ts +4 -5
  150. package/src/state/selectors.ts +1 -1
  151. package/src/state/settings/selectors.ts +1 -1
  152. package/src/state/settings/slice.ts +1 -1
  153. package/src/state/settings/types.ts +1 -1
  154. package/src/state/useTranslate.ts +1 -1
  155. package/tsconfig.json +1 -16
  156. package/tsconfig.tsbuildinfo +1 -1
  157. /package/.next/static/{zFnoNsMXUha-MKjuZn6AN → FDUqldlsD7FXe6iWhIJmu}/_ssgManifest.js +0 -0
@@ -2,9 +2,9 @@ import classNames from 'classnames';
2
2
  import { type CSSProperties, type FunctionComponent, type ReactElement, type SVGAttributes, useCallback } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { SortDown, SortUp } from 'icons';
6
- import { resultsSlice, selectResultsSort, useTranslate, useTypedSelector } from 'state';
7
- import { type ResultColumnId, SortDirection, type TranslationKey } from 'types';
5
+ import { SortDown, SortUp } from '@/icons';
6
+ import { resultsSlice, selectResultsSort, useTranslate, useTypedSelector } from '@/state';
7
+ import { type ResultColumnId, SortDirection, type TranslationKey } from '@/types';
8
8
 
9
9
  import { Tooltip } from '../Tooltip';
10
10
 
@@ -3,18 +3,18 @@ import { type FocusEventHandler, type MouseEventHandler, type ReactElement, useR
3
3
  import Highlighter from 'react-highlight-words';
4
4
  import { type RowComponentProps } from 'react-window';
5
5
 
6
- import { useAppLayout } from 'app-layout';
7
- import { useColumns } from 'hooks';
8
- import { LOCALE_FEATURES } from 'i18n';
9
- import { noop } from 'lib';
6
+ import { useAppLayout } from '@/app-layout';
7
+ import { useColumns } from '@/hooks';
8
+ import { LOCALE_FEATURES } from '@/i18n';
9
+ import { noop } from '@/lib';
10
10
  import {
11
11
  selectIsResultMatching,
12
12
  selectLocale,
13
13
  selectResultCoordinates,
14
14
  selectResultsQuery,
15
15
  useTypedSelector,
16
- } from 'state';
17
- import { ResultColumnId } from 'types';
16
+ } from '@/state';
17
+ import { ResultColumnId } from '@/types';
18
18
 
19
19
  import { Cell } from './Cell';
20
20
  import styles from './Results.module.scss';
@@ -3,9 +3,9 @@ import { useEffect, useMemo, type FunctionComponent } from 'react';
3
3
  import { List, useListRef } from 'react-window';
4
4
  import { useDebounce } from 'use-debounce';
5
5
 
6
- import { useLatest } from 'hooks';
7
- import { LOCALE_FEATURES } from 'i18n';
8
- import { RESULTS_ITEM_HEIGHT } from 'parameters';
6
+ import { useLatest } from '@/hooks';
7
+ import { LOCALE_FEATURES } from '@/i18n';
8
+ import { RESULTS_ITEM_HEIGHT } from '@/parameters';
9
9
  import {
10
10
  selectAreResultsOutdated,
11
11
  selectLocale,
@@ -14,7 +14,7 @@ import {
14
14
  selectSolveIsLoading,
15
15
  useTranslate,
16
16
  useTypedSelector,
17
- } from 'state';
17
+ } from '@/state';
18
18
 
19
19
  import { EmptyState } from '../EmptyState';
20
20
  import { Loading } from '../Loading';
@@ -1,7 +1,7 @@
1
1
  import { type FunctionComponent } from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
3
 
4
- import { Search } from 'icons';
4
+ import { Search } from '@/icons';
5
5
  import {
6
6
  selectAreResultsOutdated,
7
7
  selectSolveIsLoading,
@@ -9,7 +9,7 @@ import {
9
9
  solveSlice,
10
10
  useTranslate,
11
11
  useTypedSelector,
12
- } from 'state';
12
+ } from '@/state';
13
13
 
14
14
  import { Button } from '../Button';
15
15
 
@@ -2,8 +2,8 @@ import classNames from 'classnames';
2
2
  import { type ChangeEvent, type FunctionComponent, type SubmitEventHandler, useState } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { isRegExp } from 'lib';
6
- import { resultsSlice, selectResultsQuery, useTranslate, useTypedSelector } from 'state';
5
+ import { isRegExp } from '@/lib';
6
+ import { resultsSlice, selectResultsQuery, useTranslate, useTypedSelector } from '@/state';
7
7
 
8
8
  import styles from './ResultsInput.module.scss';
9
9
 
@@ -3,8 +3,8 @@ import classNames from 'classnames';
3
3
  import { type FunctionComponent, memo, type SyntheticEvent, useEffect, useMemo } from 'react';
4
4
  import { useDispatch } from 'react-redux';
5
5
 
6
- import { useAppLayout } from 'app-layout';
7
- import { useIsTouchDevice } from 'hooks';
6
+ import { useAppLayout } from '@/app-layout';
7
+ import { useIsTouchDevice } from '@/hooks';
8
8
  import {
9
9
  resultsSlice,
10
10
  selectAreResultsOutdated,
@@ -14,7 +14,7 @@ import {
14
14
  solveSlice,
15
15
  useTranslate,
16
16
  useTypedSelector,
17
- } from 'state';
17
+ } from '@/state';
18
18
 
19
19
  import { Alert } from '../Alert';
20
20
  import { Board } from '../Board';
@@ -2,8 +2,8 @@ import classNames from 'classnames';
2
2
  import { type FunctionComponent } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { Check } from 'icons';
6
- import { resultsSlice, selectAreResultsOutdated, selectResultCandidate, useTranslate, useTypedSelector } from 'state';
5
+ import { Check } from '@/icons';
6
+ import { resultsSlice, selectAreResultsOutdated, selectResultCandidate, useTranslate, useTypedSelector } from '@/state';
7
7
 
8
8
  import { Button } from '../../../Button';
9
9
 
@@ -2,7 +2,7 @@ import classNames from 'classnames';
2
2
  import { type FunctionComponent, type HTMLProps, type MouseEventHandler } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { ChevronDown, ChevronLeft, ChevronRight } from 'icons';
5
+ import { ChevronDown, ChevronLeft, ChevronRight } from '@/icons';
6
6
  import {
7
7
  resultsSlice,
8
8
  selectAreResultsOutdated,
@@ -12,7 +12,7 @@ import {
12
12
  selectResultCandidate,
13
13
  useTranslate,
14
14
  useTypedSelector,
15
- } from 'state';
15
+ } from '@/state';
16
16
 
17
17
  import { Button } from '../../../Button';
18
18
  import { Spinner } from '../../../Spinner';
@@ -1,7 +1,7 @@
1
1
  import classNames from 'classnames';
2
2
  import { type FunctionComponent } from 'react';
3
3
 
4
- import { useTranslate } from 'state';
4
+ import { useTranslate } from '@/state';
5
5
 
6
6
  import styles from './Spinner.module.scss';
7
7
 
@@ -13,9 +13,9 @@ import {
13
13
  useRef,
14
14
  } from 'react';
15
15
 
16
- import { useAppLayout } from 'app-layout';
17
- import { getTileSizes, noop } from 'lib';
18
- import { selectLocale, useTypedSelector } from 'state';
16
+ import { useAppLayout } from '@/app-layout';
17
+ import { getTileSizes, noop } from '@/lib';
18
+ import { selectLocale, useTypedSelector } from '@/state';
19
19
 
20
20
  import { TilePure } from './TilePure';
21
21
 
@@ -11,7 +11,7 @@ import {
11
11
  type TouchEventHandler,
12
12
  } from 'react';
13
13
 
14
- import { ExclamationSquareFill } from 'icons';
14
+ import { ExclamationSquareFill } from '@/icons';
15
15
 
16
16
  import styles from './Tile.module.scss';
17
17
 
@@ -1,7 +1,7 @@
1
1
  import { FloatingArrow, FloatingPortal, useDelayGroup, useMergeRefs, useTransitionStyles } from '@floating-ui/react';
2
2
  import { forwardRef, type HTMLProps } from 'react';
3
3
 
4
- import { TOOLTIP_DURATION } from 'parameters';
4
+ import { TOOLTIP_DURATION } from '@/parameters';
5
5
 
6
6
  import { useTooltipContext } from './context';
7
7
  import styles from './Tooltip.module.scss';
@@ -1,9 +1,9 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
2
  import { useMemo } from 'react';
3
3
 
4
- import { LOCALE_FEATURES } from 'i18n';
5
- import { selectLocale, selectShowCoordinates, useTypedSelector } from 'state';
6
- import { ResultColumnId } from 'types';
4
+ import { LOCALE_FEATURES } from '@/i18n';
5
+ import { selectLocale, selectShowCoordinates, useTypedSelector } from '@/state';
6
+ import { ResultColumnId } from '@/types';
7
7
 
8
8
  import { useMediaQueries } from './useMediaQueries';
9
9
 
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
 
3
- import { noop } from 'lib';
3
+ import { noop } from '@/lib';
4
4
 
5
5
  export const useDirection = (direction: 'ltr' | 'rtl') => {
6
6
  useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
 
3
- import { noop } from 'lib';
3
+ import { noop } from '@/lib';
4
4
 
5
5
  export const useLanguage = (language: string) => {
6
6
  useEffect(() => {
@@ -11,7 +11,7 @@ import {
11
11
  selectShowCoordinates,
12
12
  selectRemoveCellFilters,
13
13
  useTypedSelector,
14
- } from 'state';
14
+ } from '@/state';
15
15
 
16
16
  export const useLocalStorage = () => {
17
17
  const autoGroupTiles = useTypedSelector(selectAutoGroupTiles);
@@ -22,7 +22,6 @@ export const useMedia = (query: string, defaultState?: boolean) => {
22
22
  setState(mediaQuery.matches);
23
23
  };
24
24
 
25
- // eslint-disable-next-line react-hooks/set-state-in-effect
26
25
  setState(mediaQuery.matches);
27
26
  mediaQuery.addEventListener('change', handleChange);
28
27
 
@@ -1,6 +1,6 @@
1
1
  import { buildMediaQuery } from 'include-media-query-builder';
2
2
 
3
- import { BREAKPOINTS } from 'parameters';
3
+ import { BREAKPOINTS } from '@/parameters';
4
4
 
5
5
  import { useMedia } from './useMedia';
6
6
 
@@ -2,7 +2,7 @@ import { COMMA_ARABIC, COMMA_LATIN } from '@scrabble-solver/constants';
2
2
  import { Locale } from '@scrabble-solver/types';
3
3
  import { type FunctionComponent, type SVGAttributes } from 'react';
4
4
 
5
- import { FlagDe, FlagEs, FlagFa, FlagFr, FlagGb, FlagPl, FlagRo, FlagTr, FlagUs } from 'icons';
5
+ import { FlagDe, FlagEs, FlagFa, FlagFr, FlagGb, FlagPl, FlagRo, FlagTr, FlagUs } from '@/icons';
6
6
 
7
7
  interface LocaleFeatures {
8
8
  comma: string;
package/src/i18n/i18n.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Locale } from '@scrabble-solver/types';
2
2
 
3
- import { type Translations } from 'types';
3
+ import { type Translations } from '@/types';
4
4
 
5
5
  import english from './languages/english.json';
6
6
  import french from './languages/french.json';
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Insert two-letter tile",
43
43
  "keyMap.board-and-rack.navigate": "Navigate",
44
44
  "keyMap.board-and-rack.remove-tile": "Remove tile",
45
- "keyMap.board-and-rack.submit": "Start solving",
45
+ "keyMap.board-and-rack.submit": "Solve",
46
46
  "keyMap.rack": "Rack",
47
47
  "keyMap.rack.insert-blank": "Insert blank",
48
48
  "menu": "Menu",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Insérer une tuile de deux lettres",
43
43
  "keyMap.board-and-rack.navigate": "Naviguer",
44
44
  "keyMap.board-and-rack.remove-tile": "Supprimer une case",
45
- "keyMap.board-and-rack.submit": "Commencer la résolution",
45
+ "keyMap.board-and-rack.submit": "Résoudre",
46
46
  "keyMap.rack": "Chevalet",
47
47
  "keyMap.rack.insert-blank": "Inserer une case vide",
48
48
  "menu": "Menu",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Zwei-Buchstaben Stein hinzufügen",
43
43
  "keyMap.board-and-rack.navigate": "Navigieren",
44
44
  "keyMap.board-and-rack.remove-tile": "Stein entfernen",
45
- "keyMap.board-and-rack.submit": "Lösen starten",
45
+ "keyMap.board-and-rack.submit": "Lösen",
46
46
  "keyMap.rack": "Ablage",
47
47
  "keyMap.rack.insert-blank": "Blanko hinzufügen",
48
48
  "menu": "Menü",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Wstaw dwuliterową płytkę",
43
43
  "keyMap.board-and-rack.navigate": "Nawigacja",
44
44
  "keyMap.board-and-rack.remove-tile": "Zdejmij płytkę",
45
- "keyMap.board-and-rack.submit": "Rozpocznij wyszukiwanie",
45
+ "keyMap.board-and-rack.submit": "Rozwiąż",
46
46
  "keyMap.rack": "Stojak",
47
47
  "keyMap.rack.insert-blank": "Wstaw blanka",
48
48
  "menu": "Menu",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Introducere piesa 2 litere",
43
43
  "keyMap.board-and-rack.navigate": "Navigare",
44
44
  "keyMap.board-and-rack.remove-tile": "Indeparteaza piesa",
45
- "keyMap.board-and-rack.submit": "Pornire cautare",
45
+ "keyMap.board-and-rack.submit": "Rezolvă",
46
46
  "keyMap.rack": "Grupa litere",
47
47
  "keyMap.rack.insert-blank": "Introducere joker",
48
48
  "menu": "Meniu",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "Insertar mosaico de dos letras",
43
43
  "keyMap.board-and-rack.navigate": "Navegar",
44
44
  "keyMap.board-and-rack.remove-tile": "Quitar Letra",
45
- "keyMap.board-and-rack.submit": "Empezar a resolver",
45
+ "keyMap.board-and-rack.submit": "Resolver",
46
46
  "keyMap.rack": "Estante",
47
47
  "keyMap.rack.insert-blank": "Insertar espacio en blanco",
48
48
  "menu": "Menú",
@@ -42,7 +42,7 @@
42
42
  "keyMap.board-and-rack.insert-two-letter-tile": "İki harfli kutucuğu ekle",
43
43
  "keyMap.board-and-rack.navigate": "Gezinme",
44
44
  "keyMap.board-and-rack.remove-tile": "Taşı kaldır",
45
- "keyMap.board-and-rack.submit": "Çözmeye başla",
45
+ "keyMap.board-and-rack.submit": "Çöz",
46
46
  "keyMap.rack": "Deste",
47
47
  "keyMap.rack.insert-blank": "Joker ekle (spacebar)",
48
48
  "menu": "Menü",
@@ -1,4 +1,4 @@
1
- import type { Comparator } from 'types';
1
+ import type { Comparator } from '@/types';
2
2
 
3
3
  import { createStringComparator } from './createStringComparator';
4
4
  import { numberComparator } from './numberComparator';
@@ -1,4 +1,4 @@
1
- import { type Comparator } from 'types';
1
+ import { type Comparator } from '@/types';
2
2
 
3
3
  import { createStringComparator } from './createStringComparator';
4
4
  import { numberComparator } from './numberComparator';
@@ -1,4 +1,4 @@
1
- import { type Comparator } from 'types';
1
+ import { type Comparator } from '@/types';
2
2
 
3
3
  export const createStringComparator: (locale: string) => Comparator<string> = (locale) => {
4
4
  return (a, b) => {
@@ -1,4 +1,4 @@
1
- import { BOARD_TILE_FONT_SIZE_MIN, BOARD_TILE_FONT_SIZE_POINTS_MIN } from 'parameters';
1
+ import { BOARD_TILE_FONT_SIZE_MIN, BOARD_TILE_FONT_SIZE_POINTS_MIN } from '@/parameters';
2
2
 
3
3
  interface TileSizes {
4
4
  pointsFontSize: number;
@@ -1,3 +1,3 @@
1
- import { type Comparator } from 'types';
1
+ import { type Comparator } from '@/types';
2
2
 
3
3
  export const numberComparator: Comparator<number> = (a, b) => a - b;
@@ -1,4 +1,4 @@
1
- import { type Comparator } from 'types';
1
+ import { type Comparator } from '@/types';
2
2
 
3
3
  export const reverseComparator = <T>(comparator: Comparator<T>): Comparator<T> => {
4
4
  return (a: T, b: T): number => -comparator(a, b);
@@ -1,7 +1,7 @@
1
1
  import { BLANK } from '@scrabble-solver/constants';
2
2
  import { type Tile } from '@scrabble-solver/types';
3
3
 
4
- import { type Rack } from 'types';
4
+ import { type Rack } from '@/types';
5
5
 
6
6
  interface CharacterTilePair {
7
7
  character: string | null;
@@ -1,7 +1,7 @@
1
1
  import { type FunctionComponent, memo } from 'react';
2
2
 
3
- import { Dictionary, DictionaryInput, Modal } from 'components';
4
- import { useTranslate } from 'state';
3
+ import { Dictionary, DictionaryInput, Modal } from '@/components';
4
+ import { useTranslate } from '@/state';
5
5
 
6
6
  import styles from './DictionaryModal.module.scss';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { type FunctionComponent, memo } from 'react';
2
2
 
3
- import { Arrows, Backspace, Ctrl, Del, Enter, Key, Modal, Space } from 'components';
4
- import { selectConfig, useTranslate, useTypedSelector } from 'state';
3
+ import { Arrows, Backspace, Ctrl, Del, Enter, Key, Modal, Space } from '@/components';
4
+ import { selectConfig, useTranslate, useTypedSelector } from '@/state';
5
5
 
6
6
  import { Mapping } from './components';
7
7
 
@@ -1,10 +1,10 @@
1
1
  import { type FunctionComponent, memo } from 'react';
2
2
 
3
- import { Button, Modal } from 'components';
4
- import { LOCALE_FEATURES } from 'i18n';
5
- import { BookHalf, CardChecklist, Cog, Github, Sack } from 'icons';
6
- import { GITHUB_PROJECT_URL } from 'parameters';
7
- import { selectLocale, useTranslate, useTypedSelector } from 'state';
3
+ import { Button, Modal } from '@/components';
4
+ import { LOCALE_FEATURES } from '@/i18n';
5
+ import { BookHalf, CardChecklist, Cog, Github, Sack } from '@/icons';
6
+ import { GITHUB_PROJECT_URL } from '@/parameters';
7
+ import { selectLocale, useTranslate, useTypedSelector } from '@/state';
8
8
 
9
9
  import styles from './MenuModal.module.scss';
10
10
 
@@ -1,10 +1,10 @@
1
1
  import { type FunctionComponent, memo } from 'react';
2
2
 
3
- import { Badge, Modal } from 'components';
4
- import { LOCALE_FEATURES } from 'i18n';
5
- import { getTileSizes } from 'lib';
6
- import { REMAINING_TILES_TILE_SIZE } from 'parameters';
7
- import { selectLocale, useTranslate, useTypedSelector } from 'state';
3
+ import { Badge, Modal } from '@/components';
4
+ import { LOCALE_FEATURES } from '@/i18n';
5
+ import { getTileSizes } from '@/lib';
6
+ import { REMAINING_TILES_TILE_SIZE } from '@/parameters';
7
+ import { selectLocale, useTranslate, useTypedSelector } from '@/state';
8
8
 
9
9
  import { Character } from './components';
10
10
  import styles from './RemainingTilesModal.module.scss';
@@ -2,11 +2,11 @@ import { BLANK } from '@scrabble-solver/constants';
2
2
  import classNames from 'classnames';
3
3
  import { type FunctionComponent } from 'react';
4
4
 
5
- import { Progress, Tile } from 'components';
6
- import { LOCALE_FEATURES } from 'i18n';
7
- import { REMAINING_TILES_TILE_SIZE } from 'parameters';
8
- import { selectCharacterPoints, selectLocale, useTypedSelector } from 'state';
9
- import { type RemainingTile } from 'types';
5
+ import { Progress, Tile } from '@/components';
6
+ import { LOCALE_FEATURES } from '@/i18n';
7
+ import { REMAINING_TILES_TILE_SIZE } from '@/parameters';
8
+ import { selectCharacterPoints, selectLocale, useTypedSelector } from '@/state';
9
+ import { type RemainingTile } from '@/types';
10
10
 
11
11
  import styles from './Character.module.scss';
12
12
 
@@ -1,6 +1,6 @@
1
1
  import { BLANK, CONSONANTS, VOWELS } from '@scrabble-solver/constants';
2
2
 
3
- import { type RemainingTile, type RemainingTilesGroup } from 'types';
3
+ import { type RemainingTile, type RemainingTilesGroup } from '@/types';
4
4
 
5
5
  export const getRemainingTilesGroups = (remainingTiles: RemainingTile[]): RemainingTilesGroup[] => {
6
6
  const consonants = remainingTiles.filter(isConsonant);
@@ -1,6 +1,6 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
2
 
3
- import { selectRemainingTiles } from 'state';
3
+ import { selectRemainingTiles } from '@/state';
4
4
 
5
5
  import { getRemainingTilesGroups } from './lib';
6
6
 
@@ -2,10 +2,10 @@ import { type Result } from '@scrabble-solver/types';
2
2
  import { type FunctionComponent, memo, useEffect, useMemo } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { useAppLayout } from 'app-layout';
6
- import { Button, Dictionary, Modal, Results } from 'components';
7
- import { Check, EyeFill } from 'icons';
8
- import { resultsSlice, selectProcessedResults, selectResultCandidate, useTranslate, useTypedSelector } from 'state';
5
+ import { useAppLayout } from '@/app-layout';
6
+ import { Button, Dictionary, Modal, Results } from '@/components';
7
+ import { Check, EyeFill } from '@/icons';
8
+ import { resultsSlice, selectProcessedResults, selectResultCandidate, useTranslate, useTypedSelector } from '@/state';
9
9
 
10
10
  import styles from './ResultsModal.module.scss';
11
11
 
@@ -1,8 +1,8 @@
1
1
  import { type FunctionComponent, memo } from 'react';
2
2
 
3
- import { Modal } from 'components';
4
- import { useIsTouchDevice } from 'hooks';
5
- import { useTranslate } from 'state';
3
+ import { Modal } from '@/components';
4
+ import { useIsTouchDevice } from '@/hooks';
5
+ import { useTranslate } from '@/state';
6
6
 
7
7
  import {
8
8
  AutoGroupTilesSetting,
@@ -1,8 +1,8 @@
1
1
  import { type ChangeEvent, type FunctionComponent } from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
3
 
4
- import { Radio } from 'components';
5
- import { selectAutoGroupTiles, settingsSlice, useTranslate, useTypedSelector } from 'state';
4
+ import { Radio } from '@/components';
5
+ import { selectAutoGroupTiles, settingsSlice, useTranslate, useTypedSelector } from '@/state';
6
6
 
7
7
  import styles from './AutoGroupTilesSetting.module.scss';
8
8
  import { NULL_VALUE } from './constants';
@@ -1,4 +1,4 @@
1
- import { type AutoGroupTiles } from 'types';
1
+ import { type AutoGroupTiles } from '@/types';
2
2
 
3
3
  import { NULL_VALUE } from './constants';
4
4
 
@@ -2,8 +2,8 @@ import { isGame } from '@scrabble-solver/types';
2
2
  import { type ChangeEvent, type FunctionComponent, useMemo } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { Radio } from 'components';
6
- import { selectGame, selectLocale, settingsSlice, useTypedSelector } from 'state';
5
+ import { Radio } from '@/components';
6
+ import { selectGame, selectLocale, settingsSlice, useTypedSelector } from '@/state';
7
7
 
8
8
  import styles from './ConfigSetting.module.scss';
9
9
  import { getOptions } from './lib';
@@ -1,8 +1,8 @@
1
1
  import { type ChangeEvent, type FunctionComponent } from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
3
 
4
- import { Radio } from 'components';
5
- import { selectInputMode, settingsSlice, useTranslate, useTypedSelector } from 'state';
4
+ import { Radio } from '@/components';
5
+ import { selectInputMode, settingsSlice, useTranslate, useTypedSelector } from '@/state';
6
6
 
7
7
  import styles from './InputModeSetting.module.scss';
8
8
  import { parseValue } from './lib';
@@ -1,4 +1,4 @@
1
- import { type InputMode } from 'types';
1
+ import { type InputMode } from '@/types';
2
2
 
3
3
  export const parseValue = (value: string): InputMode => {
4
4
  if (value === 'keyboard') {
@@ -3,9 +3,9 @@ import classNames from 'classnames';
3
3
  import { type ChangeEvent, type FunctionComponent } from 'react';
4
4
  import { useDispatch } from 'react-redux';
5
5
 
6
- import { Radio } from 'components';
7
- import { LOCALE_FEATURES } from 'i18n';
8
- import { selectLocale, settingsSlice, useTypedSelector } from 'state';
6
+ import { Radio } from '@/components';
7
+ import { LOCALE_FEATURES } from '@/i18n';
8
+ import { selectLocale, settingsSlice, useTypedSelector } from '@/state';
9
9
 
10
10
  import styles from './LocaleSetting.module.scss';
11
11
 
@@ -1,8 +1,8 @@
1
1
  import { type ChangeEvent, type FunctionComponent } from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
3
 
4
- import { Radio } from 'components';
5
- import { selectRemoveCellFilters, settingsSlice, useTranslate, useTypedSelector } from 'state';
4
+ import { Radio } from '@/components';
5
+ import { selectRemoveCellFilters, settingsSlice, useTranslate, useTypedSelector } from '@/state';
6
6
 
7
7
  import { parseValue } from './lib';
8
8
  import styles from './RemoveCellFiltersSetting.module.scss';
@@ -1,4 +1,4 @@
1
- import { type RemoveCellFilters } from 'types';
1
+ import { type RemoveCellFilters } from '@/types';
2
2
 
3
3
  export const parseValue = (value: string): RemoveCellFilters => {
4
4
  if (value === 'always') {
@@ -2,8 +2,8 @@ import { type ShowCoordinates } from '@scrabble-solver/types';
2
2
  import { type ChangeEvent, type FunctionComponent } from 'react';
3
3
  import { useDispatch } from 'react-redux';
4
4
 
5
- import { Radio } from 'components';
6
- import { selectShowCoordinates, settingsSlice, useTranslate, useTypedSelector } from 'state';
5
+ import { Radio } from '@/components';
6
+ import { selectShowCoordinates, settingsSlice, useTranslate, useTypedSelector } from '@/state';
7
7
 
8
8
  import styles from './ShowCoordinatesSetting.module.scss';
9
9