PluginModal: Anonymise authors (#1176)

This commit is contained in:
V 2023-05-23 01:55:39 +02:00 committed by GitHub
parent ec091a7959
commit 184c03b28e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 57 additions and 15 deletions

View file

@ -29,7 +29,18 @@ export const REACT_GLOBAL = "Vencord.Webpack.Common.React";
export const VENCORD_USER_AGENT = `Vencord/${gitHash}${gitRemote ? ` (https://github.com/${gitRemote})` : ""}`;
export const SUPPORT_CHANNEL_ID = "1026515880080842772";
// Add yourself here if you made a plugin
export interface Dev {
name: string;
id: bigint;
badge?: boolean;
}
/**
* If you made a plugin or substantial contribution, add yourself here.
* This object is used for the plugin author list, as well as to add a contributor badge to your profile.
* If you wish to stay fully anonymous, feel free to set ID to 0n.
* If you are fine with attribution but don't want the badge, add badge: false
*/
export const Devs = /* #__PURE__*/ Object.freeze({
Ven: {
name: "Vendicated",
@ -201,7 +212,8 @@ export const Devs = /* #__PURE__*/ Object.freeze({
},
nick: {
name: "nick",
id: 347884694408265729n
id: 347884694408265729n,
badge: false
},
whqwert: {
name: "whqwert",
@ -295,4 +307,13 @@ export const Devs = /* #__PURE__*/ Object.freeze({
name: "outfoxxed",
id: 837425748435796060n
},
});
} satisfies Record<string, Dev>);
// iife so #__PURE__ works correctly
export const DevsById = /* #__PURE__*/ (() =>
Object.freeze(Object.fromEntries(
Object.entries(Devs)
.filter(d => d[1].id !== 0n)
.map(([_, v]) => [v.id, v] as const)
))
)() as Record<string, Dev>;

View file

@ -18,6 +18,8 @@
import { Clipboard, Toasts } from "@webpack/common";
import { DevsById } from "./constants";
/**
* Recursively merges defaults into an object and returns the same object
* @param obj Object
@ -100,3 +102,5 @@ export function identity<T>(value: T): T {
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#mobile_tablet_or_desktop
// "In summary, we recommend looking for the string Mobi anywhere in the User Agent to detect a mobile device."
export const isMobile = navigator.userAgent.includes("Mobi");
export const isPluginDev = (id: string) => Object.hasOwn(DevsById, id);