mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2024-09-20 07:16:17 +08:00
fix(caret): getting last letter top in long multiline words (@NadAlaba) (#5856)
* fix(caret): getting last letter top in long multiline words (@NadAlaba) * no need to check for invisible extra letters This check was needed when `letterPosTop` was `currentLetter?.offsetTop ?? previousLetter?.offsetTop ?? lastWordLetter?.offsetTop` where `previousLetter?.offsetTop` was defined but 0 in extra letters in blind mode, so we got the value of zero although in some fonts the real value (`lastWordLetter` value) is not 0. However, now we don't use `previousLetter`, and `currentLetter` is undefined in extra letters (blind mode or not), so we'll get the value we want (`lastWordLetter` value) in extra letters. * update comment
This commit is contained in:
parent
77c1e8e298
commit
cbaefbf210
|
@ -159,14 +159,15 @@ export async function updatePosition(noAnim = false): Promise<void> {
|
|||
const isLanguageRightToLeft = currentLanguage.rightToLeft;
|
||||
|
||||
// in blind mode, and hide extra letters, extra letters have zero offsets
|
||||
// offsetTop and offsetHeight is the same for all visible letters
|
||||
// offsetHeight is the same for all visible letters
|
||||
// so is offsetTop (for same line letters)
|
||||
const letterHeight =
|
||||
currentLetter?.offsetHeight ||
|
||||
lastWordLetter?.offsetHeight ||
|
||||
Config.fontSize * Numbers.convertRemToPixels(1);
|
||||
|
||||
const letterPosTop =
|
||||
currentLetter?.offsetTop || lastWordLetter?.offsetTop || 0;
|
||||
currentLetter?.offsetTop ?? lastWordLetter?.offsetTop ?? 0;
|
||||
const diff = letterHeight - caret.offsetHeight;
|
||||
let newTop = activeWordEl.offsetTop + letterPosTop + diff / 2;
|
||||
if (Config.caretStyle === "underline") {
|
||||
|
|
Loading…
Reference in a new issue