### Required

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/main.ts#L29-L32)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/main.ts#L29-L32)
Don't detach leaves in onunload.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/main.ts#L29-L29)
Async method 'onunload' has no 'await' expression.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/main.ts#L36-L36)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/main.ts#L72-L72)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/commands/reading-time-command.ts#L107-L107)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L349-L349)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/commands/reading-time-command.ts#L119-L119)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L191-L207)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L293-L309)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L195-L225)[\[5\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L351-L370)[\[6\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L371-L387)[\[7\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L396-L400)[\[8\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L409-L420)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/commands/reading-time-command.ts#L125-L125)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L114-L116)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L30-L30)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L38-L38)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L50-L50)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L68-L68)[\[5\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L105-L105)[\[6\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L180-L180)
Use sentence case for UI text.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L190-L190)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L292-L292)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L502-L502)
Avoid setting styles directly via `element.style.cursor`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L253-L253)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L288-L288)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L391-L391)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L409-L409)[\[5\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L413-L413)[\[6\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L429-L429)[\[7\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L444-L444)[\[8\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L474-L474)[\[9\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L485-L485)[\[10\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L503-L503)[\[11\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L514-L514)[\[12\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L561-L561)[\[13\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L26-L26)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L254-L254)
Avoid setting styles directly via `element.style.flexShrink`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L289-L289)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L461-L461)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L467-L467)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L507-L507)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L445-L445)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L472-L472)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L475-L475)
Avoid setting styles directly via `element.style.visibility`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L459-L459)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L465-L465)
Avoid setting styles directly via `element.style.top`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L460-L460)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L466-L466)
Avoid setting styles directly via `element.style.bottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L462-L462)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L468-L468)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L29-L29)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L504-L504)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L515-L515)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L93-L93)
Avoid setting styles directly via `element.style.alignItems`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L505-L505)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L32-L32)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L94-L94)
Avoid setting styles directly via `element.style.justifyContent`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L506-L506)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L516-L516)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L28-L28)
Avoid setting styles directly via `element.style.gap`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L508-L508)
Avoid setting styles directly via `element.style.fontSize`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L509-L509)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L589-L589)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L593-L593)
Avoid setting styles directly via `element.style.color`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L510-L510)
Avoid setting styles directly via `element.style.transition`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L517-L517)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L31-L31)
Avoid setting styles directly via `element.style.borderBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L518-L518)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L30-L30)
Avoid setting styles directly via `element.style.paddingBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L562-L562)
Avoid setting styles directly via `element.style.verticalAlign`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L563-L563)
Avoid setting styles directly via `element.style.marginLeft`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L564-L564)
Avoid setting styles directly via `element.style.marginRight`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L598-L598)
Async method 'onOpen' has no 'await' expression.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L602-L602)
Async method 'onClose' has no 'await' expression.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L21-L21)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L22-L22)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L44-L44)[\[3\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L56-L56)[\[4\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L67-L67)[\[5\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L73-L73)[\[6\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L75-L75)[\[7\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L80-L80)[\[8\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L82-L82)[\[9\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L101-L101)[\[10\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L316-L316)[\[11\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L408-L408)
Do not write to DOM directly using innerHTML/outerHTML property

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L27-L27)
Avoid setting styles directly via `element.style.flexWrap`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L95-L95)
Avoid setting styles directly via `element.style.width`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L99-L99)
Avoid setting styles directly via `element.style.textAlign`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L100-L100)
Avoid setting styles directly via `element.style.flex`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L320-L320)
Avoid setting styles directly via `element.style.position`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L323-L323)
Avoid setting styles directly via `element.style.transform`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/utils/reading-time.ts#L61-L61)[\[2\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/utils/reading-time.ts#L61-L61)
Unnecessary escape character: \-.



---

### Optional

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/reading-time-view.ts#L420-L420)
'settingsDivider' is assigned a value but never used.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L150-L150)
'textSpan' is assigned a value but never used.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L180-L180)
'linkText' is assigned a value but never used.

[\[1\]](https://github.com/santiyounger/wpm-reading-time/blob/2b9db370a3b645f8375cb3225485a28fc06714dc/src/ui/settings-tab.ts#L283-L283)
'speedLabel' is assigned a value but never used.



---



Do <b>NOT</b> open a new PR for re-validation.
Once you have pushed some changes to your repository the bot will rescan within 6 hours
If you think some of the required changes are incorrect, please comment with `/skip` and the reason why you think the results are incorrect.
To run these checks locally, install the [eslint plugin](https://github.com/obsidianmd/eslint-plugin) in your project.
Do <b>NOT</b> rebase this PR, this will be handled by the reviewer once the plugin has been approved.