### Description
<!-- Please describe the change(s) made in your PR -->
### Checks
- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language or a theme?
- [ ] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
- [ ] If is a theme, did you add the theme.css?
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [ ] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [ ] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.
<!-- label(optional scope): pull request title (@your_github_username)
-->
<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->
Closes #
<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->
<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](https://github.com/monkeytypegame/monkeytype/pull/1234) -->
<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
Co-authored-by: Nad Alaba <37968805+NadAlaba@users.noreply.github.com>
Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: Igor Bedesqui <igorbedesqui@gmail.com>
Co-authored-by: amarnathsama <63007641+amarnathsama@users.noreply.github.com>
* 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
* chore(PR labeler): fix workflow having read access only when triggered from forks (@NadAlaba)
* remove logging and add an example with scope
* use action instead of gh cli for security
* use action to read json (instead of echoing contents in shell) for security
* step.if needs the same variables
* don't let attacker choose the labels
* step.name starts in caps
* no need for variable if it's used once
* fix(zen mode): undefined word when changing tape mode during test (@NadAlaba)
* fix(zen mode): shrinking full-width-caret when changing tape mode during test (@NadAlaba)
* fix(zen mode): messed up caret in RTL languages (@NadAlaba)
because of the letter '_' that is added to the beginning of a word
in zen mode, the caret is getting positioned on the 2nd letter.
Also, since lastWordLetter is always undefined (because wordLen is
always 0) offsetHeight and offsetTop are getting the default values
regardless of font characteristics.
* fix caret staying in position in (blind + word tape + zen) mode
* refactor: combine last 2 solutions
* rename parameter
* refactor: use active word based on logical value, not DOM class
* use existing const instead of querying DOM
activeWord.offsetTop changes when the DOM element gets updated
no need to query the active word again
* better naming
* no need to requery DOM, we have the top of the previous word saved
* fixed bug where presets wouldnt change auto light and dark theme checkbox values
* mode code to setting.ts
* updated variable name
* updated setting.ts