diff --git a/src/features/tweaks/hide_filtered_posts.js b/src/features/tweaks/hide_filtered_posts.js index d39730feb5..2276c5c95d 100644 --- a/src/features/tweaks/hide_filtered_posts.js +++ b/src/features/tweaks/hide_filtered_posts.js @@ -1,6 +1,6 @@ import { keyToCss } from '../../utils/css_map.js'; import { createPostHideFunctions } from '../../utils/hide_posts.js'; -import { getTimelineItemWrapper } from '../../utils/interface.js'; +import { postSelector } from '../../utils/interface.js'; import { pageModifications } from '../../utils/mutations.js'; const { hidePost, showPosts } = createPostHideFunctions({ @@ -11,7 +11,7 @@ const { hidePost, showPosts } = createPostHideFunctions({ }); const hideFilteredPosts = filteredScreens => filteredScreens - .map(getTimelineItemWrapper) + .map(filteredScreen => filteredScreen.closest(postSelector)) .forEach(hidePost); export const main = async function () { diff --git a/src/utils/hide_posts.js b/src/utils/hide_posts.js index e5ca971dd6..575568b32f 100644 --- a/src/utils/hide_posts.js +++ b/src/utils/hide_posts.js @@ -94,6 +94,7 @@ export const createPostHideFunctions = ({ id, permalinkPageControls }) => { [${hiddenAttribute}], [${controlsAttribute}] ~ div [${controlledHiddenAttribute}] { content: linear-gradient(transparent, transparent); height: 0; + margin: 0 !important; } `; diff --git a/src/utils/interface.js b/src/utils/interface.js index 2b90a429d5..e31f3bc5f7 100644 --- a/src/utils/interface.js +++ b/src/utils/interface.js @@ -8,8 +8,6 @@ export const trailItemSelector = `${postSelector} ${keyToCss('reblog')}`; export const blogViewSelector = '[style*="--blog-title-color"] *'; export const notificationSelector = `:is(${keyToCss('notification')}[role="listitem"], ${keyToCss('activityItem')})`; -const listTimelineObjectSelector = keyToCss('listTimelineObject'); -const cellSelector = keyToCss('cell'); const targetWrapperSelector = keyToCss( 'targetWrapper', 'targetWrapperBlock', @@ -21,10 +19,7 @@ const targetWrapperSelector = keyToCss( * @param {Element} element Element within a timeline item * @returns {Element | null} The timeline item wrapper */ -export const getTimelineItemWrapper = element => - (element.closest('[data-timeline-id]') && element.closest(listTimelineObjectSelector)?.parentElement) || - element.closest(cellSelector) || - element.closest(listTimelineObjectSelector); +export const getTimelineItemWrapper = element => element.closest(`${timelineSelector} > div > div`); /** * @param {Element} element Element within a popover wrapper