aboutsummaryrefslogtreecommitdiff
path: root/src/components/PluginSettings/PluginModal.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/PluginSettings/PluginModal.tsx')
-rw-r--r--src/components/PluginSettings/PluginModal.tsx29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/components/PluginSettings/PluginModal.tsx b/src/components/PluginSettings/PluginModal.tsx
index f30cede..78f3c9d 100644
--- a/src/components/PluginSettings/PluginModal.tsx
+++ b/src/components/PluginSettings/PluginModal.tsx
@@ -18,7 +18,6 @@
import { generateId } from "@api/Commands";
import { useSettings } from "@api/Settings";
-import { disableStyle, enableStyle } from "@api/Styles";
import ErrorBoundary from "@components/ErrorBoundary";
import { Flex } from "@components/Flex";
import { proxyLazy } from "@utils/lazy";
@@ -28,7 +27,7 @@ import { ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalProps, M
import { LazyComponent } from "@utils/react";
import { OptionType, Plugin } from "@utils/types";
import { findByCode, findByPropsLazy } from "@webpack";
-import { Button, FluxDispatcher, Forms, React, Text, Tooltip, UserStore, UserUtils } from "@webpack/common";
+import { Button, Clickable, FluxDispatcher, Forms, React, Text, Tooltip, UserStore, UserUtils } from "@webpack/common";
import { User } from "discord-types/general";
import { Constructor } from "type-fest";
@@ -41,7 +40,7 @@ import {
SettingSliderComponent,
SettingTextComponent
} from "./components";
-import hideBotTagStyle from "./userPopoutHideBotTag.css?managed";
+import { openContributorModal } from "./ContributorModal";
const UserSummaryItem = LazyComponent(() => findByCode("defaultRenderUser", "showDefaultAvatarsForNullUsers"));
const AvatarStyles = findByPropsLazy("moreUsers", "emptyUser", "avatarContainer", "clickableAvatar");
@@ -92,27 +91,16 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti
const hasSettings = Boolean(pluginSettings && plugin.options && !isObjectEmpty(plugin.options));
React.useEffect(() => {
- enableStyle(hideBotTagStyle);
-
- let originalUser: User;
(async () => {
for (const user of plugin.authors.slice(0, 6)) {
const author = user.id
? await UserUtils.fetchUser(`${user.id}`)
- // only show name & pfp and no actions so users cannot harass plugin devs for support (send dms, add as friend, etc)
- .then(u => (originalUser = u, makeDummyUser(u)))
.catch(() => makeDummyUser({ username: user.name }))
: makeDummyUser({ username: user.name });
setAuthors(a => [...a, author]);
}
})();
-
- return () => {
- disableStyle(hideBotTagStyle);
- if (originalUser)
- FluxDispatcher.dispatch({ type: "USER_UPDATE", user: originalUser });
- };
}, []);
async function saveAndClose() {
@@ -214,6 +202,19 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti
showDefaultAvatarsForNullUsers
showUserPopout
renderMoreUsers={renderMoreUsers}
+ renderUser={(user: User) => (
+ <Clickable
+ className={AvatarStyles.clickableAvatar}
+ onClick={() => openContributorModal(user)}
+ >
+ <img
+ className={AvatarStyles.avatar}
+ src={user.getAvatarURL(void 0, 80, true)}
+ alt={user.username}
+ title={user.username}
+ />
+ </Clickable>
+ )}
/>
</div>
</Forms.FormSection>