diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java
index 5fc04bc74..6264b2ab2 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java
@@ -6,8 +6,11 @@ import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
final class CommentsFilter extends Filter {
+ private static final String COMMENT_COMPOSER_PATH = "comment_composer.eml";
+
private final StringFilterGroup chipBar;
private final ByteArrayFilterGroup aiCommentsSummary;
+ private final StringFilterGroup emojiAndTimestampButtons;
public CommentsFilter() {
var chatSummary = new StringFilterGroup(
@@ -52,6 +55,11 @@ final class CommentsFilter extends Filter {
"composer_short_creation_button.eml"
);
+ emojiAndTimestampButtons = new StringFilterGroup(
+ Settings.HIDE_COMMENTS_EMOJI_AND_TIMESTAMP_BUTTONS,
+ "|CellType|ContainerType|ContainerType|ContainerType|ContainerType|ContainerType|"
+ );
+
var previewComment = new StringFilterGroup(
Settings.HIDE_COMMENTS_PREVIEW_COMMENT,
"|carousel_item",
@@ -64,11 +72,6 @@ final class CommentsFilter extends Filter {
"super_thanks_button.eml"
);
- StringFilterGroup timestampButton = new StringFilterGroup(
- Settings.HIDE_COMMENTS_TIMESTAMP_BUTTON,
- "composer_timestamp_button.eml"
- );
-
addPathCallbacks(
channelGuidelines,
chatSummary,
@@ -77,9 +80,9 @@ final class CommentsFilter extends Filter {
comments,
communityGuidelines,
createAShort,
+ emojiAndTimestampButtons,
previewComment,
- thanksButton,
- timestampButton
+ thanksButton
);
}
@@ -93,6 +96,10 @@ final class CommentsFilter extends Filter {
&& aiCommentsSummary.check(buffer).isFiltered();
}
+ if (matchedGroup == emojiAndTimestampButtons) {
+ return path.startsWith(COMMENT_COMPOSER_PATH);
+ }
+
return true;
}
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
index 86dd9d961..565814a51 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
@@ -199,9 +199,9 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_COMMENTS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_comments_community_guidelines", TRUE);
public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE);
public static final BooleanSetting HIDE_COMMENTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE);
+ public static final BooleanSetting HIDE_COMMENTS_EMOJI_AND_TIMESTAMP_BUTTONS = new BooleanSetting("revanced_hide_comments_emoji_and_timestamp_buttons", FALSE);
public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE);
public static final BooleanSetting HIDE_COMMENTS_THANKS_BUTTON = new BooleanSetting("revanced_hide_comments_thanks_button", TRUE);
- public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_BUTTON = new BooleanSetting("revanced_hide_comments_timestamp_button", FALSE);
// Description
public static final BooleanSetting HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION = new BooleanSetting("revanced_hide_ai_generated_video_summary_section", FALSE);
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
index 30ae4f875..c671da3ff 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
@@ -161,9 +161,9 @@ val hideLayoutComponentsPatch = bytecodePatch(
SwitchPreference("revanced_hide_comments_section"),
SwitchPreference("revanced_hide_comments_community_guidelines"),
SwitchPreference("revanced_hide_comments_create_a_short_button"),
+ SwitchPreference("revanced_hide_comments_emoji_and_timestamp_buttons"),
SwitchPreference("revanced_hide_comments_preview_comment"),
SwitchPreference("revanced_hide_comments_thanks_button"),
- SwitchPreference("revanced_hide_comments_timestamp_button"),
),
sorting = PreferenceScreenPreference.Sorting.UNSORTED,
),
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 8e47efe4e..d51200006 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -441,15 +441,15 @@ If a Doodle is currently showing in your region and this hide setting is on, the
Hide \'Create a Short\' button
Create a Short button is hidden
Create a Short button is shown
+ Hide Emoji and Timestamp buttons
+ Emoji and Timestamp buttons are hidden
+ Emoji and Timestamp buttons are shown
Hide preview comment
Preview comment is hidden
Preview comment is shown
Hide Thanks button
Thanks button is hidden
Thanks button is shown
- Hide Timestamp button
- Timestamp button is hidden
- Timestamp button is shown
Custom filter
Hide components using custom filters