diff --git a/CHANGELOG.md b/CHANGELOG.md index 870a3929..34a6552f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [0.3.3] - 2024/03/31 ### Added - [#142](https://github.com/webosbrew/youtube-webos/pull/141): Blocked some additional ads (@throwaway96) - [#144](https://github.com/webosbrew/youtube-webos/pull/144): Added support for config change listeners (@throwaway96) +- [#149](https://github.com/webosbrew/youtube-webos/pull/149): Added ability to hide YouTube logo (@throwaway96; thanks to @fire332 and @tomikaka22) ### Fixed diff --git a/assets/appinfo.json b/assets/appinfo.json index 07beaea9..3c60a8e6 100644 --- a/assets/appinfo.json +++ b/assets/appinfo.json @@ -1,6 +1,6 @@ { "id": "youtube.leanback.v4", - "version": "0.3.2", + "version": "0.3.3", "vendor": "webosbrew.org", "type": "web", "main": "index.html", diff --git a/package-lock.json b/package-lock.json index 3b60f0d5..62d8db8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "youtube-webos", - "version": "0.3.2", + "version": "0.3.3", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index 82450cb8..3a273f5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "youtube-webos", - "version": "0.3.2", + "version": "0.3.3", "description": "Ad-free YouTube app for webOS", "type": "module", "main": "index.js", diff --git a/src/config.js b/src/config.js index 3a6e976f..1a7fd149 100644 --- a/src/config.js +++ b/src/config.js @@ -29,6 +29,13 @@ const configOptions = new Map([ default: true, desc: 'Skip music and off-topic segments' } + ], + [ + 'hideLogo', + { + default: false, + desc: 'Hide YouTube logo' + } ] ]); diff --git a/src/ui.js b/src/ui.js index 3aa1aac6..1779406e 100644 --- a/src/ui.js +++ b/src/ui.js @@ -1,7 +1,12 @@ /*global navigate*/ import './spatial-navigation-polyfill.js'; +import { + configAddChangeListener, + configRead, + configWrite, + configGetDesc +} from './config.js'; import './ui.css'; -import { configRead, configWrite, configGetDesc } from './config.js'; // We handle key events ourselves. window.__spatialNavigation__.keyMode = 'NONE'; @@ -115,6 +120,7 @@ function createOptionsPanel() { elmContainer.appendChild(elmHeading); elmContainer.appendChild(createConfigCheckbox('enableAdBlock')); + elmContainer.appendChild(createConfigCheckbox('hideLogo')); elmContainer.appendChild(createConfigCheckbox('enableSponsorBlock')); const elmBlock = document.createElement('blockquote'); @@ -218,9 +224,25 @@ export function showNotification(text, time = 3000) { }, time); } -setTimeout(() => { - showNotification('Press [GREEN] to open YTAF configuration screen'); -}, 2000); +/** + * Initialize ability to hide YouTube logo in top right corner. + */ +function initHideLogo() { + const style = document.createElement('style'); + document.head.appendChild(style); + + /** @type {(hide: boolean) => void} */ + const setHidden = (hide) => { + const visibility = hide ? 'hidden' : 'visible'; + style.textContent = `ytlr-redux-connect-ytlr-logo-entity { visibility: ${visibility}; }`; + }; + + setHidden(configRead('hideLogo')); + + configAddChangeListener('hideLogo', (evt) => { + setHidden(evt.detail.newValue); + }); +} function applyUIFixes() { try { @@ -252,3 +274,8 @@ function applyUIFixes() { } applyUIFixes(); +initHideLogo(); + +setTimeout(() => { + showNotification('Press [GREEN] to open YTAF configuration screen'); +}, 2000);