fix: improve element label positioning and state management

- Fix element label positioning using getBoundingClientRect + scroll offset
- Filter out state classes from element selectors (element-hovered, etc.)
- Add cursor pointer on hovered elements and pages
- Prevent elements from having both hovered and selected classes
- Fix issue where closing popup left previous element in hovered state

Ensures only one visual state per element at a time and cleaner
selector display in labels.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
isUnknown 2025-12-08 16:35:28 +01:00
parent f9e9e65712
commit 5b5c65722b
3 changed files with 104 additions and 22 deletions

View file

@ -337,8 +337,10 @@ const getSelectorFromElement = (element) => {
// Get tag name
const tagName = element.tagName.toLowerCase();
// Get first class if available
const classes = Array.from(element.classList);
// Get first class if available (filter out state classes)
const classes = Array.from(element.classList).filter(
(cls) => !['element-hovered', 'element-selected', 'page-hovered', 'page-selected'].includes(cls)
);
if (classes.length > 0) {
return `${tagName}.${classes[0]}`;
}