fix: use document instead of activeDocument for hover class

Obsidian's new settings window is a separate document, so activeDocument
was targeting the wrong body when toggling the reveal-on-hover setting.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@gapmiss 2026-05-30 16:39:53 -05:00
parent 2bb0b6fe5f
commit b148d2455c

11
main.ts
View file

@ -130,7 +130,8 @@ export default class BlurPlugin extends Plugin {
}
onunload(): void {
activeDocument.body.removeClass('obsidian-blur-hover');
// eslint-disable-next-line obsidianmd/prefer-active-doc -- must target main window
document.body.removeClass('obsidian-blur-hover');
}
async loadSettings(): Promise<void> {
@ -142,7 +143,13 @@ export default class BlurPlugin extends Plugin {
}
applyHoverClass(): void {
activeDocument.body.toggleClass('obsidian-blur-hover', this.settings.revealOnHover);
// eslint-disable-next-line obsidianmd/prefer-active-doc -- must target main window, not settings window
const body = document.body;
if (this.settings.revealOnHover) {
body.addClass('obsidian-blur-hover');
} else {
body.removeClass('obsidian-blur-hover');
}
}
blurBlockHandler(source: string, el: HTMLElement, _ctx: MarkdownPostProcessorContext): void {