From 17c3496542adc9ddfe46e3bc73c0fe7776c30f78 Mon Sep 17 00:00:00 2001 From: fawn Date: Sun, 19 Mar 2023 08:13:17 +0000 Subject: feat(typingIndicator): Option to not show indicator for blocked users (#513) --- src/plugins/typingIndicator.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/typingIndicator.tsx b/src/plugins/typingIndicator.tsx index 9af09bc..4b0d162 100644 --- a/src/plugins/typingIndicator.tsx +++ b/src/plugins/typingIndicator.tsx @@ -22,7 +22,7 @@ import { Devs } from "@utils/constants"; import { LazyComponent } from "@utils/misc"; import definePlugin, { OptionType } from "@utils/types"; import { find, findLazy, findStoreLazy } from "@webpack"; -import { ChannelStore, GuildMemberStore, Tooltip, UserStore, useStateFromStores } from "@webpack/common"; +import { ChannelStore, GuildMemberStore, RelationshipStore, Tooltip, UserStore, useStateFromStores } from "@webpack/common"; import { buildSeveralUsers } from "./typingTweaks"; @@ -57,9 +57,9 @@ function TypingIndicator({ channelId }: { channelId: string; }) { if (isChannelMuted) return null; } - delete typingUsers[UserStore.getCurrentUser().id]; + const myId = UserStore.getCurrentUser().id; - const typingUsersArray = Object.keys(typingUsers); + const typingUsersArray = Object.keys(typingUsers).filter(id => id !== myId && !(RelationshipStore.isBlocked(id) && !settings.store.includeBlockedUsers)); let tooltipText: string; switch (typingUsersArray.length) { @@ -108,13 +108,18 @@ const settings = definePluginSettings({ type: OptionType.BOOLEAN, description: "Whether to show the typing indicator for muted channels.", default: false + }, + includeBlockedUsers: { + type: OptionType.BOOLEAN, + description: "Whether to show the typing indicator for blocked users.", + default: false } }); export default definePlugin({ name: "TypingIndicator", description: "Adds an indicator if someone is typing on a channel.", - authors: [Devs.Nuckyz], + authors: [Devs.Nuckyz, Devs.obscurity], settings, patches: [ -- cgit