diff --git a/CHANGELOG-nightly.md b/CHANGELOG-nightly.md index 40bf464b8..a60aed62e 100644 --- a/CHANGELOG-nightly.md +++ b/CHANGELOG-nightly.md @@ -13,6 +13,7 @@ - Emote Menu - 7TV Paints & Badges - Fixed an issue which caused mod icons to be invisible +- Fixed an issue where the emote menu button was broken due to a recent Twitch change - Fixed an issue which sometimes caused channel emote sets to disappear - Fixed an issue which caused stylesheets to be duplicated when running in hosted mode diff --git a/src/app/emote-menu/EmoteMenu.vue b/src/app/emote-menu/EmoteMenu.vue index 0ae07eda9..e12c96c85 100644 --- a/src/app/emote-menu/EmoteMenu.vue +++ b/src/app/emote-menu/EmoteMenu.vue @@ -43,7 +43,7 @@ @emote-clicked="emit('emote-click', $event)" @provider-visible="onProviderVisibilityChange(key, $event)" @toggle-settings="settingsContext.toggle()" - @toggle-native-menu="toggle()" + @toggle-native-menu="[toggle(), emit('toggle-native-menu')]" /> @@ -76,6 +76,7 @@ const props = defineProps<{ const emit = defineEmits<{ (e: "emote-click", emote: SevenTV.ActiveEmote): void; + (e: "toggle-native-menu"): void; (e: "close", ev: MouseEvent): void; }>(); diff --git a/src/site/twitch.tv/modules/emote-menu/EmoteMenu.vue b/src/site/twitch.tv/modules/emote-menu/EmoteMenu.vue index dc44529d2..e903eb5c7 100644 --- a/src/site/twitch.tv/modules/emote-menu/EmoteMenu.vue +++ b/src/site/twitch.tv/modules/emote-menu/EmoteMenu.vue @@ -7,6 +7,7 @@ scale="1rem" :instance="props.instance" @emote-click="onEmoteClick($event)" + @toggle-native-menu="toggle(true)" @close="onClose" /> @@ -89,7 +90,6 @@ function toggle(native?: boolean) { const t = props.instance.component; if (native) { t.onEmotePickerButtonClick(); - ctx.open = false; return; } @@ -97,9 +97,9 @@ function toggle(native?: boolean) { t.props.closeEmotePicker(); } else { t.props.clearMenus(); - t.closeBitsCard(); - t.closePaidPinnedChatCardForEmotePicker(); - t.closeCheerCard(); + if (typeof t.closeBitsCard === "function") t.closeBitsCard(); + if (typeof t.closePaidPinnedChatCardForEmotePicker === "function") t.closePaidPinnedChatCardForEmotePicker(); + if (typeof t.closeCheerCard === "function") t.closeCheerCard(); } ctx.open = !ctx.open;