Skip to content

Commit

Permalink
No Recommended: Split recommended blogs sidebar preference (#983)
Browse files Browse the repository at this point in the history
Co-authored-by: April Sylph <28949509+AprilSylph@users.noreply.github.com>
  • Loading branch information
marcustyphoon and AprilSylph committed Feb 21, 2024
1 parent 11a7c7c commit 0f98234
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 5 deletions.
6 changes: 6 additions & 0 deletions src/scripts/no_recommended.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@
"default": false,
"inherit": "tweaks.preferences.hide_recommended_blogs"
},
"hide_recommended_blogs_modal": {
"type": "checkbox",
"label": "Hide recommended blogs in the blog view sidebar",
"default": false,
"inherit": "no_recommended.preferences.hide_recommended_blogs"
},
"hide_radar": {
"type": "checkbox",
"label": "Hide the Tumblr Radar",
Expand Down
11 changes: 7 additions & 4 deletions src/scripts/no_recommended/hide_recommended_blogs.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { keyToCss } from '../../util/css_map.js';
import { pageModifications } from '../../util/mutations.js';
import { translate } from '../../util/language_data.js';
import { buildStyle } from '../../util/interface.js';
import { blogViewSelector, buildStyle } from '../../util/interface.js';

const hiddenAttribute = 'data-no-recommended-blogs-hidden';

Expand All @@ -13,13 +13,16 @@ const hideDashboardRecommended = function (sidebarTitles) {
.forEach(h1 => h1.closest('aside > *').setAttribute(hiddenAttribute, ''));
};

const hideTagPageRecommended = topBlogsLists => topBlogsLists.forEach(ul => ul.setAttribute(hiddenAttribute, ''));
const hideTagPageRecommended = blogsLists =>
blogsLists
.filter(ul => !ul.matches(blogViewSelector))
.forEach(ul => ul.parentNode.setAttribute(hiddenAttribute, ''));

export const main = async function () {
pageModifications.register('aside h1', hideDashboardRecommended);

const topBlogsSelector = `${keyToCss('desktopContainer')} > ${keyToCss('recommendedBlogs')}`;
pageModifications.register(topBlogsSelector, hideTagPageRecommended);
const blogsListSelector = `${keyToCss('desktopContainer')} > ${keyToCss('recommendedBlogs')}`;
pageModifications.register(blogsListSelector, hideTagPageRecommended);

document.documentElement.append(styleElement);
};
Expand Down
25 changes: 25 additions & 0 deletions src/scripts/no_recommended/hide_recommended_blogs_modal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { keyToCss } from '../../util/css_map.js';
import { pageModifications } from '../../util/mutations.js';
import { blogViewSelector, buildStyle } from '../../util/interface.js';

const hiddenAttribute = 'data-no-recommended-blogs-modal-hidden';

const styleElement = buildStyle(`[${hiddenAttribute}] { display: none; }`);

const hideModalRecommended = blogsLists =>
blogsLists
.filter(ul => ul.matches(blogViewSelector))
.forEach(ul => ul.parentNode.setAttribute(hiddenAttribute, ''));

export const main = async function () {
const blogsListSelector = `${keyToCss('desktopContainer')} > ${keyToCss('recommendedBlogs')}`;
pageModifications.register(blogsListSelector, hideModalRecommended);

document.documentElement.append(styleElement);
};

export const clean = async function () {
pageModifications.unregister(hideModalRecommended);
styleElement.remove();
$(`[${hiddenAttribute}]`).removeAttr(hiddenAttribute);
};
1 change: 0 additions & 1 deletion src/util/preferences.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export const getPreferences = async function (scriptName) {
const inheritedDefault = storage[preference.inherit];
if (inheritedDefault !== undefined) {
preference.default = inheritedDefault;
browser.storage.local.remove(preference.inherit);
}
}

Expand Down

0 comments on commit 0f98234

Please sign in to comment.