Merge branch 'dev' into immediate-finds

This commit is contained in:
Nuckyz 2024-05-09 00:46:24 -03:00
commit 38b6c7fa6c
No known key found for this signature in database
GPG key ID: 440BF8296E1C4AD9
6 changed files with 28 additions and 18 deletions

View file

@ -17,6 +17,7 @@
*/
import { Settings } from "@api/Settings";
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants";
import { canonicalizeMatch } from "@utils/patches";
import definePlugin, { OptionType } from "@utils/types";
@ -83,7 +84,9 @@ export default definePlugin({
patchPadding(lastSection: any) {
if (!lastSection) return;
return (
<div className={UserPopoutSectionCssClasses.lastSection}></div>
<ErrorBoundary noop>
<div className={UserPopoutSectionCssClasses.lastSection}></div>
</ErrorBoundary>
);
}
});

View file

@ -17,6 +17,7 @@
*/
import { classNameFactory } from "@api/Styles";
import ErrorBoundary from "@components/ErrorBoundary";
import { FluxDispatcher, React, useRef, useState } from "@webpack/common";
import { ELEMENT_ID } from "../constants";
@ -36,7 +37,7 @@ export interface MagnifierProps {
const cl = classNameFactory("vc-imgzoom-");
export const Magnifier: React.ComponentType<MagnifierProps> = ({ instance, size: initialSize, zoom: initalZoom }) => {
export const Magnifier = ErrorBoundary.wrap<MagnifierProps>(({ instance, size: initialSize, zoom: initalZoom }) => {
const [ready, setReady] = useState(false);
const [lensPosition, setLensPosition] = useState<Vec2>({ x: 0, y: 0 });
@ -199,4 +200,4 @@ export const Magnifier: React.ComponentType<MagnifierProps> = ({ instance, size:
)}
</div>
);
};
}, { noop: true });

View file

@ -16,6 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants";
import { isNonNullish } from "@utils/guards";
import definePlugin from "@utils/types";
@ -60,7 +61,7 @@ export default definePlugin({
}
],
renderMutualGDMs(user: User, onClose: () => void) {
renderMutualGDMs: ErrorBoundary.wrap((user: User, onClose: () => void) => {
const entries = ChannelStore.getSortedPrivateChannels().filter(c => c.isGroupDM() && c.recipients.includes(user.id)).map(c => (
<Clickable
className={ProfileListClasses.listRow}
@ -99,5 +100,5 @@ export default definePlugin({
}
</ScrollerThin>
);
}
})
});

View file

@ -16,6 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
import { findByProps } from "@webpack";
@ -61,13 +62,15 @@ export default definePlugin({
renderInvitesLabel(guildId: string, setChecked: Function) {
return (
<div>
{i18n.Messages.GUILD_INVITE_DISABLE_ACTION_SHEET_DESCRIPTION}
{this.showDisableInvites(guildId) && <a role="button" onClick={() => {
setChecked(true);
this.disableInvites(guildId);
}}> Pause Indefinitely.</a>}
</div>
<ErrorBoundary noop>
<div>
{i18n.Messages.GUILD_INVITE_DISABLE_ACTION_SHEET_DESCRIPTION}
{this.showDisableInvites(guildId) && <a role="button" onClick={() => {
setChecked(true);
this.disableInvites(guildId);
}}> Pause Indefinitely.</a>}
</div>
</ErrorBoundary>
);
}
});

View file

@ -19,6 +19,7 @@
import "./style.css";
import { addServerListElement, removeServerListElement, ServerListRenderPosition } from "@api/ServerList";
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Button, FluxDispatcher, GuildChannelStore, GuildStore, React, ReadStateStore } from "@webpack/common";
@ -64,7 +65,7 @@ export default definePlugin({
authors: [Devs.kemo],
dependencies: ["ServerListAPI"],
renderReadAllButton: () => <ReadAllButton />,
renderReadAllButton: ErrorBoundary.wrap(ReadAllButton, { noop: true }),
start() {
addServerListElement(ServerListRenderPosition.Above, this.renderReadAllButton);

View file

@ -7,6 +7,7 @@
import "./styles.css";
import { definePluginSettings } from "@api/Settings";
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { Message, User } from "discord-types/general";
@ -56,7 +57,7 @@ export default definePlugin({
],
settings,
renderUsername: ({ author, message, isRepliedMessage, withMentionPrefix, userOverride }: UsernameProps) => {
renderUsername: ErrorBoundary.wrap(({ author, message, isRepliedMessage, withMentionPrefix, userOverride }: UsernameProps) => {
try {
const user = userOverride ?? message.author;
let { username } = user;
@ -66,14 +67,14 @@ export default definePlugin({
const { nick } = author;
const prefix = withMentionPrefix ? "@" : "";
if (username === nick || isRepliedMessage && !settings.store.inReplies)
return prefix + nick;
return <>prefix + nick</>;
if (settings.store.mode === "user-nick")
return <>{prefix}{username} <span className="vc-smyn-suffix">{nick}</span></>;
if (settings.store.mode === "nick-user")
return <>{prefix}{nick} <span className="vc-smyn-suffix">{username}</span></>;
return prefix + username;
return <>prefix + username</>;
} catch {
return author?.nick;
return <>author?.nick</>;
}
},
}, { noop: true }),
});