From 3efc79224fd96f6c8b92a31197afe45e9937dd6c Mon Sep 17 00:00:00 2001 From: Nico Date: Fri, 16 Dec 2022 15:51:23 +0100 Subject: [PATCH] [ShowHiddenChannels] Fix last message date (#342) --- src/api/Commands/commandHelpers.ts | 6 ++---- src/plugins/showHiddenChannels.tsx | 4 ++-- src/webpack/common.tsx | 3 +++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/api/Commands/commandHelpers.ts b/src/api/Commands/commandHelpers.ts index d363d6edb..dd1196f9f 100644 --- a/src/api/Commands/commandHelpers.ts +++ b/src/api/Commands/commandHelpers.ts @@ -17,7 +17,8 @@ */ import { mergeDefaults } from "@utils/misc"; -import { findByCodeLazy, findByPropsLazy, waitFor } from "@webpack"; +import { findByCodeLazy, findByPropsLazy } from "@webpack"; +import { SnowflakeUtils } from "@webpack/common"; import { Message } from "discord-types/general"; import type { PartialDeep } from "type-fest"; @@ -26,9 +27,6 @@ import { Argument } from "./types"; const createBotMessage = findByCodeLazy('username:"Clyde"'); const MessageSender = findByPropsLazy("receiveMessage"); -let SnowflakeUtils: any; -waitFor("fromTimestamp", m => SnowflakeUtils = m); - export function generateId() { return `-${SnowflakeUtils.fromTimestamp(Date.now())}`; } diff --git a/src/plugins/showHiddenChannels.tsx b/src/plugins/showHiddenChannels.tsx index 70b8406f0..7f5263532 100644 --- a/src/plugins/showHiddenChannels.tsx +++ b/src/plugins/showHiddenChannels.tsx @@ -23,7 +23,7 @@ import { Devs } from "@utils/constants"; import { ModalContent, ModalFooter, ModalHeader, ModalRoot, ModalSize, openModal } from "@utils/modal"; import definePlugin, { OptionType } from "@utils/types"; import { waitFor } from "@webpack"; -import { Button, ChannelStore, Text } from "@webpack/common"; +import { Button, ChannelStore, SnowflakeUtils, Text } from "@webpack/common"; const CONNECT = 1048576n; const VIEW_CHANNEL = 1024n; @@ -117,7 +117,7 @@ export default definePlugin({ const isHidden = this.isHiddenChannel(channel); // check for type again, otherwise it would show it for hidden stage channels if (channel.type === 0 && isHidden) { - const lastMessageDate = channel.lastActiveTimestamp ? new Date(channel.lastActiveTimestamp).toLocaleString() : null; + const lastMessageDate = channel.lastMessageId ? new Date(SnowflakeUtils.extractTimestamp(channel.lastMessageId)).toLocaleString() : null; openModal(modalProps => ( diff --git a/src/webpack/common.tsx b/src/webpack/common.tsx index 81bea3170..42db7589f 100644 --- a/src/webpack/common.tsx +++ b/src/webpack/common.tsx @@ -76,6 +76,9 @@ export const TextArea = findByCodeLazy("handleSetRef", "textArea") as React.Comp export const Select = LazyComponent(() => findByCode("optionClassName", "popoutPosition", "autoFocus", "maxVisibleItems")); export const Slider = LazyComponent(() => findByCode("closestMarkerIndex", "stickToMarkers")); +export let SnowflakeUtils: { fromTimestamp: (timestamp: number) => string, extractTimestamp: (snowflake: string) => number }; +waitFor(["fromTimestamp", "extractTimestamp"], m => SnowflakeUtils = m); + export let Parser: any; export let Alerts: { show(alert: {