version 4.3.67

Squashed commit of the following:

commit cfefa197ec
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Jan 27 20:43:02 2026 -0500

    feat: add close and dismiss buttons to announcement banner

    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

commit b193516096
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Jan 27 19:57:25 2026 -0500

    feat: add announcement banner for upcoming premium features

    Adds a dismissible banner at the top of the options page announcing
    upcoming premium features with a link to the explainer page.

    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

commit 3d021923e6
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Sat Jan 24 20:43:36 2026 -0500

    update versions

commit 4fa9023ef4
Merge: 3b5f50f a774514
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Sat Jan 24 20:43:08 2026 -0500

    Merge branch 'released'

commit 3b5f50fa82
Author: Lawrence Hook <6572030+lawrencehook@users.noreply.github.com>
Date:   Sat Jan 24 20:37:53 2026 -0500

    feat(extension): revamp donate/feedback pages and polish options UI (#189)

    - Redesign donors page with modern card-based tier system
    - Redesign feedback page with contact grid and cleaner layout
    - Both pages now fit within 600px without scrolling
    - Apply subtle UI improvements to main options page:
      - System fonts, softer borders, hover states
      - Improved sidebar, menus, and footer styling
      - Denser option spacing for info-density

    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

commit 8ca3247d68
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Dec 30 17:41:59 2025 -0500

    claude recommends some TODOs

commit e6418d6aaa
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Dec 23 15:48:47 2025 -0500

    update versions

commit 89d7b09629
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Dec 23 15:41:38 2025 -0500

    fix whitespace

commit b46281aeef
Author: Jagan <sreejaganj@gmail.com>
Date:   Wed Dec 24 02:07:39 2025 +0530

    fix(sidebar): correct mapping of sidebar section (#186)

    Youtube changed the structure of the sidebar, this caused several toggle target issues in the extension.
    -> Hiding you/library removed the section contents but left a small empty container.
    -> Hiding other sections hid the wrong ones. Explore hid you/library completely, more from youtube hid explore, settings hid more from youtube. And couldn't hide settings at all.

    This commit updates the CSS to match the new DOM structure.

    -> Replaced nth-child with nth-of type
    -> Realigned indexes to match new structure.
      - `remove_sub_section` targets the 2nd section (Subscriptions)
      - `remove_quick_links_section` targets the 3rd section (You / Library)
      - `remove_explore_section` targets the 4th section (Explore)
      - `remove_more_section` targets the 5th section (More from YouTube)
      - `remove_settings_section` targets the 6th section (Settings)
      - `remove_footer_section` still hides `#guide-renderer > #footer`
    -> Modified the order of the buttons in src/content-script/main.css to match the order in the sidebar.

    Resolves: #185

commit ecab1e69c6
Author: Lawrence Hook <lawrencehook@gmail.com>
Date:   Tue Oct 21 22:49:04 2025 -0400

    update version
This commit is contained in:
Lawrence Hook
2026-01-27 21:38:12 -05:00
parent a77451499b
commit 182f3cb3ee
5 changed files with 90 additions and 2 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
"description": "Spend less time on YouTube. Customize YouTube's user interface to be less engaging.",
"homepage_url": "https://github.com/lawrencehook/remove-youtube-suggestions",
"manifest_version": 3,
"version": "4.3.66",
"version": "4.3.67",
"icons": {
"16": "/images/16.png",
+1 -1
View File
@@ -3,7 +3,7 @@
"description": "Spend less time on YouTube. Customize YouTube's user interface to be less engaging.",
"homepage_url": "https://github.com/lawrencehook/remove-youtube-suggestions",
"manifest_version": 2,
"version": "4.3.66",
"version": "4.3.67",
"icons": {
"16": "/images/16.png",
+54
View File
@@ -99,3 +99,57 @@ input:focus {
::-webkit-scrollbar-thumb {
background: var(--body-color);
}
/* Announcement Banner */
#announcement_banner {
display: flex;
align-items: center;
gap: 8px;
padding: 10px 12px;
margin: 8px;
background: var(--blue-color);
border-radius: var(--border-radius);
font-size: 13px;
}
#announcement_banner * {
color: #fff;
}
#announcement_banner span {
flex: 1;
}
#announcement_banner a {
text-decoration: underline;
opacity: 0.9;
}
#announcement_banner a:hover {
opacity: 1;
}
#dismiss_announcement {
cursor: pointer;
opacity: 0.7;
font-size: 12px;
white-space: nowrap;
}
#dismiss_announcement:hover {
opacity: 1;
}
#close_announcement {
background: none;
border: none;
font-size: 18px;
cursor: pointer;
padding: 0 4px;
opacity: 0.7;
line-height: 1;
}
#close_announcement:hover {
opacity: 1;
}
+7
View File
@@ -230,6 +230,13 @@
<button id='unlock-password-button'>Confirm</button>
</div>
<div id="announcement_banner" hidden>
<span>Premium features coming soon.</span>
<a href="https://lawrencehook.com/rys/premium" target="_blank">Learn more</a>
<a id="dismiss_announcement">Don't show again</a>
<button id="close_announcement" aria-label="Close">&times;</button>
</div>
<div id="main_container">
<div id="sidebar">
+27
View File
@@ -22,6 +22,7 @@ const subsRegex = new RegExp(/\/feed\/subscriptions$/, 'i');
document.addEventListener("DOMContentLoaded", () => {
recordEvent('Page View: Options');
initAnnouncementBanner();
browser.storage.local.get(localSettings => {
const settings = { ...DEFAULT_SETTINGS, ...localSettings };
const headerSettings = Object.entries(OTHER_SETTINGS).reduce((acc, [id, value]) => {
@@ -403,3 +404,29 @@ function timeLoop() {
updateTimeInfo();
setTimeout(() => timeLoop(), 2_000);
}
// Announcement banner
const ANNOUNCEMENT_KEY = 'announcement_dismissed_premium_coming';
function initAnnouncementBanner() {
const banner = document.getElementById('announcement_banner');
const dismissBtn = document.getElementById('dismiss_announcement');
const closeBtn = document.getElementById('close_announcement');
if (!banner) return;
browser.storage.local.get(ANNOUNCEMENT_KEY, result => {
if (!result[ANNOUNCEMENT_KEY]) {
banner.removeAttribute('hidden');
}
});
dismissBtn?.addEventListener('click', () => {
banner.setAttribute('hidden', '');
browser.storage.local.set({ [ANNOUNCEMENT_KEY]: true });
});
closeBtn?.addEventListener('click', () => {
banner.setAttribute('hidden', '');
});
}