mirror of
https://github.com/Vendicated/Vencord.git
synced 2025-01-09 17:36:23 +00:00
Merge branch 'dev' into CopyEmojiMarkdown
This commit is contained in:
commit
dff95acdc7
8 changed files with 39 additions and 9 deletions
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "vencord",
|
||||
"private": "true",
|
||||
"version": "1.8.8",
|
||||
"version": "1.8.9",
|
||||
"description": "The cutest Discord client mod",
|
||||
"homepage": "https://github.com/Vendicated/Vencord#readme",
|
||||
"bugs": {
|
||||
|
|
|
@ -16,12 +16,13 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { definePluginSettings } from "@api/Settings";
|
||||
import { disableStyle, enableStyle } from "@api/Styles";
|
||||
import ErrorBoundary from "@components/ErrorBoundary";
|
||||
import { ErrorCard } from "@components/ErrorCard";
|
||||
import { Devs } from "@utils/constants";
|
||||
import { Margins } from "@utils/margins";
|
||||
import definePlugin from "@utils/types";
|
||||
import definePlugin, { OptionType } from "@utils/types";
|
||||
import { findByPropsLazy } from "@webpack";
|
||||
import { Forms, React } from "@webpack/common";
|
||||
|
||||
|
@ -29,6 +30,15 @@ import hideBugReport from "./hideBugReport.css?managed";
|
|||
|
||||
const KbdStyles = findByPropsLazy("key", "removeBuildOverride");
|
||||
|
||||
const settings = definePluginSettings({
|
||||
toolbarDevMenu: {
|
||||
type: OptionType.BOOLEAN,
|
||||
description: "Change the Help (?) toolbar button (top right in chat) to Discord's developer menu",
|
||||
default: false,
|
||||
restartNeeded: true
|
||||
}
|
||||
});
|
||||
|
||||
export default definePlugin({
|
||||
name: "Experiments",
|
||||
description: "Enable Access to Experiments & other dev-only features in Discord!",
|
||||
|
@ -40,6 +50,8 @@ export default definePlugin({
|
|||
Devs.Nuckyz
|
||||
],
|
||||
|
||||
settings,
|
||||
|
||||
patches: [
|
||||
{
|
||||
find: "Object.defineProperties(this,{isDeveloper",
|
||||
|
@ -68,6 +80,16 @@ export default definePlugin({
|
|||
replacement: {
|
||||
match: /\i\.isStaff\(\)/,
|
||||
replace: "true"
|
||||
},
|
||||
predicate: () => settings.store.toolbarDevMenu
|
||||
},
|
||||
|
||||
// makes the Favourites Server experiment allow favouriting DMs and threads
|
||||
{
|
||||
find: "useCanFavoriteChannel",
|
||||
replacement: {
|
||||
match: /!\(\i\.isDM\(\)\|\|\i\.isThread\(\)\)/,
|
||||
replace: "true",
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -338,7 +338,7 @@ export default definePlugin({
|
|||
{
|
||||
// Call our function to decide whether the embed should be ignored or not
|
||||
predicate: () => settings.store.transformEmojis || settings.store.transformStickers,
|
||||
match: /(renderEmbeds\((\i)\){)(.+?embeds\.map\((\i)=>{)/,
|
||||
match: /(renderEmbeds\((\i)\){)(.+?embeds\.map\(\(?(\i)(?:,\i\))?=>{)/,
|
||||
replace: (_, rest1, message, rest2, embed) => `${rest1}const fakeNitroMessage=${message};${rest2}if($self.shouldIgnoreEmbed(${embed},fakeNitroMessage))return null;`
|
||||
},
|
||||
{
|
||||
|
|
|
@ -281,6 +281,8 @@ function getChannelLabelAndIconUrl(channel: Channel) {
|
|||
}
|
||||
|
||||
function ChannelMessageEmbedAccessory({ message, channel }: MessageEmbedProps): JSX.Element | null {
|
||||
const compact = TextAndImagesSettingsStores.MessageDisplayCompact.useSetting();
|
||||
|
||||
const dmReceiver = UserStore.getUser(ChannelStore.getChannel(channel.id).recipients?.[0]);
|
||||
|
||||
const [channelLabel, iconUrl] = getChannelLabelAndIconUrl(channel);
|
||||
|
@ -305,6 +307,7 @@ function ChannelMessageEmbedAccessory({ message, channel }: MessageEmbedProps):
|
|||
message={message}
|
||||
channel={channel}
|
||||
subscribeToComponentDispatch={false}
|
||||
compact={compact}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
|
|
@ -302,7 +302,7 @@ export default definePlugin({
|
|||
replace: "$1" +
|
||||
".update($3,m =>" +
|
||||
" (($2.message.flags & 64) === 64 || $self.shouldIgnore($2.message, true)) ? m :" +
|
||||
" $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" +
|
||||
" $2.message.edited_timestamp && $2.message.content !== m.content ?" +
|
||||
" m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" +
|
||||
" m" +
|
||||
")" +
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
import { classNameFactory } from "@api/Styles";
|
||||
import { ModalContent, ModalFooter, ModalHeader, ModalProps, ModalRoot, openModalLazy } from "@utils/modal";
|
||||
import { extractAndLoadChunksLazy, findComponentByCodeLazy } from "@webpack";
|
||||
import { extractAndLoadChunksLazy, filters, find, findComponentByCode, findComponentByCodeLazy, LazyComponentWebpack } from "@webpack";
|
||||
import { Button, Forms, Text, TextInput, Toasts, useEffect, useState } from "@webpack/common";
|
||||
|
||||
import { DEFAULT_COLOR, SWATCHES } from "../constants";
|
||||
|
@ -31,7 +31,12 @@ interface ColorPickerWithSwatchesProps {
|
|||
}
|
||||
|
||||
const ColorPicker = findComponentByCodeLazy<ColorPickerProps>(".Messages.USER_SETTINGS_PROFILE_COLOR_SELECT_COLOR", ".BACKGROUND_PRIMARY)");
|
||||
const ColorPickerWithSwatches = findComponentByCodeLazy<ColorPickerWithSwatchesProps>("presets,", "customColor:");
|
||||
// FIXME: Replace with the following when it reaches stable
|
||||
// const ColorPickerWithSwatches = findExportedComponentLazy<ColorPickerWithSwatchesProps>("ColorPicker", "CustomColorPicker");
|
||||
const ColorPickerWithSwatches = LazyComponentWebpack<ColorPickerWithSwatchesProps>(() =>
|
||||
find(filters.byProps("ColorPicker", "CustomColorPicker"), { isIndirect: true })?.ColorPicker ||
|
||||
findComponentByCode("presets,", "customColor:")
|
||||
);
|
||||
|
||||
export const requireSettingsMenu = extractAndLoadChunksLazy(['name:"UserSettings"'], /createPromise:.{0,20}Promise\.all\((\[\i\.\i\(".+?"\).+?\])\).then\(\i\.bind\(\i,"(.+?)"\)\).{0,50}"UserSettings"/);
|
||||
|
||||
|
|
|
@ -184,7 +184,7 @@ export default definePlugin({
|
|||
|
||||
patches: [
|
||||
// Profiles Modal pfp
|
||||
...["User Profile Modal - Context Menu", ".UserProfileTypes.FULL_SIZE,hasProfileEffect:"].map(find => ({
|
||||
...[".UserProfileTypes.MODAL,hasProfileEffect", ".UserProfileTypes.FULL_SIZE,hasProfileEffect:"].map(find => ({
|
||||
find,
|
||||
replacement: {
|
||||
match: /\{src:(\i)(?=,avatarDecoration)/,
|
||||
|
|
|
@ -38,7 +38,7 @@ export const Devs = /* #__PURE__*/ Object.freeze({
|
|||
id: 0n,
|
||||
},
|
||||
Ven: {
|
||||
name: "Vendicated",
|
||||
name: "Vee",
|
||||
id: 343383572805058560n
|
||||
},
|
||||
Arjix: {
|
||||
|
@ -327,7 +327,7 @@ export const Devs = /* #__PURE__*/ Object.freeze({
|
|||
id: 305288513941667851n
|
||||
},
|
||||
ImLvna: {
|
||||
name: "Luna <3",
|
||||
name: "lillith <3",
|
||||
id: 799319081723232267n
|
||||
},
|
||||
rad: {
|
||||
|
|
Loading…
Reference in a new issue