mirror of
https://github.com/Equicord/Equicord.git
synced 2025-06-09 14:43:03 -04:00
feat(MessagePeek): add settings & small fix (#83)
* added settings to disable or enable guild / dm peeking, fixed it so you dont have to use any for globalName * Update index.tsx
This commit is contained in:
parent
c87a69193e
commit
a019187f19
3 changed files with 41 additions and 3 deletions
|
@ -15,6 +15,12 @@ import { MessagePeekProps } from "../types";
|
|||
const ChannelWrapperStyles = findByPropsLazy("muted", "subText");
|
||||
const ChannelStyles = findByPropsLazy("closeButton", "subtext");
|
||||
|
||||
declare module "discord-types/general" {
|
||||
interface User {
|
||||
globalName?: string;
|
||||
}
|
||||
}
|
||||
|
||||
export default function MessagePeek(props: MessagePeekProps) {
|
||||
const { channel, channel_url } = props;
|
||||
if (!channel && !channel_url) return null;
|
||||
|
@ -38,7 +44,7 @@ export default function MessagePeek(props: MessagePeekProps) {
|
|||
>
|
||||
<TooltipContainer text={content.length > 256 ? Parser.parse(content.slice(0, 256).trim()) : Parser.parse(content)}>
|
||||
<div className={ChannelStyles.subtext}>
|
||||
{`${(lastMessage.author as any).globalName || lastMessage.author.username}: `}
|
||||
{`${lastMessage.author.globalName || lastMessage.author.username}: `}
|
||||
{Parser.parseInlineReply(content)}
|
||||
</div>
|
||||
</TooltipContainer>
|
||||
|
|
|
@ -9,12 +9,16 @@ import { EquicordDevs } from "@utils/constants";
|
|||
import definePlugin from "@utils/types";
|
||||
|
||||
import MessagePeek from "./components/MessagePeek";
|
||||
import { settings } from "./settings";
|
||||
import { MessagePeekProps } from "./types";
|
||||
|
||||
export default definePlugin({
|
||||
name: "MessagePeek",
|
||||
description: "See the last message in a Channel like on mobile",
|
||||
authors: [EquicordDevs.HypedDomi],
|
||||
|
||||
settings: settings,
|
||||
|
||||
patches: [
|
||||
{
|
||||
// DMs
|
||||
|
@ -28,7 +32,8 @@ export default definePlugin({
|
|||
$self.renderMessagePeek({ channel_url: $1.children.props.children[0].props.to })
|
||||
];
|
||||
`.replace(/\s+/g, "")
|
||||
}
|
||||
},
|
||||
predicate: () => settings.store.dms === true
|
||||
},
|
||||
{
|
||||
// Guild channels
|
||||
|
@ -40,7 +45,8 @@ export default definePlugin({
|
|||
$1[0].props.children[1].props.children,
|
||||
$self.renderMessagePeek({ channel: $1[0].props.children[0].props.channel })
|
||||
];`.replace(/\s+/g, "")
|
||||
}
|
||||
},
|
||||
predicate: () => settings.store.guildChannels === true
|
||||
}
|
||||
],
|
||||
renderMessagePeek: (props: MessagePeekProps) => {
|
||||
|
|
26
src/equicordplugins/messagePeek/settings.ts
Normal file
26
src/equicordplugins/messagePeek/settings.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* Vencord, a Discord client mod
|
||||
* Copyright (c) 2024 Vendicated and contributors
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { definePluginSettings } from "@api/Settings";
|
||||
import { OptionType } from "@utils/types";
|
||||
|
||||
const settings = definePluginSettings({
|
||||
guildChannels: {
|
||||
description: "Show message peek in guild channels",
|
||||
type: OptionType.BOOLEAN,
|
||||
default: true,
|
||||
restartNeeded: true
|
||||
},
|
||||
dms: {
|
||||
description: "Show message peek in DMs",
|
||||
type: OptionType.BOOLEAN,
|
||||
default: true,
|
||||
restartNeeded: true
|
||||
}
|
||||
});
|
||||
|
||||
export default settings;
|
||||
export { settings };
|
Loading…
Add table
Add a link
Reference in a new issue