Fix PermissionsViewer & NoMosaic
This commit is contained in:
parent
dbca8ef263
commit
e50d8c44bd
5 changed files with 29 additions and 19 deletions
|
|
@ -112,10 +112,6 @@ export default definePlugin({
|
|||
{
|
||||
find: "#{intl::PREMIUM_UPSELL_PROFILE_AVATAR_DECO_INLINE_UPSELL_DESCRIPTION}",
|
||||
replacement: [
|
||||
{
|
||||
match: /(#{intl::PREMIUM_UPSELL_PROFILE_AVATAR_DECO_INLINE_UPSELL_DESCRIPTION}.+?return null!=(\i)&&\()(null==\i)/,
|
||||
replace: (_, rest, avatarDecoration, hasPurchase) => `${rest}(${avatarDecoration}.skuId!==$self.SKU_ID&&${avatarDecoration}.skuId!==$self.RAW_SKU_ID&&${hasPurchase})`
|
||||
},
|
||||
{
|
||||
match: /(?<==)\i=>{let{user:\i,guildId:\i,avatarDecoration:/,
|
||||
replace: "$self.AvatarDecorationModalPreview=$&"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,13 @@ export default definePlugin({
|
|||
settings,
|
||||
|
||||
patches: [
|
||||
{
|
||||
find: '"PLAINTEXT_PREVIEW":"OTHER"',
|
||||
replacement: {
|
||||
match: /"IMAGE"===\i\|\|"VIDEO"===\i\|\|"CLIP"===\i/,
|
||||
replace: "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
find: "renderAttachments(",
|
||||
predicate: () => settings.store.inlineVideo,
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@
|
|||
import ErrorBoundary from "@components/ErrorBoundary";
|
||||
import { Flex } from "@components/Flex";
|
||||
import { InfoIcon, OwnerCrownIcon } from "@components/Icons";
|
||||
import { cl, getGuildPermissionSpecMap } from "@plugins/permissionsViewer/utils";
|
||||
import { cl, getGuildPermissionSpecMap, loadGetGuildPermissionSpecMap } from "@plugins/permissionsViewer/utils";
|
||||
import { copyToClipboard } from "@utils/clipboard";
|
||||
import { getIntlMessage, getUniqueUsername } from "@utils/discord";
|
||||
import { ModalCloseButton, ModalContent, ModalHeader, ModalProps, ModalRoot, ModalSize, openModal } from "@utils/modal";
|
||||
import { ModalCloseButton, ModalContent, ModalHeader, ModalProps, ModalRoot, ModalSize, openModalLazy } from "@utils/modal";
|
||||
import { Guild, Role, RoleOrUserPermission, UnicodeEmoji, User } from "@vencord/discord-types";
|
||||
import { PermissionOverwriteType } from "@vencord/discord-types/enums";
|
||||
import { findByCodeLazy } from "@webpack";
|
||||
|
|
@ -266,12 +266,16 @@ function UserContextMenu({ userId }: { userId: string; }) {
|
|||
const RolesAndUsersPermissions = ErrorBoundary.wrap(RolesAndUsersPermissionsComponent);
|
||||
|
||||
export default function openRolesAndUsersPermissionsModal(permissions: Array<RoleOrUserPermission>, guild: Guild, header: string) {
|
||||
return openModal(modalProps => (
|
||||
<RolesAndUsersPermissions
|
||||
modalProps={modalProps}
|
||||
permissions={permissions}
|
||||
guild={guild}
|
||||
header={header}
|
||||
/>
|
||||
));
|
||||
return openModalLazy(async () => {
|
||||
await loadGetGuildPermissionSpecMap();
|
||||
|
||||
return modalProps => (
|
||||
<RolesAndUsersPermissions
|
||||
modalProps={modalProps}
|
||||
permissions={permissions}
|
||||
guild={guild}
|
||||
header={header}
|
||||
/>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,11 +29,11 @@ import definePlugin, { OptionType } from "@utils/types";
|
|||
import type { Guild, RoleOrUserPermission } from "@vencord/discord-types";
|
||||
import { PermissionOverwriteType } from "@vencord/discord-types/enums";
|
||||
import { findCssClassesLazy } from "@webpack";
|
||||
import { Button, ChannelStore, Dialog, GuildMemberStore, GuildRoleStore, GuildStore, match, Menu, PermissionsBits, Popout, useRef, UserStore } from "@webpack/common";
|
||||
import { Button, ChannelStore, Dialog, GuildMemberStore, GuildRoleStore, GuildStore, match, Menu, PermissionsBits, Popout, useEffect, useRef, UserStore } from "@webpack/common";
|
||||
|
||||
import openRolesAndUsersPermissionsModal from "./components/RolesAndUsersPermissions";
|
||||
import UserPermissions from "./components/UserPermissions";
|
||||
import { getSortedRolesForMember, sortPermissionOverwrites } from "./utils";
|
||||
import { getSortedRolesForMember, loadGetGuildPermissionSpecMap, sortPermissionOverwrites } from "./utils";
|
||||
|
||||
const PopoutClasses = findCssClassesLazy("container", "popoutRoleDot");
|
||||
|
||||
|
|
@ -175,11 +175,12 @@ export default definePlugin({
|
|||
],
|
||||
|
||||
ViewPermissionsButton: ErrorBoundary.wrap(({ className, guild, userId }: { className: string; guild: Guild; userId: string; }) => {
|
||||
const buttonRef = useRef(null);
|
||||
useEffect(() => void loadGetGuildPermissionSpecMap(), []);
|
||||
|
||||
const guildMember = GuildMemberStore.getMember(guild.id, userId);
|
||||
if (!guildMember) return null;
|
||||
|
||||
const buttonRef = useRef(null);
|
||||
|
||||
return (
|
||||
<Popout
|
||||
position="bottom"
|
||||
|
|
|
|||
|
|
@ -19,10 +19,12 @@
|
|||
import { classNameFactory } from "@utils/css";
|
||||
import { Guild, GuildMember, Role } from "@vencord/discord-types";
|
||||
import { PermissionOverwriteType } from "@vencord/discord-types/enums";
|
||||
import { findByPropsLazy } from "@webpack";
|
||||
import { extractAndLoadChunksLazy, findByPropsLazy } from "@webpack";
|
||||
import { GuildRoleStore } from "@webpack/common";
|
||||
|
||||
import { PermissionsSortOrder, settings } from ".";
|
||||
|
||||
export const loadGetGuildPermissionSpecMap = extractAndLoadChunksLazy([".PRIMARY,badgeTooltipDelay:"]);
|
||||
export const { getGuildPermissionSpecMap } = findByPropsLazy("getGuildPermissionSpecMap");
|
||||
|
||||
export const cl = classNameFactory("vc-permviewer-");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue