feat(ui): external dictionary lookup link on the word-check tool #67

Merged
developer merged 2 commits from feat/dict-lookup-link into development 2026-06-15 16:32:23 +00:00
Owner

When a checked word is found, a Look it up / Поискать в словаре text link appears beside the complaint button and opens an external reference dictionary in a new tab:

  • scrabble_ru / erudit_ru -> https://gramota.ru/poisk?query=<word>
  • scrabble_en -> https://scrabblewordfinder.org/dictionary/<word>

Word is lower-cased and percent-encoded. The link hides for a word that is not found. Inside Telegram the click routes through the Mini App SDK's openLink (new telegramOpenExternalLink), so Telegram opens it directly instead of the WebView's "open this link?" confirmation; in a browser the anchor's own target=_blank handles it.

The complaint button is relabelled to Возражаю (ru); English stays Disagree.

URL composition is a pure dictionaryLookupUrl() in checkword.ts (unit-tested). FUNCTIONAL.md (+ _ru) updated.

Verified locally: pnpm check 0 errors, test:unit 238/238, build ok, test:e2e 136/136 (Chromium + WebKit).

Note: the openLink dialog removal can only be confirmed in real Telegram on the contour.

When a checked word is **found**, a `Look it up` / `Поискать в словаре` text link appears beside the complaint button and opens an external reference dictionary in a new tab: - `scrabble_ru` / `erudit_ru` -> `https://gramota.ru/poisk?query=<word>` - `scrabble_en` -> `https://scrabblewordfinder.org/dictionary/<word>` Word is lower-cased and percent-encoded. The link hides for a word that is not found. Inside Telegram the click routes through the Mini App SDK's `openLink` (new `telegramOpenExternalLink`), so Telegram opens it directly instead of the WebView's "open this link?" confirmation; in a browser the anchor's own `target=_blank` handles it. The complaint button is relabelled to **Возражаю** (ru); English stays `Disagree`. URL composition is a pure `dictionaryLookupUrl()` in `checkword.ts` (unit-tested). `FUNCTIONAL.md` (+ `_ru`) updated. **Verified locally:** `pnpm check` 0 errors, `test:unit` 238/238, `build` ok, `test:e2e` 136/136 (Chromium + WebKit). Note: the openLink dialog removal can only be confirmed in real Telegram on the contour.
developer added 1 commit 2026-06-15 16:14:35 +00:00
feat(ui): external dictionary lookup link on the word-check tool
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 48s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 56s
8e0d7f9e17
When a checked word is found, show a 'look it up' text link beside the
complaint button that opens an external reference dictionary in a new tab:
gramota.ru for the Russian variants, scrabblewordfinder.org for English
(word lower-cased and percent-encoded). The link hides for a word that is
not found. Inside Telegram it routes through the Mini App SDK's openLink, so
Telegram opens it directly instead of the WebView's 'open this link?'
confirmation; in a browser the anchor's own target=_blank handles it.

Relabel the complaint button to 'Возражаю' (ru); English stays 'Disagree'.
developer added 1 commit 2026-06-15 16:29:55 +00:00
feat(ui): route all in-app external links through Telegram openLink
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 49s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 59s
bd0482c376
Extend the openLink routing from the dictionary lookup to every external
link shown inside the Mini App, so none triggers the WebView's 'open this
link?' confirmation. A shared onExternalLinkClick handler resolves the anchor
via closest() (so it also works delegated on {@html} content), backed by a
pure routeExternalLinkInTelegram decision: only inside Telegram, only an
external http(s) target=_blank link, excluding same-origin/in-app and t.me
links (t.me keeps openTelegramLink). Applied to the word-check lookup, the
About rules link, the Feedback operator-reply links, and the feature-gated
announcement banner.

Outside Telegram every anchor keeps its native target=_blank.
owner approved these changes 2026-06-15 16:30:12 +00:00
developer merged commit 91d5c341ef into development 2026-06-15 16:32:23 +00:00
developer deleted branch feat/dict-lookup-link 2026-06-15 16:32:23 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-game#67