Allow landing on fixed elements in obsidian

This commit is contained in:
Idrees Hassan
2025-11-13 20:44:11 -05:00
parent 042d0e3b07
commit fbbfd25f30
9 changed files with 30 additions and 10 deletions

View File

@@ -2,7 +2,7 @@ import Frame from './frame.js';
import Layer from './layer.js';
import Anim from './anim.js';
import { Birb, Animations } from './birb.js';
import { getContext } from './context.js';
import { getContext, ObsidianContext } from './context.js';
import {
Directions,
@@ -880,7 +880,11 @@ Promise.all([
// @ts-expect-error
const largeElements = Array.from(visible).filter((img) => img instanceof HTMLElement && img !== focusedElement && img.offsetWidth >= MIN_FOCUS_ELEMENT_WIDTH);
// Ensure the bird doesn't land on fixed or sticky elements
const fixedAllowed = getContext() instanceof ObsidianContext;
const nonFixedElements = largeElements.filter((el) => {
if (fixedAllowed) {
return true;
}
const style = window.getComputedStyle(el);
return style.position !== "fixed" && style.position !== "sticky";
});