From 17dd9f44364efe94bb0e5e4e88109fc4fd149fd7 Mon Sep 17 00:00:00 2001 From: Balackburn Date: Sat, 3 Aug 2024 09:41:58 +0200 Subject: [PATCH 01/23] YTLite custom .deb support --- .github/workflows/buildapp.yml | 26 +++++++++++++++----------- Makefile | 12 ++++++------ 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index da0d7a8..3d62971 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -1,6 +1,3 @@ -# Original idea by @ISnackable. Many thanks to him for handling the most hardest parts! -# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml - name: Build and Release YTLitePlus on: @@ -16,6 +13,11 @@ on: default: "" required: true type: string + ytlite_deb_url: + description: "Direct URL of the YTLite deb file" + default: "" + required: true + type: string bundle_id: description: "Modify the bundle ID" default: "com.google.ios.youtube" @@ -90,7 +92,6 @@ jobs: - name: Download iOS SDK if: steps.SDK.outputs.cache-hit != 'true' run: | - # Only download the specific SDK version git clone -n --depth=1 --filter=tree:0 https://github.com/theos/sdks/ cd sdks git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk @@ -115,23 +116,25 @@ jobs: - name: Fix Compiling run: | - # Update GNU Make to allow for faster building echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH (echo export PATH="/usr/local/opt/make/libexec/gnubin:$PATH" >> ~/.bash_profile) source ~/.bash_profile - - name: Prepare YouTube iPA + - name: Prepare YouTube iPA and YTLite deb run: | # Download and unzip iPA wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa unzip -q main/YouTube.ipa -d main/tmp # Get the version number of the YouTube app and store it echo "YT_VERSION=$(grep -A 1 'CFBundleVersion' main/tmp/Payload/YouTube.app/Info.plist | grep '' | awk -F'[><]' '{print $3}')" >> $GITHUB_ENV - # Get the version number of the latest release - wget -qO- https://github.com/dayanch96/YTLite/releases/latest > main/tmp/release_page.html - YTLITE_VERSION=$(grep -o -E '/tag/v[^"]+' main/tmp/release_page.html | head -n 1 | sed 's/\/tag\/v//') + + # Download YTLite deb + wget "$YTLITE_DEB_URL" --no-verbose -O main/YTLite.deb + # Extract YTLite version from the deb file + YTLITE_VERSION=$(dpkg-deb -f main/YTLite.deb Version) echo "YTLITE_VERSION=${YTLITE_VERSION}" >> $GITHUB_ENV echo $YTLITE_VERSION + # Remove contents in the iPA that interfere with sideloading rm -rf main/tmp/Payload/YouTube.app/_CodeSignature/CodeResources rm -rf main/tmp/Payload/YouTube.app/PlugIns/* @@ -154,6 +157,7 @@ jobs: env: THEOS: ${{ github.workspace }}/theos YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} + YTLITE_DEB_URL: ${{ inputs.ytlite_deb_url }} - name: Build Package id: build_package @@ -165,7 +169,7 @@ jobs: sed -i '' "s/^PACKAGE_VERSION.*$/PACKAGE_VERSION = ${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }}/" Makefile sed -i '' "s/^export TARGET.*$/export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0/" Makefile # Build the package - make package + make YTLITE_DEB_URL=${{ inputs.ytlite_deb_url }} package # Rename the package based on the version (mv "packages/$(ls -t packages | head -n1)" "packages/YTLitePlus_${{ env.YT_VERSION }}_${{ env.YTLITE_VERSION }}.ipa") # Pass package name to the upload step @@ -252,4 +256,4 @@ jobs: run: | REPO_URL="https://github.com/${{ github.repository }}" DELETE_RUNS_URL="$REPO_URL/actions/workflows/delete-workflow-runs.yml" - echo -e '### 🧹 Cleanup\n\nYou can remove previous GitHub Action runs here: '$DELETE_RUNS_URL >> $GITHUB_STEP_SUMMARY + echo -e '### 🧹 Cleanup\n\nYou can remove previous GitHub Action runs here: '$DELETE_RUNS_URL >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/Makefile b/Makefile index 8400c15..d48fa2a 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ EXTRA_CFLAGS := $(addprefix -I,$(shell find Tweaks/FLEX -name '*.h' -exec dirnam # Allow YouTubeHeader to be accessible using #include <...> export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks -YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib +YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m') $(shell find Tweaks/FLEX -type f \( -iname \*.c -o -iname \*.m -o -iname \*.mm \)) YTLitePlus_IPA = ./tmp/Payload/YouTube.app YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unsupported-availability-guard -Wno-unused-but-set-variable -DTWEAK_VERSION=$(PACKAGE_VERSION) $(EXTRA_CFLAGS) @@ -27,14 +27,14 @@ SUBPROJECTS += Tweaks/Alderis Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tw include $(THEOS_MAKE_PATH)/aggregate.mk YTLITE_PATH = Tweaks/YTLite -YTLITE_VERSION := $(shell wget -qO- "https://github.com/dayanch96/YTLite/releases/latest" | grep -o -E '/tag/v[^"]+' | head -n 1 | sed 's/\/tag\/v//') +YTLITE_VERSION := $(YTLITE_VERSION) YTLITE_DEB = $(YTLITE_PATH)/com.dvntm.ytlite_$(YTLITE_VERSION)_iphoneos-arm64.deb -YTLITE_DYLIB = $(YTLITE_PATH)/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib -YTLITE_BUNDLE = $(YTLITE_PATH)/var/jb/Library/Application\ Support/YTLite.bundle +YTLITE_DYLIB = $(YTLITE_PATH)/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib +YTLITE_BUNDLE = $(YTLITE_PATH)/Library/Application\ Support/YTLite.bundle before-package:: @echo -e "==> \033[1mMoving tweak's bundle to Resources/...\033[0m" @mkdir -p Resources/Frameworks/Alderis.framework && find .theos/obj/install/Library/Frameworks/Alderis.framework -maxdepth 1 -type f -exec cp {} Resources/Frameworks/Alderis.framework/ \; - @cp -R Tweaks/YTLite/var/jb/Library/Application\ Support/YTLite.bundle Resources/ + @cp -R Tweaks/YTLite/Library/Application\ Support/YTLite.bundle Resources/ @cp -R Tweaks/YTUHD/layout/Library/Application\ Support/YTUHD.bundle Resources/ @cp -R Tweaks/YouPiP/layout/Library/Application\ Support/YouPiP.bundle Resources/ @cp -R Tweaks/Return-YouTube-Dislikes/layout/Library/Application\ Support/RYD.bundle Resources/ @@ -59,7 +59,7 @@ before-all:: rm -rf $(YTLITE_PATH)/*; \ $(PRINT_FORMAT_BLUE) "Downloading YTLite"; \ echo "YTLITE_VERSION: $(YTLITE_VERSION)"; \ - curl -s -L "https://github.com/dayanch96/YTLite/releases/download/v$(YTLITE_VERSION)/com.dvntm.ytlite_$(YTLITE_VERSION)_iphoneos-arm64.deb" -o $(YTLITE_DEB); \ + curl -s -L "$(YTLITE_DEB_URL)" -o $(YTLITE_DEB); \ tar -xf $(YTLITE_DEB) -C $(YTLITE_PATH); tar -xf $(YTLITE_PATH)/data.tar* -C $(YTLITE_PATH); \ if [[ ! -f $(YTLITE_DYLIB) || ! -d $(YTLITE_BUNDLE) ]]; then \ $(PRINT_FORMAT_ERROR) "Failed to extract YTLite"; exit 1; \ -- 2.45.2 From 2b7f01581ac166e8edffb4fe52391475d648f749 Mon Sep 17 00:00:00 2001 From: Balackburn Date: Sat, 3 Aug 2024 23:32:33 +0200 Subject: [PATCH 02/23] Removed YTLitePlus injection --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index d48fa2a..ad408a6 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,6 @@ EXTRA_CFLAGS := $(addprefix -I,$(shell find Tweaks/FLEX -name '*.h' -exec dirnam export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib -YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m') $(shell find Tweaks/FLEX -type f \( -iname \*.c -o -iname \*.m -o -iname \*.mm \)) YTLitePlus_IPA = ./tmp/Payload/YouTube.app YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unsupported-availability-guard -Wno-unused-but-set-variable -DTWEAK_VERSION=$(PACKAGE_VERSION) $(EXTRA_CFLAGS) YTLitePlus_FRAMEWORKS = UIKit Security @@ -46,7 +45,6 @@ before-package:: @cp -R Tweaks/YTVideoOverlay/layout/Library/Application\ Support/YTVideoOverlay.bundle Resources/ @cp -R Tweaks/YouQuality/layout/Library/Application\ Support/YouQuality.bundle Resources/ @cp -R Tweaks/YouTimeStamp/layout/Library/Application\ Support/YouTimeStamp.bundle Resources/ - @cp -R lang/YTLitePlus.bundle Resources/ @echo -e "==> \033[1mChanging the installation path of dylibs...\033[0m" @ldid -r .theos/obj/iSponsorBlock.dylib && install_name_tool -change /usr/lib/libcolorpicker.dylib @rpath/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib @codesign --remove-signature .theos/obj/libcolorpicker.dylib && install_name_tool -change /Library/Frameworks/Alderis.framework/Alderis @rpath/Alderis.framework/Alderis .theos/obj/libcolorpicker.dylib -- 2.45.2 From 46d6b163b9cdd1db7557ed267e474f6a6fc4d03f Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Mon, 5 Aug 2024 03:09:41 -0700 Subject: [PATCH 03/23] Fix YouTube Extensions bug --- .github/workflows/buildapp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index da0d7a8..084b8e2 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -151,6 +151,8 @@ jobs: filepath = 'main/tmp/Payload/YouTube.app/Info.plist' remove_uisupporteddevices(filepath) EOF + # Manually install the Open in YouTube extension + cp -R main/Extensions/*.appex main/tmp/Payload/YouTube.app/PlugIns env: THEOS: ${{ github.workspace }}/theos YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} -- 2.45.2 From d27150b11dc28195abb968de8fd57b43b4d0a14d Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Mon, 5 Aug 2024 03:16:34 -0700 Subject: [PATCH 04/23] Fix delete workflows --- .github/workflows/delete-workflow-runs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index 302d8d7..a8124a5 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -42,7 +42,6 @@ on: - success dry_run: description: 'Logs simulated changes, no deletions are performed' - type: boolean required: false jobs: -- 2.45.2 From 47562c543b10c4d8b8623c09d2017a8c4a70c4f3 Mon Sep 17 00:00:00 2001 From: ChuDucManh <89825108+manhchuduc@users.noreply.github.com> Date: Tue, 6 Aug 2024 01:52:29 +0700 Subject: [PATCH 05/23] Update Localizable.strings (#305) --- .../vi.lproj/Localizable.strings | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index 29f0138..12f1e32 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -220,30 +220,30 @@ "CHANGE_APP_ICON" = "Change App Icon"; // Newly added strings -"APP_RESTART_DESC" = "APP_RESTART_DESC"; -"CUSTOM_LOWCONTRASTMODE" = "CUSTOM_LOWCONTRASTMODE"; -"APP_VERSION_SPOOFER_LITE" = "APP_VERSION_SPOOFER_LITE"; -"PLAYBACK_IN_FEEDS_OFF" = "PLAYBACK_IN_FEEDS_OFF"; -"PLAYBACK_IN_FEEDS" = "PLAYBACK_IN_FEEDS"; -"ENABLE_SHARE_BUTTON_DESC" = "ENABLE_SHARE_BUTTON_DESC"; -"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON"; -"LCM_SELECTOR" = "LCM_SELECTOR"; -"NEW_SETTINGS_UI_DESC" = "NEW_SETTINGS_UI_DESC"; -"VERSION_SPOOFER_TITLE" = "VERSION_SPOOFER_TITLE"; -"HIDE_SPONSORBLOCK_BUTTON" = "HIDE_SPONSORBLOCK_BUTTON"; -"ENABLE_SHARE_BUTTON" = "ENABLE_SHARE_BUTTON"; -"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC"; -"HIDE_SHADOW_OVERLAY_BUTTONS" = "HIDE_SHADOW_OVERLAY_BUTTONS"; -"APP_VERSION_SPOOFER_LITE_DESC" = "APP_VERSION_SPOOFER_LITE_DESC"; -"DEFAULT_LOWCONTRASTMODE" = "DEFAULT_LOWCONTRASTMODE"; -"APP_SETTINGS_OVERLAY_OPTIONS" = "APP_SETTINGS_OVERLAY_OPTIONS"; -"HIDE_HOME_TAB_DESC" = "HIDE_HOME_TAB_DESC"; -"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "PLAYBACK_IN_FEEDS_ALWAYS_ON"; -"FIX_CASTING" = "FIX_CASTING"; -"FIX_CASTING_DESC" = "FIX_CASTING_DESC"; -"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "PLAYBACK_IN_FEEDS_WIFI_ONLY"; -"NEW_MINIPLAYER_STYLE_DESC" = "NEW_MINIPLAYER_STYLE_DESC"; -"NEW_SETTINGS_UI" = "NEW_SETTINGS_UI"; -"HIDE_HOME_TAB" = "HIDE_HOME_TAB"; -"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "HIDE_SHADOW_OVERLAY_BUTTONS_DESC"; -"ENABLE_YT_STARTUP_ANIMATION" = "ENABLE_YT_STARTUP_ANIMATION"; +"APP_RESTART_DESC": "Mô tả khi khởi động lại ứng dụng", +"CUSTOM_LOWCONTRASTMODE": "Chế độ độ tương phản thấp tùy chỉnh", +"APP_VERSION_SPOOFER_LITE": "Phiên bản giả lập ứng dụng nhẹ", +"PLAYBACK_IN_FEEDS_OFF": "Tắt phát trong các trang danh sách video", +"PLAYBACK_IN_FEEDS": "Phát trong các trang danh sách video", +"ENABLE_SHARE_BUTTON_DESC": "Mô tả nút chia sẻ", +"ENABLE_SAVE_TO_PLAYLIST_BUTTON": "Bật nút lưu vào danh sách phát", +"LCM_SELECTOR": "Trình chọn chế độ độ tương phản thấp", +"NEW_SETTINGS_UI_DESC": "Mô tả giao diện cài đặt mới", +"VERSION_SPOOFER_TITLE": "Tiêu đề giả lập phiên bản", +"HIDE_SPONSORBLOCK_BUTTON": "Ẩn nút SponsorBlock", +"ENABLE_SHARE_BUTTON": "Bật nút chia sẻ", +"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC": "Mô tả nút lưu vào danh sách phát", +"HIDE_SHADOW_OVERLAY_BUTTONS": "Ẩn các nút lớp phủ bóng", +"APP_VERSION_SPOOFER_LITE_DESC": "Mô tả phiên bản giả lập ứng dụng nhẹ", +"DEFAULT_LOWCONTRASTMODE": "Chế độ độ tương phản thấp mặc định", +"APP_SETTINGS_OVERLAY_OPTIONS": "Tùy chọn lớp phủ cài đặt ứng dụng", +"HIDE_HOME_TAB_DESC": "Mô tả ẩn tab Trang chủ", +"PLAYBACK_IN_FEEDS_ALWAYS_ON": "Luôn bật phát trong các trang danh sách video", +"FIX_CASTING": "Sửa lỗi truyền phát", +"FIX_CASTING_DESC": "Mô tả sửa lỗi truyền phát", +"PLAYBACK_IN_FEEDS_WIFI_ONLY": "Phát trong các trang danh sách video chỉ qua WiFi", +"NEW_MINIPLAYER_STYLE_DESC": "Mô tả kiểu trình phát nhỏ mới", +"NEW_SETTINGS_UI": "Giao diện cài đặt mới", +"HIDE_HOME_TAB": "Ẩn tab Trang chủ", +"HIDE_SHADOW_OVERLAY_BUTTONS_DESC": "Mô tả ẩn các nút lớp phủ bóng", +"ENABLE_YT_STARTUP_ANIMATION": "Bật hoạt ảnh khởi động YouTube" -- 2.45.2 From 8a717e763a4bdc812276e543d7c39d86a596fab5 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 6 Aug 2024 00:44:29 +0000 Subject: [PATCH 06/23] updated submodules --- Tweaks/protobuf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/protobuf b/Tweaks/protobuf index cb71119..1492fa9 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit cb7111914918b2c0783f2d44a18a08b6c4b51c4e +Subproject commit 1492fa9598a79461a79f371c64a22888a6ed6fa0 -- 2.45.2 From 00bb15a868b506af3ec6daff3d5885f9efee2797 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 7 Aug 2024 00:45:08 +0000 Subject: [PATCH 07/23] updated submodules --- Tweaks/protobuf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 1492fa9..2f8472a 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 1492fa9598a79461a79f371c64a22888a6ed6fa0 +Subproject commit 2f8472adc1cbf5d0b86d9ca52671f51363b41011 -- 2.45.2 From d731dbddeca24a6e70764fb8433f75088e5cb88c Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Tue, 6 Aug 2024 21:06:02 -0500 Subject: [PATCH 08/23] Fix LowContrastMode description also added Version compatibility, LowContrastMode will not work once v17.38.10 is gone in the future. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e512e0..5277147 100644 --- a/README.md +++ b/README.md @@ -184,7 +184,7 @@ 20. **OLDDarkmode**: Replace new official Youtube darkmode with old (grey) Youtube darkmode. -21. **LowContrastMode**: Makes the YouTube Interface Low Contrast as possible to make it easier on the eyes. +21. **LowContrastMode**: Makes the UI interface look dimmer to make it easier on the eyes. (App Compatibility: v17.33.2-v17.38.10) # AltStore -- 2.45.2 From 09ddc42e32b6f9c734f78f7f45f4a3c8c2d0b31e Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Wed, 7 Aug 2024 12:11:03 -0700 Subject: [PATCH 09/23] Add reporting option --- .github/ISSUE_TEMPLATE/bug.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 904179d..fb904ed 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -77,6 +77,7 @@ body: options: - buildapp.yml (GitHub Actions) - build.sh (Shell script) + - Downloaded from third party validations: required: true -- 2.45.2 From e7523dc08dec20db31c82af020ad72e28b201362 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 8 Aug 2024 00:44:57 +0000 Subject: [PATCH 10/23] updated submodules --- Tweaks/protobuf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 2f8472a..2ed410a 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 2f8472adc1cbf5d0b86d9ca52671f51363b41011 +Subproject commit 2ed410a9ca29085078a19172707a05980c4c7529 -- 2.45.2 From f2e7c234eb499fd2434b607cbfdc3ce508266680 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 9 Aug 2024 00:45:23 +0000 Subject: [PATCH 11/23] updated submodules --- Tweaks/protobuf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 2ed410a..903c3f1 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 2ed410a9ca29085078a19172707a05980c4c7529 +Subproject commit 903c3f15b04d99ab88cee53e4cec9464ef292bce -- 2.45.2 From 37582ecbf88040dcddf73ae15e68024b2128d845 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 10 Aug 2024 00:44:53 +0000 Subject: [PATCH 12/23] updated submodules --- Tweaks/Return-YouTube-Dislikes | 2 +- Tweaks/protobuf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tweaks/Return-YouTube-Dislikes b/Tweaks/Return-YouTube-Dislikes index 12c4c05..0f4c6b7 160000 --- a/Tweaks/Return-YouTube-Dislikes +++ b/Tweaks/Return-YouTube-Dislikes @@ -1 +1 @@ -Subproject commit 12c4c05aec6e10c618b7fb175bd903c6c4227e7f +Subproject commit 0f4c6b7f5960308161c870d9aab30905fe8145cc diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 903c3f1..b9d1cff 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 903c3f15b04d99ab88cee53e4cec9464ef292bce +Subproject commit b9d1cfff8ca6814723889bade011f3fa4675d46d -- 2.45.2 From 948ea5ff2906aec19c83727d5f5b16d1cc81a0ad Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 10 Aug 2024 00:53:31 +0000 Subject: [PATCH 13/23] updated submodules --- Tweaks/Return-YouTube-Dislikes | 2 +- Tweaks/protobuf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tweaks/Return-YouTube-Dislikes b/Tweaks/Return-YouTube-Dislikes index 12c4c05..0f4c6b7 160000 --- a/Tweaks/Return-YouTube-Dislikes +++ b/Tweaks/Return-YouTube-Dislikes @@ -1 +1 @@ -Subproject commit 12c4c05aec6e10c618b7fb175bd903c6c4227e7f +Subproject commit 0f4c6b7f5960308161c870d9aab30905fe8145cc diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 903c3f1..b9d1cff 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 903c3f15b04d99ab88cee53e4cec9464ef292bce +Subproject commit b9d1cfff8ca6814723889bade011f3fa4675d46d -- 2.45.2 From 4f2b55a897f03e166103c0823e54935554c32dfa Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 16:34:57 -0700 Subject: [PATCH 14/23] Hide comment previews by @arichornlover --- Source/Settings.xm | 1 + YTLitePlus.xm | 19 +++++++++++++++++++ .../ar.lproj/Localizable.strings | 3 +++ .../de.lproj/Localizable.strings | 3 +++ .../en.lproj/Localizable.strings | 3 +++ .../es.lproj/Localizable.strings | 3 +++ .../fr.lproj/Localizable.strings | 3 +++ .../ja.lproj/Localizable.strings | 3 +++ .../pt.lproj/Localizable.strings | 3 +++ .../ro.lproj/Localizable.strings | 3 +++ .../ru.lproj/Localizable.strings | 3 +++ .../template.lproj/Localizable.strings | 3 +++ .../tr.lproj/Localizable.strings | 3 +++ .../vi.lproj/Localizable.strings | 3 +++ .../zh_TW.lproj/Localizable.strings | 18 ++++++++++++++++++ 15 files changed, 74 insertions(+) diff --git a/Source/Settings.xm b/Source/Settings.xm index ca3518d..d809a9e 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -231,6 +231,7 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"ALWAYS_USE_REMAINING_TIME"), LOC(@"ALWAYS_USE_REMAINING_TIME_DESC"), @"alwaysShowRemainingTime_enabled"), BASIC_SWITCH(LOC(@"DISABLE_TOGGLE_TIME_REMAINING"), LOC(@"DISABLE_TOGGLE_TIME_REMAINING_DESC"), @"disableRemainingTime_enabled"), BASIC_SWITCH(LOC(@"DISABLE_ENGAGEMENT_OVERLAY"), LOC(@"DISABLE_ENGAGEMENT_OVERLAY_DESC"), @"disableEngagementOverlay_enabled"), + BASIC_SWITCH(LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER"), LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC"), @"hidePreviewCommentSection_enabled"), ]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; diff --git a/YTLitePlus.xm b/YTLitePlus.xm index b9d5a9e..d666a27 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -542,6 +542,25 @@ BOOL isTabSelected = NO; } %end + +// Hide the Comment Section Previews under the Video Player - @arichornlover +%hook _ASDisplayView +- (void)didMoveToWindow { + %orig; + if ((IsEnabled(@"hidePreviewCommentSection_enabled")) && ([self.accessibilityIdentifier isEqualToString:@"id.ui.comments_entry_point_teaser"])) { + self.hidden = YES; + self.opaque = YES; + self.userInteractionEnabled = NO; + CGRect bounds = self.frame; + bounds.size.height = 0; + self.frame = bounds; + [self.superview layoutIfNeeded]; + [self setNeedsLayout]; + [self removeFromSuperview]; + } +} +%end + // BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer %group Main %hook YTWatchMiniBarView diff --git a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings index 65033e0..d431cf6 100644 --- a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings index 6a646dc..165978f 100644 --- a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Overlay-Optionen für App-Einstellungen"; diff --git a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings index abb87ee..29ee33c 100644 --- a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings index 5487a67..a2c2da3 100644 --- a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Desactivar la superposición de compromiso a pantalla completa"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desactivar el gesto de deslizar hacia arriba y la lista de vídeos sugeridos en pantalla completa"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opciones de superposición de los ajustes de la aplicación"; diff --git a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings index edbf12b..49bb669 100644 --- a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Paramètres des options d'overlay de l'application"; diff --git a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings index 17bb1c4..794038b 100644 --- a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "プレーヤー下のコメントプレビューを隠す"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "プレーヤーの下にあるコメントのプレビューを非表示にします。"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "アプリの設定オーバーレイの設定"; diff --git a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings index e829c49..f4014f7 100644 --- a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Desativar sobreposição de engajamento em tela cheia"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desativa o gesto de deslizar para cima e a lista de vídeos sugeridos em tela cheia"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Configurações do Aplicativo"; diff --git a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings index 018886c..fde5937 100644 --- a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opțiuni Overlay Setări Aplicație"; diff --git a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings index f2245c6..32b201c 100644 --- a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings index b0ba5c7..de571b5 100644 --- a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings @@ -62,6 +62,9 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings index 5220806..3b58ba0 100644 --- a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings @@ -47,6 +47,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Tam ekranda kaplamayı kapat"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Tam ekranda yukarı kaydırma hareketini ve önerilen videoları kapat"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Oynatıcının Altındaki Yorum Önizlemelerini Gizle"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Video oynatıcının altındaki yorum önizlemelerini gizler."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Uyg. Ayarları Kaplama Seç."; diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index 12f1e32..5050e13 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -56,6 +56,9 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // Shorts controls overlay options "SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn lớp phủ điều khiển quần short"; diff --git a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings index 001af33..8176bc0 100644 --- a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings @@ -33,6 +33,24 @@ "SEEK_ANYWHERE" = "Seek Anywhere Gesture"; "SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed"; +"ENABLE_TAP_TO_SEEK" = "Enable Tap To Seek"; +"ENABLE_TAP_TO_SEEK_DESC" = "Jump to anywhere in a video by single-tapping the seek bar"; + +"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Disable pull-to-fullscreen gesture"; +"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos."; + +"ALWAYS_USE_REMAINING_TIME" = "Always use remaining time"; +"ALWAYS_USE_REMAINING_TIME_DESC" = "Change the default to show time remaining in the player bar."; + +"DISABLE_TOGGLE_TIME_REMAINING" = "Disable toggle time remaining"; +"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Disables changing time elapsed to time remaining. Use with other setting to always show remaining time."; + +"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; +"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; + +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; +"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "應用程式設定隱藏項目"; -- 2.45.2 From 794fb561c9d256dca532b6a6b07525479d672114 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 16:29:34 -0700 Subject: [PATCH 15/23] Fix import export settings localization --- lang/YTLitePlus.bundle/ar.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/de.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/en.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/es.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/fr.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/ja.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/pt.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/ro.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/ru.lproj/Localizable.strings | 11 +++++++++++ .../template.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/tr.lproj/Localizable.strings | 11 +++++++++++ lang/YTLitePlus.bundle/vi.lproj/Localizable.strings | 11 +++++++++++ .../YTLitePlus.bundle/zh_TW.lproj/Localizable.strings | 11 +++++++++++ 13 files changed, 143 insertions(+) diff --git a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings index d431cf6..9669e33 100644 --- a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "نسخة YTLitePlus: %@"; "VERSION_CHECK" = "انقر للتحقق من وجود تحديث"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "خيارات تراكب ضوابط الفيديو"; diff --git a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings index 165978f..41c62eb 100644 --- a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tippe hier, um nach Updates zu suchen!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Overlay-Optionen für Videosteuerungen"; diff --git a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings index 29ee33c..1964212 100644 --- a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; diff --git a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings index a2c2da3..b5d54cd 100644 --- a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "Versión de YTLitePlus: %@"; "VERSION_CHECK" = "Pulse para comprobar si hay actualizaciones."; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opciones de superposición de controles de vídeo"; diff --git a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings index 49bb669..22fda27 100644 --- a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlus version : %@"; "VERSION_CHECK" = "Appuyez pour vérifier les mises à jour !"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Options de l'overlay des contrôles vidéo"; diff --git a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings index 794038b..9782bf5 100644 --- a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlusのバージョン: %@"; "VERSION_CHECK" = "タップして更新をチェック!"; +"COPY_SETTINGS" = "設定をコピー"; +"COPY_SETTINGS_DESC" = "現在のすべての設定をクリップボードにコピーします"; +"PASTE_SETTINGS" = "設定を貼り付け"; +"PASTE_SETTINGS_DESC" = "クリップボードから設定を貼り付けて適用します"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールオーバーレイの設定"; diff --git a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings index f4014f7..210e80d 100644 --- a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "Versão do YTLitePlus: %@"; "VERSION_CHECK" = "Toque para verificar se há atualização!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Vídeo"; diff --git a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings index fde5937..52e72e6 100644 --- a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "Versiune YTLitePlus: %@"; "VERSION_CHECK" = "Căutați actualizări"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opțiuni Overlay Controale Video"; diff --git a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings index 32b201c..c49d2b1 100644 --- a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; diff --git a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings index de571b5..ddb0f44 100644 --- a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings @@ -17,6 +17,17 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; diff --git a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings index 3b58ba0..fe4b8b6 100644 --- a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "YTLitePlus'ın sürümü: %@"; "VERSION_CHECK" = "Güncelleme için dokunun!"; +"COPY_SETTINGS" = "Ayarları Kopyala"; +"COPY_SETTINGS_DESC" = "Tüm mevcut ayarları panoya kopyala"; +"PASTE_SETTINGS" = "Ayarları Yapıştır"; +"PASTE_SETTINGS_DESC" = "Panodaki ayarları yapıştır ve uygula"; +"EXPORT_SETTINGS" = "Ayarları Dışa Aktar"; +"EXPORT_SETTINGS_DESC" = "Tüm mevcut ayarları bir .txt dosyasına dışa aktarır"; +"IMPORT_SETTINGS" = "Ayarları İçe Aktar"; +"IMPORT_SETTINGS_DESC" = "Ayarları içe aktarmak için basın (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "'Ayarları Kopyala' ve 'Ayarları Yapıştır' Düğmelerini Değiştir"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Düğmeleri 'Ayarları Dışa Aktar' ve 'Ayarları İçe Aktar' ile değiştirir"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Kontrol Seç."; diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index 5050e13..995ee22 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -2,6 +2,17 @@ "VERSION" = "Phiên bản của CercubePlus: %@"; "VERSION_CHECK" = "Nhấn để kiểm tra cập nhật!"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video player options "VIDEO_PLAYER_OPTIONS" = "Tùy chọn trình phát video"; diff --git a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings index 8176bc0..b78242d 100644 --- a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings @@ -3,6 +3,17 @@ "VERSION" = "YTLitePlus 版本:%@"; "VERSION_CHECK" = "檢查更新"; +"COPY_SETTINGS" = "Copy Settings"; +"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; +"PASTE_SETTINGS" = "Paste Settings"; +"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; +"EXPORT_SETTINGS" = "Export Settings"; +"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; +"IMPORT_SETTINGS" = "Import Settings"; +"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; +"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; +"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; + // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "影片區覆蓋按鈕設定"; -- 2.45.2 From 11a3e75b0de971727d6b085e3fd99a94c364e199 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 16:44:59 -0700 Subject: [PATCH 16/23] Default disable big mini player --- YTLitePlus.xm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/YTLitePlus.xm b/YTLitePlus.xm index d666a27..1c6e9af 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -561,6 +561,7 @@ BOOL isTabSelected = NO; } %end +/* // BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer %group Main %hook YTWatchMiniBarView @@ -585,6 +586,20 @@ BOOL isTabSelected = NO; } %end %end +*/ +// New Big YT Mini Player - @bhackel +%hook YTColdConfig +- (BOOL)enableIosFloatingMiniplayer { + // Modify if not on iPad + return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; +} +- (BOOL)enableIosFloatingMiniplayerRepositioning { + return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; +} +- (BOOL)enableIosFloatingMiniplayerResizing { + return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; +} +%end // App Settings Overlay Options %group gDisableAccountSection @@ -718,9 +733,9 @@ BOOL isTabSelected = NO; if (IsEnabled(@"iPhoneLayout_enabled")) { %init(giPhoneLayout); } - if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) { - %init(Main); - } + // if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) { + // %init(Main); + // } if (IsEnabled(@"hideVideoPlayerShadowOverlayButtons_enabled")) { %init(gHideVideoPlayerShadowOverlayButtons); } -- 2.45.2 From c9875ec8b70a0863cbb958e0a580d893bb90ec55 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 17:26:19 -0700 Subject: [PATCH 17/23] Fix localization, fix copy/paste switch --- Source/Settings.xm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Source/Settings.xm b/Source/Settings.xm index d809a9e..bb28324 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -114,7 +114,7 @@ static const NSInteger YTLiteSection = 789; accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Balackburn/YTLitePlus/releases/latest"]]; + return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/YTLitePlus/YTLitePlus/releases/latest"]]; }]; [sectionItems addObject:main]; @@ -197,8 +197,6 @@ static const NSInteger YTLiteSection = 789; ]; [sectionItems addObject:pasteSettings]; - BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"); - /* YTSettingsSectionItem *appIcon = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"CHANGE_APP_ICON") @@ -252,14 +250,14 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"HIDE_PRIVACY_SECTION"), LOC(@"APP_RESTART_DESC"), @"disablePrivacySection_enabled"), BASIC_SWITCH(LOC(@"HIDE_LIVECHAT_SECTION"), LOC(@"APP_RESTART_DESC"), @"disableLiveChatSection_enabled") ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"App Settings Overlay Options") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"APP_SETTINGS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; [sectionItems addObject:appSettingsOverlayGroup]; # pragma mark - LowContrastMode - YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Low Contrast Mode") + YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"LOW_CONTRAST_MODE") accessibilityIdentifier:nil detailTextBlock:^NSString *() { switch (contrastMode()) { @@ -283,7 +281,7 @@ static const NSInteger YTLiteSection = 789; return YES; }] ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Low Contrast Mode") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"LOW_CONTRAST_MODE") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; @@ -355,7 +353,7 @@ static const NSInteger YTLiteSection = 789; return YES; }] ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"Version Spoofer Picker" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"VERSION_SPOOFER_TITLE" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; @@ -461,6 +459,7 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"HIDE_SPONSORBLOCK_BUTTON"), LOC(@"HIDE_SPONSORBLOCK_BUTTON_DESC"), @"hideSponsorBlockButton_enabled"), BASIC_SWITCH(LOC(@"HIDE_HOME_TAB"), LOC(@"HIDE_HOME_TAB_DESC"), @"hideHomeTab_enabled"), BASIC_SWITCH(LOC(@"FIX_CASTING"), LOC(@"FIX_CASTING_DESC"), @"fixCasting_enabled"), + BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"), BASIC_SWITCH(LOC(@"ENABLE_FLEX"), LOC(@"ENABLE_FLEX_DESC"), @"flex_enabled"), BASIC_SWITCH(LOC(@"APP_VERSION_SPOOFER_LITE"), LOC(@"APP_VERSION_SPOOFER_LITE_DESC"), @"enableVersionSpoofer_enabled"), versionSpooferSection -- 2.45.2 From 753d690b78f09654cdb25621c3f9001cafbb1abf Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 22:38:19 -0700 Subject: [PATCH 18/23] Hide autoplay mini preview --- Source/Settings.xm | 1 + YTLitePlus.xm | 10 ++++++++++ lang/YTLitePlus.bundle/ar.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/de.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/en.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/es.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/fr.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/ja.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/pt.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/ro.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/ru.lproj/Localizable.strings | 3 +++ .../template.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/tr.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/vi.lproj/Localizable.strings | 3 +++ lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings | 3 +++ 15 files changed, 50 insertions(+) diff --git a/Source/Settings.xm b/Source/Settings.xm index bb28324..ffbe941 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -230,6 +230,7 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"DISABLE_TOGGLE_TIME_REMAINING"), LOC(@"DISABLE_TOGGLE_TIME_REMAINING_DESC"), @"disableRemainingTime_enabled"), BASIC_SWITCH(LOC(@"DISABLE_ENGAGEMENT_OVERLAY"), LOC(@"DISABLE_ENGAGEMENT_OVERLAY_DESC"), @"disableEngagementOverlay_enabled"), BASIC_SWITCH(LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER"), LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC"), @"hidePreviewCommentSection_enabled"), + BASIC_SWITCH(LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW"), LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW_DESC"), @"hideAutoplayMiniPreview_enabled"), ]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; diff --git a/YTLitePlus.xm b/YTLitePlus.xm index 1c6e9af..0798571 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -561,6 +561,16 @@ BOOL isTabSelected = NO; } %end +// Hide Autoplay Mini Preview - @bhackel +%hook YTAutonavPreviewView +- (void)didMoveToWindow { + %orig; + if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) { + self.hidden = YES; + } +} +%end + /* // BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer %group Main diff --git a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings index 9669e33..041d6a6 100644 --- a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings index 41c62eb..eedad7c 100644 --- a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Overlay-Optionen für App-Einstellungen"; diff --git a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings index 1964212..ffbe59a 100644 --- a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings index b5d54cd..ff13867 100644 --- a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opciones de superposición de los ajustes de la aplicación"; diff --git a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings index 22fda27..a784e9b 100644 --- a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Paramètres des options d'overlay de l'application"; diff --git a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings index 9782bf5..6b67d73 100644 --- a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "プレーヤー下のコメントプレビューを隠す"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "プレーヤーの下にあるコメントのプレビューを非表示にします。"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "アプリの設定オーバーレイの設定"; diff --git a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings index 210e80d..30133a2 100644 --- a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Configurações do Aplicativo"; diff --git a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings index 52e72e6..49d413f 100644 --- a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opțiuni Overlay Setări Aplicație"; diff --git a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings index c49d2b1..f29c9b2 100644 --- a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings index ddb0f44..0d1e58d 100644 --- a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings @@ -76,6 +76,9 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings index fe4b8b6..8db663c 100644 --- a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings @@ -61,6 +61,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Oynatıcının Altındaki Yorum Önizlemelerini Gizle"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Video oynatıcının altındaki yorum önizlemelerini gizler."; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Uyg. Ayarları Kaplama Seç."; diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index 995ee22..27fa187 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -70,6 +70,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // Shorts controls overlay options "SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn lớp phủ điều khiển quần short"; diff --git a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings index b78242d..bca5cf7 100644 --- a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings @@ -62,6 +62,9 @@ "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; +"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; +"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "應用程式設定隱藏項目"; -- 2.45.2 From ba13d1b987938bd47faecbc0c185a121958bcdc1 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Fri, 9 Aug 2024 22:44:51 -0700 Subject: [PATCH 19/23] Live Chat OLED dark mode --- YTLitePlus.h | 8 ++++++++ YTLitePlus.xm | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/YTLitePlus.h b/YTLitePlus.h index f2de2c4..90611be 100644 --- a/YTLitePlus.h +++ b/YTLitePlus.h @@ -96,6 +96,14 @@ @property (nonatomic, assign, readwrite) BOOL enableSnapToChapter; @end +// Hide Autoplay Mini Preview - @bhackel +@interface YTAutonavPreviewView : UIView +@end + +// OLED Live Chat - @bhackel +@interface YTLUserDefaults : NSUserDefaults +@end + // Hide Home Tab - @bhackel @interface YTPivotBarViewController : UIViewController @property NSString *selectedPivotIdentifier; diff --git a/YTLitePlus.xm b/YTLitePlus.xm index 0798571..74c36b3 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -542,11 +542,10 @@ BOOL isTabSelected = NO; } %end - -// Hide the Comment Section Previews under the Video Player - @arichornlover %hook _ASDisplayView - (void)didMoveToWindow { %orig; + // Hide the Comment Section Previews under the Video Player - @arichornlover if ((IsEnabled(@"hidePreviewCommentSection_enabled")) && ([self.accessibilityIdentifier isEqualToString:@"id.ui.comments_entry_point_teaser"])) { self.hidden = YES; self.opaque = YES; @@ -558,6 +557,12 @@ BOOL isTabSelected = NO; [self setNeedsLayout]; [self removeFromSuperview]; } + // Live chat OLED dark mode - @bhackel + if (([[YTLUserDefaults standardUserDefaults] boolForKey:@"oledTheme"] // YTLite OLED Theme + || [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1 // YTLitePlus OLED Theme + ) && [self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { + self.backgroundColor = [UIColor blackColor]; + } } %end -- 2.45.2 From 762cd8f61807bf41ebae90f60a1880ccb15cc268 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sat, 10 Aug 2024 00:47:05 -0700 Subject: [PATCH 20/23] Remove YTLitePlus OLED Theme --- Source/Settings.xm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Source/Settings.xm b/Source/Settings.xm index ffbe941..93125ee 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -365,8 +365,6 @@ static const NSInteger YTLiteSection = 789; detailTextBlock:^NSString *() { switch (GetSelection(@"appTheme")) { case 1: - return LOC(@"OLED_DARK_THEME_2"); - case 2: return LOC(@"OLD_DARK_THEME"); case 0: default: @@ -380,13 +378,8 @@ static const NSInteger YTLiteSection = 789; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLED_DARK_THEME") titleDescription:LOC(@"OLED_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"]; - [settingsViewController reloadData]; - return YES; - }], [YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLD_DARK_THEME") titleDescription:LOC(@"OLD_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:2 forKey:@"appTheme"]; + [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"]; [settingsViewController reloadData]; return YES; }], -- 2.45.2 From f64aab1b586f17cebab545ba2826735e0300ba73 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sat, 10 Aug 2024 02:19:23 -0700 Subject: [PATCH 21/23] Fix build error --- YTLitePlus.xm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/YTLitePlus.xm b/YTLitePlus.xm index 74c36b3..a799e20 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -558,7 +558,7 @@ BOOL isTabSelected = NO; [self removeFromSuperview]; } // Live chat OLED dark mode - @bhackel - if (([[YTLUserDefaults standardUserDefaults] boolForKey:@"oledTheme"] // YTLite OLED Theme + if (([[%c(YTLUserDefaults) standardUserDefaults] boolForKey:@"oledTheme"] // YTLite OLED Theme || [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1 // YTLitePlus OLED Theme ) && [self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; -- 2.45.2 From 1a9758770dc5c1946bfef4dd5969e5c3d6e3973b Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sat, 10 Aug 2024 02:34:42 -0700 Subject: [PATCH 22/23] Fix bugs --- Source/Themes.xm | 11 +++-------- YTLitePlus.xm | 9 ++++++++- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Source/Themes.xm b/Source/Themes.xm index 75123db..4ea44b7 100644 --- a/Source/Themes.xm +++ b/Source/Themes.xm @@ -6,11 +6,8 @@ static BOOL IsEnabled(NSString *key) { static BOOL isDarkMode() { return ([[NSUserDefaults standardUserDefaults] integerForKey:@"page_style"] == 1); } -static BOOL oledDarkTheme() { - return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1); -} static BOOL oldDarkTheme() { - return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 2); + return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1); } // Themes.xm - Theme Options @@ -402,7 +399,7 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha: %end // OLED dark mode by @BandarHL and modified by @arichorn -UIColor* raisedColor = [UIColor blackColor]; +/* %group gOLED %hook YTCommonColorPalette - (UIColor *)background1 { @@ -788,6 +785,7 @@ UIColor* raisedColor = [UIColor blackColor]; } %end %end +*/ // OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e %group gOLEDKB @@ -837,9 +835,6 @@ UIColor* raisedColor = [UIColor blackColor]; if (IsEnabled(@"oledKeyBoard_enabled")) { %init(gOLEDKB); } - if (oledDarkTheme()) { - %init(gOLED); - } if (oldDarkTheme()) { %init(gOldDarkTheme); } diff --git a/YTLitePlus.xm b/YTLitePlus.xm index a799e20..bd0938b 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -568,12 +568,19 @@ BOOL isTabSelected = NO; // Hide Autoplay Mini Preview - @bhackel %hook YTAutonavPreviewView -- (void)didMoveToWindow { +- (void)layoutSubviews { %orig; if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) { self.hidden = YES; } } +- (void)setHidden:(BOOL)arg1 { + if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) { + %orig(YES); + } else { + %orig(arg1); + } +} %end /* -- 2.45.2 From 08c263fdf01a53c382f2028bc849fee403b8783a Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sat, 10 Aug 2024 04:07:47 -0700 Subject: [PATCH 23/23] Copy Hide HUD and Hide Collapse Button --- Source/Settings.xm | 3 ++ YTLitePlus.h | 5 +++ YTLitePlus.xm | 32 +++++++++++++++++++ .../ar.lproj/Localizable.strings | 6 ++++ .../de.lproj/Localizable.strings | 6 ++++ .../en.lproj/Localizable.strings | 6 ++++ .../es.lproj/Localizable.strings | 6 ++++ .../fr.lproj/Localizable.strings | 6 ++++ .../ja.lproj/Localizable.strings | 6 ++++ .../pt.lproj/Localizable.strings | 6 ++++ .../ro.lproj/Localizable.strings | 6 ++++ .../ru.lproj/Localizable.strings | 6 ++++ .../template.lproj/Localizable.strings | 6 ++++ .../tr.lproj/Localizable.strings | 6 ++++ .../vi.lproj/Localizable.strings | 6 ++++ .../zh_TW.lproj/Localizable.strings | 6 ++++ 16 files changed, 118 insertions(+) diff --git a/Source/Settings.xm b/Source/Settings.xm index 93125ee..331c9bf 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -231,6 +231,9 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"DISABLE_ENGAGEMENT_OVERLAY"), LOC(@"DISABLE_ENGAGEMENT_OVERLAY_DESC"), @"disableEngagementOverlay_enabled"), BASIC_SWITCH(LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER"), LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC"), @"hidePreviewCommentSection_enabled"), BASIC_SWITCH(LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW"), LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW_DESC"), @"hideAutoplayMiniPreview_enabled"), + BASIC_SWITCH(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled"), + BASIC_SWITCH(LOC(@"HIDE_COLLAPSE_BUTTON"), LOC(@"HIDE_COLLAPSE_BUTTON_DESC"), @"disableCollapseButton_enabled"), + ]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; diff --git a/YTLitePlus.h b/YTLitePlus.h index 90611be..82d6ac1 100644 --- a/YTLitePlus.h +++ b/YTLitePlus.h @@ -39,6 +39,7 @@ #import "Tweaks/YouTubeHeader/YTWatchPullToFullController.h" #import "Tweaks/YouTubeHeader/YTPlayerBarController.h" #import "Tweaks/YouTubeHeader/YTResponder.h" +#import "Tweaks/YouTubeHeader/YTMainAppControlsOverlayView.h" #define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil] #define YT_BUNDLE_ID @"com.google.ios.youtube" @@ -121,6 +122,10 @@ @property id parentResponder; @end +// Hide Collapse Button - @arichornlover +@interface YTMainAppControlsOverlayView (YTLitePlus) +@property (nonatomic, assign, readwrite) YTQTMButton *watchCollapseButton; +@end // SponsorBlock button in Nav bar @interface MDCButton : UIButton diff --git a/YTLitePlus.xm b/YTLitePlus.xm index bd0938b..c4248cb 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -583,6 +583,38 @@ BOOL isTabSelected = NO; } %end +// Hide HUD Messages - @qnblackcat +%hook YTHUDMessageView +- (id)initWithMessage:(id)arg1 dismissHandler:(id)arg2 { + return IsEnabled(@"hideHUD_enabled") ? nil : %orig; +} +%end + +// Hide Video Player Collapse Button - @arichornlover +%hook YTMainAppControlsOverlayView +- (void)layoutSubviews { + %orig; + if (IsEnabled(@"disableCollapseButton_enabled")) { + if (self.watchCollapseButton) { + [self.watchCollapseButton removeFromSuperview]; + } + } +} +- (BOOL)watchCollapseButtonHidden { + if (IsEnabled(@"disableCollapseButton_enabled")) { + return YES; + } else { + return %orig; + } +} +- (void)setWatchCollapseButtonAvailable:(BOOL)available { + if (IsEnabled(@"disableCollapseButton_enabled")) { + } else { + %orig(available); + } +} +%end + /* // BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer %group Main diff --git a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings index 041d6a6..496cfb4 100644 --- a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "إخفاء رسائل المعلومات"; +"HIDE_HUD_MESSAGES_DESC" = "مثلاً: تم إيقاف الترجمة..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings index eedad7c..8d1dee7 100644 --- a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "HUD-Nachrichten ausblenden"; +"HIDE_HUD_MESSAGES_DESC" = "z.B.: Untertitel sind aktiviert/deaktiviert, Videoschleife ist an, ..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Overlay-Optionen für App-Einstellungen"; diff --git a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings index ffbe59a..6c805d4 100644 --- a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Hide HUD messages"; +"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)"; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings index ff13867..6b1d700 100644 --- a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Ocultar mensajes HUD"; +"HIDE_HUD_MESSAGES_DESC" = "Ejemplo: CC está activado/desactivado, Vídeo en bucle está activado,..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opciones de superposición de los ajustes de la aplicación"; diff --git a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings index a784e9b..ec9a68c 100644 --- a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Masquer les messages de l'ATH"; +"HIDE_HUD_MESSAGES_DESC" = "Exemple : Les sous-titres sont activés/désactivés, la boucle vidéo est activée,..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Paramètres des options d'overlay de l'application"; diff --git a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings index 6b67d73..1550594 100644 --- a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "HUDメッセージを非表示"; +"HIDE_HUD_MESSAGES_DESC" = "特定のアクション後に表示されるスナックバーを非表示にします。(例: 字幕がオン/オフになりました など)"; + +"HIDE_COLLAPSE_BUTTON" = "折りたたみボタンを隠す"; +"HIDE_COLLAPSE_BUTTON_DESC" = "プレーヤー左上の折りたたみボタンを非表示にします。"; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "アプリの設定オーバーレイの設定"; diff --git a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings index 30133a2..2c580f6 100644 --- a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Ocultar Mensagens do HUD"; +"HIDE_HUD_MESSAGES_DESC" = "Exemplo: Legendas/CC ativadas/desativadas, A repetição do vídeo está ativada,..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Configurações do Aplicativo"; diff --git a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings index 49d413f..6bec7d1 100644 --- a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Ascundere Mesaje HUD"; +"HIDE_HUD_MESSAGES_DESC" = "Exemplu: Subtitrările sunt activate/dezactivate, Redarea în buclă este activată,..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opțiuni Overlay Setări Aplicație"; diff --git a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings index f29c9b2..f7f6443 100644 --- a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Скрыть сообщения плеера"; +"HIDE_HUD_MESSAGES_DESC" = "Скрывает надписи YouTube, появляющиеся поверх видео."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings index 0d1e58d..5e6f94d 100644 --- a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings @@ -79,6 +79,12 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Hide HUD messages"; +"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)"; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings index 8db663c..e1d707f 100644 --- a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings @@ -64,6 +64,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "HUD mesajlarını gizle"; +"HIDE_HUD_MESSAGES_DESC" = "Belirli işlemler için görüntülenen bildirim çubuklarını gizler (ör. CC açıldı/kapandı)"; + +"HIDE_COLLAPSE_BUTTON" = "Daraltma Düğmesini Gizle"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Video oynatıcıda sol üstte görünen ok ile daraltma düğmesini gizler."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Uyg. Ayarları Kaplama Seç."; diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index 27fa187..49194cd 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -73,6 +73,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "Ẩn thông báo HUD"; +"HIDE_HUD_MESSAGES_DESC" = "Ví dụ: Đã bật/tắt phụ đề, Tính năng phát video lặp lại đang bật,..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // Shorts controls overlay options "SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn lớp phủ điều khiển quần short"; diff --git a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings index bca5cf7..f4d3dfa 100644 --- a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings @@ -65,6 +65,12 @@ "HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; "HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; +"HIDE_HUD_MESSAGES" = "隱藏 HUD 訊息"; +"HIDE_HUD_MESSAGES_DESC" = "例如:CC字幕、開啟/關閉、影片循環開啟等..."; + +"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; +"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; + // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "應用程式設定隱藏項目"; -- 2.45.2