@vencord/types 1.14.15 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/Badges.d.ts +1 -1
- package/api/Commands/index.d.ts +1 -1
- package/api/Commands/types.d.ts +1 -0
- package/api/Notifications/notificationLog.d.ts +1 -1
- package/api/Settings.d.ts +1 -0
- package/api/Themes.d.ts +2 -0
- package/components/Icons.d.ts +2 -0
- package/components/settings/QuickAction.d.ts +1 -0
- package/components/settings/tabs/plugins/{LinkIconButton.d.ts → PluginModalButtons.d.ts} +6 -4
- package/package.json +2 -2
- package/plugins/_api/badges/index.d.ts +1 -1
- package/plugins/_core/concatenatedComponentExtractor.d.ts +2 -1
- package/plugins/_core/noTrack.d.ts +19 -0
- package/plugins/autoDndWhilePlaying.discordDesktop/index.d.ts +3 -1
- package/plugins/betterFolders/index.d.ts +1 -1
- package/plugins/betterRoleContext/index.d.ts +1 -11
- package/plugins/betterSettings/index.d.ts +3 -3
- package/plugins/callTimer/index.d.ts +8 -9
- package/plugins/customCommands/index.d.ts +2 -1
- package/plugins/customCommands/settings.d.ts +1 -1
- package/plugins/decor/index.d.ts +5 -2
- package/plugins/fakeNitro/index.d.ts +10 -4
- package/plugins/messageLogger/index.d.ts +19 -1
- package/plugins/musicRichPresence/index.d.ts +281 -0
- package/plugins/musicRichPresence/lastfm.d.ts +2 -0
- package/plugins/musicRichPresence/listenbrainz.d.ts +3 -0
- package/plugins/noBlockedMessages/index.d.ts +1 -0
- package/plugins/previewMessage/index.d.ts +3 -0
- package/plugins/tenorGifSearch/index.d.ts +29 -0
- package/plugins/viewIcons/index.d.ts +4 -3
- package/plugins/webKeybinds.web/index.d.ts +31 -3
- package/plugins/webPWA.browser/index.d.ts +39 -0
- package/plugins/xsOverlay/native.d.ts +1 -0
- package/utils/TTLMap.d.ts +12 -0
- package/utils/constants.d.ts +28 -4
- package/utils/text.d.ts +2 -1
- package/utils/types.d.ts +5 -0
- package/webpack/common/components.d.ts +3 -1
- package/webpack/common/stores.d.ts +4 -4
- package/plugins/favGifSearch/index.d.ts +0 -87
- package/plugins/lastfmRichPresence/index.d.ts +0 -125
package/api/Badges.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface ProfileBadge {
|
|
|
18
18
|
/** Action to perform when you click the badge */
|
|
19
19
|
onClick?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void;
|
|
20
20
|
/** Action to perform when you right click the badge */
|
|
21
|
-
onContextMenu?(event: React.MouseEvent, props:
|
|
21
|
+
onContextMenu?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void;
|
|
22
22
|
/** Should the user display this badge? */
|
|
23
23
|
shouldShow?(userInfo: BadgeUserArgs): boolean;
|
|
24
24
|
/** Optional props (e.g. style) for the badge, ignored for component badges */
|
package/api/Commands/index.d.ts
CHANGED
|
@@ -24,4 +24,4 @@ export declare const _handleCommand: never;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function prepareOption<O extends CommandOption | VencordCommand>(opt: O): O;
|
|
26
26
|
export declare function registerCommand<C extends VencordCommand>(command: C, plugin: string): void;
|
|
27
|
-
export declare function unregisterCommand(name: string): boolean;
|
|
27
|
+
export declare function unregisterCommand(name: string, isSubCommands?: boolean): boolean;
|
package/api/Commands/types.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import { Command } from "@vencord/discord-types";
|
|
|
2
2
|
export { ApplicationCommandInputType, ApplicationCommandOptionType, ApplicationCommandType } from "@vencord/discord-types/enums";
|
|
3
3
|
export interface VencordCommand extends Command {
|
|
4
4
|
isVencordCommand?: boolean;
|
|
5
|
+
rootCommand?: VencordCommand;
|
|
5
6
|
}
|
|
@@ -4,7 +4,7 @@ interface PersistentNotificationData extends Pick<NotificationData, "title" | "b
|
|
|
4
4
|
id: string;
|
|
5
5
|
}
|
|
6
6
|
export declare function persistNotification(notification: NotificationData): Promise<void>;
|
|
7
|
-
export declare function deleteNotification(
|
|
7
|
+
export declare function deleteNotification(id: string): Promise<void>;
|
|
8
8
|
export declare function useLogs(): readonly [PersistentNotificationData[], boolean];
|
|
9
9
|
export declare function NotificationLog({ log, pending }: {
|
|
10
10
|
log: PersistentNotificationData[];
|
package/api/Settings.d.ts
CHANGED
package/api/Themes.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { ThemeStore } from "@vencord/discord-types";
|
|
2
2
|
export declare function initQuickCssThemeStore(themeStore: ThemeStore): void;
|
|
3
|
+
export declare function addThemeChangeListener(listener: () => void): void;
|
|
4
|
+
export declare function removeThemeChangeListener(listener: () => void): void;
|
package/components/Icons.d.ts
CHANGED
|
@@ -57,4 +57,6 @@ export declare function CloudUploadIcon(props: IconProps): JSX.Element;
|
|
|
57
57
|
export declare function ClockIcon(props: IconProps): JSX.Element;
|
|
58
58
|
export declare function DownArrow(props: IconProps): JSX.Element;
|
|
59
59
|
export declare function RightArrow(props: IconProps): JSX.Element;
|
|
60
|
+
export declare function StarFilled(props: IconProps): JSX.Element;
|
|
61
|
+
export declare function StarOutlined(props: IconProps): JSX.Element;
|
|
60
62
|
export {};
|
|
@@ -7,6 +7,7 @@ export interface QuickActionProps {
|
|
|
7
7
|
text: ReactNode;
|
|
8
8
|
action?: () => void;
|
|
9
9
|
disabled?: boolean;
|
|
10
|
+
style?: React.CSSProperties;
|
|
10
11
|
}
|
|
11
12
|
export declare function QuickAction(props: QuickActionProps): import("react").JSX.Element;
|
|
12
13
|
export declare function QuickActionCard(props: PropsWithChildren): import("react").JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
export declare function GithubLinkIcon(): import("react").JSX.Element;
|
|
3
|
-
export declare function WebsiteLinkIcon(): import("react").JSX.Element;
|
|
1
|
+
import "./PluginModalButtons.css";
|
|
4
2
|
interface Props {
|
|
5
3
|
text: string;
|
|
6
4
|
href: string;
|
|
7
5
|
}
|
|
8
|
-
export declare const WebsiteButton: (props: Props) => import("react").JSX.Element;
|
|
9
6
|
export declare const GithubButton: (props: Props) => import("react").JSX.Element;
|
|
7
|
+
export declare const WebsiteButton: (props: Props) => import("react").JSX.Element;
|
|
8
|
+
export declare function FavoriteButton({ isFavorite, onClick }: {
|
|
9
|
+
isFavorite: boolean;
|
|
10
|
+
onClick: () => void;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
10
12
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vencord/types",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.15.1",
|
|
5
5
|
"description": "",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@types/lodash": "4.17.19",
|
|
21
21
|
"@types/node": "^26.0.1",
|
|
22
|
-
"@vencord/discord-types": "^1.0.
|
|
22
|
+
"@vencord/discord-types": "^1.0.2",
|
|
23
23
|
"highlight.js": "11.11.1",
|
|
24
24
|
"moment": "^2.22.2",
|
|
25
25
|
"ts-pattern": "^5.6.0",
|
|
@@ -45,7 +45,7 @@ declare const _default: {
|
|
|
45
45
|
transform: "scale(0.9)";
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
|
-
onContextMenu(event: import("react").MouseEvent<Element, MouseEvent>, badge: BadgeUserArgs): void;
|
|
48
|
+
onContextMenu(event: import("react").MouseEvent<Element, MouseEvent>, badge: ProfileBadge & BadgeUserArgs): void;
|
|
49
49
|
onClick(): void;
|
|
50
50
|
}[];
|
|
51
51
|
} & Record<PropertyKey, any> & import("../../../utils/types").Plugin;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setColorPicker, setCreateScroller } from "../../webpack/common";
|
|
1
|
+
import { setColorPicker, setCreateScroller, setRoleMemberPopout } from "../../webpack/common";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
name: string;
|
|
4
4
|
description: string;
|
|
@@ -22,5 +22,6 @@ declare const _default: {
|
|
|
22
22
|
})[];
|
|
23
23
|
setCreateScroller: typeof setCreateScroller;
|
|
24
24
|
setColorPicker: typeof setColorPicker;
|
|
25
|
+
setRoleMemberPopout: typeof setRoleMemberPopout;
|
|
25
26
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
26
27
|
export default _default;
|
|
@@ -42,5 +42,24 @@ declare const _default: {
|
|
|
42
42
|
};
|
|
43
43
|
startAt: StartAt.Init;
|
|
44
44
|
start(): void;
|
|
45
|
+
analyticsTrackingStoreMaker(): {
|
|
46
|
+
requestDrain(): void;
|
|
47
|
+
submitEventsImmediately(): Promise<void>;
|
|
48
|
+
getName(): string;
|
|
49
|
+
addChangeListener(callback: import("@vencord/discord-types").Callback): void;
|
|
50
|
+
addConditionalChangeListener(callback: () => boolean, preemptive?: boolean): void;
|
|
51
|
+
addReactChangeListener(callback: import("@vencord/discord-types").Callback): void;
|
|
52
|
+
removeChangeListener(callback: import("@vencord/discord-types").Callback): void;
|
|
53
|
+
removeReactChangeListener(callback: import("@vencord/discord-types").Callback): void;
|
|
54
|
+
doEmitChanges(event: import("@vencord/discord-types").FluxEvent): void;
|
|
55
|
+
emitChange(): void;
|
|
56
|
+
getDispatchToken(): string;
|
|
57
|
+
initialize(): void;
|
|
58
|
+
initializeIfNeeded(): void;
|
|
59
|
+
mustEmitChanges(callback?: import("@vencord/discord-types").ActionHandler): void;
|
|
60
|
+
registerActionHandlers(actionHandlers: import("@vencord/discord-types").ActionHandlers, band?: number): void;
|
|
61
|
+
syncWith(stores: import("@vencord/discord-types").FluxStore[], callback: import("@vencord/discord-types").SyncCallback, timeout?: number): void;
|
|
62
|
+
waitFor(...stores: import("@vencord/discord-types").FluxStore[]): void;
|
|
63
|
+
};
|
|
45
64
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
46
65
|
export default _default;
|
|
@@ -23,7 +23,9 @@ declare const _default: {
|
|
|
23
23
|
};
|
|
24
24
|
}, {}>;
|
|
25
25
|
flux: {
|
|
26
|
-
RUNNING_GAMES_CHANGE({ games }: any): void
|
|
26
|
+
RUNNING_GAMES_CHANGE({ games }: any): Promise<void>;
|
|
27
27
|
};
|
|
28
|
+
start(): void;
|
|
29
|
+
stop(): void;
|
|
28
30
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
29
31
|
export default _default;
|
|
@@ -147,7 +147,7 @@ declare const _default: {
|
|
|
147
147
|
replacement: ({
|
|
148
148
|
predicate: () => boolean;
|
|
149
149
|
match: RegExp;
|
|
150
|
-
replace: (
|
|
150
|
+
replace: (m: string, isExpanded: string) => string;
|
|
151
151
|
} | {
|
|
152
152
|
predicate: () => boolean;
|
|
153
153
|
match: RegExp;
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { OptionType } from "../../utils/types";
|
|
2
|
-
import { Guild,
|
|
3
|
-
import { ComponentType } from "react";
|
|
4
|
-
interface RoleMemberPopoutProps {
|
|
5
|
-
popoutProps: PopoutProps;
|
|
6
|
-
guildId: string;
|
|
7
|
-
channelId: string;
|
|
8
|
-
roleId: string;
|
|
9
|
-
}
|
|
10
|
-
type RoleMemberPopout = ComponentType<RoleMemberPopoutProps>;
|
|
11
|
-
declare let RoleMemberPopout: RoleMemberPopout;
|
|
2
|
+
import { Guild, Role } from "@vencord/discord-types";
|
|
12
3
|
export declare function buildExtraRoleContextMenuItems(role: Role, guild: Guild, popoutRef?: React.RefObject<any>): {
|
|
13
4
|
before: import("react").JSX.Element[];
|
|
14
5
|
after: import("react").JSX.Element[];
|
|
@@ -50,7 +41,6 @@ declare const _default: {
|
|
|
50
41
|
};
|
|
51
42
|
}[];
|
|
52
43
|
start(): void;
|
|
53
|
-
RoleMembers: RoleMemberPopout;
|
|
54
44
|
contextMenus: {
|
|
55
45
|
"dev-context"(children: (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null)[], { id }: {
|
|
56
46
|
id: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OptionType } from "../../utils/types";
|
|
2
|
-
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
3
3
|
interface LayerProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
mode: "SHOWN" | "HIDDEN";
|
|
5
5
|
baseLayer?: boolean;
|
|
@@ -57,7 +57,7 @@ declare const _default: {
|
|
|
57
57
|
};
|
|
58
58
|
predicate: () => boolean;
|
|
59
59
|
})[];
|
|
60
|
-
Layer(props: LayerProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean |
|
|
61
|
-
transformSettingsEntries(list: any): ReactNode[];
|
|
60
|
+
Layer(props: LayerProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
61
|
+
transformSettingsEntries(list: ReactElement<any>[]): ReactNode[];
|
|
62
62
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
63
63
|
export default _default;
|
|
@@ -12,15 +12,14 @@ declare const _default: {
|
|
|
12
12
|
format: {
|
|
13
13
|
type: OptionType.SELECT;
|
|
14
14
|
description: string;
|
|
15
|
-
options:
|
|
16
|
-
label:
|
|
17
|
-
value:
|
|
18
|
-
default: true;
|
|
19
|
-
}
|
|
20
|
-
label:
|
|
21
|
-
value:
|
|
22
|
-
|
|
23
|
-
})[];
|
|
15
|
+
options: readonly [{
|
|
16
|
+
readonly label: "30d 23:00:42";
|
|
17
|
+
readonly value: "stopwatch";
|
|
18
|
+
readonly default: true;
|
|
19
|
+
}, {
|
|
20
|
+
readonly label: "30d 23h 00m 42s";
|
|
21
|
+
readonly value: "human";
|
|
22
|
+
}];
|
|
24
23
|
};
|
|
25
24
|
}, {}>;
|
|
26
25
|
startTime: number;
|
|
@@ -14,7 +14,7 @@ export interface Tag {
|
|
|
14
14
|
name: string;
|
|
15
15
|
message: string;
|
|
16
16
|
}
|
|
17
|
-
export declare function getTags():
|
|
17
|
+
export declare function getTags(): Tag[];
|
|
18
18
|
export declare function getTag(name: string): Tag;
|
|
19
19
|
export declare function addTag(tag: Tag): void;
|
|
20
20
|
export declare function removeTag(name: string): void;
|
package/plugins/decor/index.d.ts
CHANGED
|
@@ -20,10 +20,13 @@ declare const _default: {
|
|
|
20
20
|
};
|
|
21
21
|
} | {
|
|
22
22
|
find: string;
|
|
23
|
-
replacement: {
|
|
23
|
+
replacement: ({
|
|
24
24
|
match: RegExp;
|
|
25
25
|
replace: string;
|
|
26
|
-
}
|
|
26
|
+
} | {
|
|
27
|
+
match: RegExp;
|
|
28
|
+
replace: (m: string, arrowFunctionName: string, functionName: string) => string;
|
|
29
|
+
})[];
|
|
27
30
|
group?: undefined;
|
|
28
31
|
} | {
|
|
29
32
|
find: string;
|
|
@@ -23,9 +23,12 @@ declare const _default: {
|
|
|
23
23
|
};
|
|
24
24
|
emojiSize: {
|
|
25
25
|
description: string;
|
|
26
|
-
type: OptionType.
|
|
26
|
+
type: OptionType.SELECT;
|
|
27
27
|
default: number;
|
|
28
|
-
|
|
28
|
+
options: {
|
|
29
|
+
label: string;
|
|
30
|
+
value: number;
|
|
31
|
+
}[];
|
|
29
32
|
};
|
|
30
33
|
transformEmojis: {
|
|
31
34
|
description: string;
|
|
@@ -41,9 +44,12 @@ declare const _default: {
|
|
|
41
44
|
};
|
|
42
45
|
stickerSize: {
|
|
43
46
|
description: string;
|
|
44
|
-
type: OptionType.
|
|
47
|
+
type: OptionType.SELECT;
|
|
45
48
|
default: number;
|
|
46
|
-
|
|
49
|
+
options: {
|
|
50
|
+
label: string;
|
|
51
|
+
value: number;
|
|
52
|
+
}[];
|
|
47
53
|
};
|
|
48
54
|
transformStickers: {
|
|
49
55
|
description: string;
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import "./messageLogger.css";
|
|
2
2
|
import { NavContextMenuPatchCallback } from "../../api/ContextMenu";
|
|
3
3
|
import { OptionType } from "../../utils/types";
|
|
4
|
-
import { Message } from "@vencord/discord-types";
|
|
4
|
+
import { Message, MessageAttachment } from "@vencord/discord-types";
|
|
5
|
+
interface MLMessage extends Message {
|
|
6
|
+
deleted?: boolean;
|
|
7
|
+
editHistory?: {
|
|
8
|
+
timestamp: Date;
|
|
9
|
+
content: string;
|
|
10
|
+
}[];
|
|
11
|
+
firstEditTimestamp?: Date;
|
|
12
|
+
}
|
|
13
|
+
interface MLAttachment extends MessageAttachment {
|
|
14
|
+
/**
|
|
15
|
+
* if the attachment was deleted
|
|
16
|
+
*
|
|
17
|
+
* a non-deleted {@link MLMessage|Message} can have deleted attachments
|
|
18
|
+
*/
|
|
19
|
+
deleted?: boolean;
|
|
20
|
+
}
|
|
5
21
|
export declare function parseEditContent(content: string, message: Message): import("react").ReactNode[];
|
|
6
22
|
declare const _default: {
|
|
7
23
|
name: string;
|
|
@@ -90,12 +106,14 @@ declare const _default: {
|
|
|
90
106
|
message: Message;
|
|
91
107
|
}>;
|
|
92
108
|
makeEdit(newMessage: any, oldMessage: any): any;
|
|
109
|
+
handleUpdateAttachments(newMessage: MLMessage): MLAttachment[];
|
|
93
110
|
handleDelete(cache: any, data: {
|
|
94
111
|
ids: string[];
|
|
95
112
|
id: string;
|
|
96
113
|
mlDeleted?: boolean;
|
|
97
114
|
}, isBulk: boolean): any;
|
|
98
115
|
shouldIgnore(message: any, isEdit?: boolean): any;
|
|
116
|
+
normalizeNonce(msg: Message): void;
|
|
99
117
|
EditMarker({ message, className, children, ...props }: any): import("react").JSX.Element;
|
|
100
118
|
DELETED_MESSAGE_COUNT: () => {
|
|
101
119
|
ast: (string | number | {
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { OptionType } from "../../utils/types";
|
|
2
|
+
import { Activity } from "@vencord/discord-types";
|
|
3
|
+
import { invalidateListenBrainzCache } from "./listenbrainz";
|
|
4
|
+
export interface TrackData {
|
|
5
|
+
name: string;
|
|
6
|
+
album: string;
|
|
7
|
+
artist: string;
|
|
8
|
+
trackURL?: string;
|
|
9
|
+
artistURL?: string;
|
|
10
|
+
albumURL?: string;
|
|
11
|
+
imageURL?: string;
|
|
12
|
+
serviceName?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ScrobblerBackend {
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
fetchTrackData(): Promise<TrackData | null>;
|
|
18
|
+
getUserURL(username: string): string;
|
|
19
|
+
}
|
|
20
|
+
declare const enum NameFormat {
|
|
21
|
+
StatusName = "status-name",
|
|
22
|
+
ArtistFirst = "artist-first",
|
|
23
|
+
SongFirst = "song-first",
|
|
24
|
+
ArtistOnly = "artist",
|
|
25
|
+
SongOnly = "song",
|
|
26
|
+
AlbumName = "album",
|
|
27
|
+
ServiceName = "service-name"
|
|
28
|
+
}
|
|
29
|
+
export declare const settings: import("../../utils/types").DefinedSettings<{
|
|
30
|
+
scrobblerBackend: {
|
|
31
|
+
description: string;
|
|
32
|
+
type: OptionType.SELECT;
|
|
33
|
+
options: readonly [{
|
|
34
|
+
readonly label: "Last.FM";
|
|
35
|
+
readonly value: "lastfm";
|
|
36
|
+
readonly default: true;
|
|
37
|
+
}, {
|
|
38
|
+
readonly label: "ListenBrainz";
|
|
39
|
+
readonly value: "listenbrainz";
|
|
40
|
+
}, {
|
|
41
|
+
readonly label: "ListenBrainz Compatible (self-hosted)";
|
|
42
|
+
readonly value: "listenbrainz-compatible";
|
|
43
|
+
}];
|
|
44
|
+
};
|
|
45
|
+
instanceBaseURL: {
|
|
46
|
+
description: string;
|
|
47
|
+
type: OptionType.STRING;
|
|
48
|
+
placeholder: string;
|
|
49
|
+
onChange: typeof invalidateListenBrainzCache;
|
|
50
|
+
};
|
|
51
|
+
instanceAPIBaseUrl: {
|
|
52
|
+
description: string;
|
|
53
|
+
type: OptionType.STRING;
|
|
54
|
+
placeholder: string;
|
|
55
|
+
onChange: typeof invalidateListenBrainzCache;
|
|
56
|
+
};
|
|
57
|
+
apiKey: {
|
|
58
|
+
displayName: string;
|
|
59
|
+
description: string;
|
|
60
|
+
type: OptionType.STRING;
|
|
61
|
+
};
|
|
62
|
+
username: {
|
|
63
|
+
description: string;
|
|
64
|
+
type: OptionType.STRING;
|
|
65
|
+
};
|
|
66
|
+
shareUsername: {
|
|
67
|
+
description: string;
|
|
68
|
+
type: OptionType.BOOLEAN;
|
|
69
|
+
default: false;
|
|
70
|
+
};
|
|
71
|
+
clickableLinks: {
|
|
72
|
+
description: string;
|
|
73
|
+
type: OptionType.BOOLEAN;
|
|
74
|
+
default: true;
|
|
75
|
+
};
|
|
76
|
+
hideWithSpotify: {
|
|
77
|
+
description: string;
|
|
78
|
+
type: OptionType.BOOLEAN;
|
|
79
|
+
default: true;
|
|
80
|
+
};
|
|
81
|
+
hideWithActivity: {
|
|
82
|
+
description: string;
|
|
83
|
+
type: OptionType.BOOLEAN;
|
|
84
|
+
default: false;
|
|
85
|
+
};
|
|
86
|
+
statusName: {
|
|
87
|
+
description: string;
|
|
88
|
+
type: OptionType.STRING;
|
|
89
|
+
default: string;
|
|
90
|
+
};
|
|
91
|
+
statusDisplayType: {
|
|
92
|
+
description: string;
|
|
93
|
+
type: OptionType.SELECT;
|
|
94
|
+
options: ({
|
|
95
|
+
label: string;
|
|
96
|
+
value: string;
|
|
97
|
+
default?: undefined;
|
|
98
|
+
} | {
|
|
99
|
+
label: string;
|
|
100
|
+
value: string;
|
|
101
|
+
default: true;
|
|
102
|
+
})[];
|
|
103
|
+
};
|
|
104
|
+
nameFormat: {
|
|
105
|
+
description: string;
|
|
106
|
+
type: OptionType.SELECT;
|
|
107
|
+
options: ({
|
|
108
|
+
label: string;
|
|
109
|
+
value: NameFormat;
|
|
110
|
+
default: true;
|
|
111
|
+
} | {
|
|
112
|
+
label: string;
|
|
113
|
+
value: NameFormat;
|
|
114
|
+
default?: undefined;
|
|
115
|
+
})[];
|
|
116
|
+
};
|
|
117
|
+
useListeningStatus: {
|
|
118
|
+
description: string;
|
|
119
|
+
type: OptionType.BOOLEAN;
|
|
120
|
+
default: false;
|
|
121
|
+
};
|
|
122
|
+
missingArt: {
|
|
123
|
+
description: string;
|
|
124
|
+
type: OptionType.SELECT;
|
|
125
|
+
options: ({
|
|
126
|
+
label: string;
|
|
127
|
+
value: string;
|
|
128
|
+
default: true;
|
|
129
|
+
} | {
|
|
130
|
+
label: string;
|
|
131
|
+
value: string;
|
|
132
|
+
default?: undefined;
|
|
133
|
+
})[];
|
|
134
|
+
};
|
|
135
|
+
showLogo: {
|
|
136
|
+
displayName: string;
|
|
137
|
+
description: string;
|
|
138
|
+
type: OptionType.BOOLEAN;
|
|
139
|
+
default: true;
|
|
140
|
+
};
|
|
141
|
+
showAlbumCover: {
|
|
142
|
+
description: string;
|
|
143
|
+
type: OptionType.BOOLEAN;
|
|
144
|
+
default: true;
|
|
145
|
+
};
|
|
146
|
+
}, {}>;
|
|
147
|
+
declare const _default: {
|
|
148
|
+
name: string;
|
|
149
|
+
description: string;
|
|
150
|
+
tags: ("Activity" | "Media")[];
|
|
151
|
+
searchTerms: string[];
|
|
152
|
+
authors: {
|
|
153
|
+
name: string;
|
|
154
|
+
id: bigint;
|
|
155
|
+
}[];
|
|
156
|
+
settings: import("../../utils/types").DefinedSettings<{
|
|
157
|
+
scrobblerBackend: {
|
|
158
|
+
description: string;
|
|
159
|
+
type: OptionType.SELECT;
|
|
160
|
+
options: readonly [{
|
|
161
|
+
readonly label: "Last.FM";
|
|
162
|
+
readonly value: "lastfm";
|
|
163
|
+
readonly default: true;
|
|
164
|
+
}, {
|
|
165
|
+
readonly label: "ListenBrainz";
|
|
166
|
+
readonly value: "listenbrainz";
|
|
167
|
+
}, {
|
|
168
|
+
readonly label: "ListenBrainz Compatible (self-hosted)";
|
|
169
|
+
readonly value: "listenbrainz-compatible";
|
|
170
|
+
}];
|
|
171
|
+
};
|
|
172
|
+
instanceBaseURL: {
|
|
173
|
+
description: string;
|
|
174
|
+
type: OptionType.STRING;
|
|
175
|
+
placeholder: string;
|
|
176
|
+
onChange: typeof invalidateListenBrainzCache;
|
|
177
|
+
};
|
|
178
|
+
instanceAPIBaseUrl: {
|
|
179
|
+
description: string;
|
|
180
|
+
type: OptionType.STRING;
|
|
181
|
+
placeholder: string;
|
|
182
|
+
onChange: typeof invalidateListenBrainzCache;
|
|
183
|
+
};
|
|
184
|
+
apiKey: {
|
|
185
|
+
displayName: string;
|
|
186
|
+
description: string;
|
|
187
|
+
type: OptionType.STRING;
|
|
188
|
+
};
|
|
189
|
+
username: {
|
|
190
|
+
description: string;
|
|
191
|
+
type: OptionType.STRING;
|
|
192
|
+
};
|
|
193
|
+
shareUsername: {
|
|
194
|
+
description: string;
|
|
195
|
+
type: OptionType.BOOLEAN;
|
|
196
|
+
default: false;
|
|
197
|
+
};
|
|
198
|
+
clickableLinks: {
|
|
199
|
+
description: string;
|
|
200
|
+
type: OptionType.BOOLEAN;
|
|
201
|
+
default: true;
|
|
202
|
+
};
|
|
203
|
+
hideWithSpotify: {
|
|
204
|
+
description: string;
|
|
205
|
+
type: OptionType.BOOLEAN;
|
|
206
|
+
default: true;
|
|
207
|
+
};
|
|
208
|
+
hideWithActivity: {
|
|
209
|
+
description: string;
|
|
210
|
+
type: OptionType.BOOLEAN;
|
|
211
|
+
default: false;
|
|
212
|
+
};
|
|
213
|
+
statusName: {
|
|
214
|
+
description: string;
|
|
215
|
+
type: OptionType.STRING;
|
|
216
|
+
default: string;
|
|
217
|
+
};
|
|
218
|
+
statusDisplayType: {
|
|
219
|
+
description: string;
|
|
220
|
+
type: OptionType.SELECT;
|
|
221
|
+
options: ({
|
|
222
|
+
label: string;
|
|
223
|
+
value: string;
|
|
224
|
+
default?: undefined;
|
|
225
|
+
} | {
|
|
226
|
+
label: string;
|
|
227
|
+
value: string;
|
|
228
|
+
default: true;
|
|
229
|
+
})[];
|
|
230
|
+
};
|
|
231
|
+
nameFormat: {
|
|
232
|
+
description: string;
|
|
233
|
+
type: OptionType.SELECT;
|
|
234
|
+
options: ({
|
|
235
|
+
label: string;
|
|
236
|
+
value: NameFormat;
|
|
237
|
+
default: true;
|
|
238
|
+
} | {
|
|
239
|
+
label: string;
|
|
240
|
+
value: NameFormat;
|
|
241
|
+
default?: undefined;
|
|
242
|
+
})[];
|
|
243
|
+
};
|
|
244
|
+
useListeningStatus: {
|
|
245
|
+
description: string;
|
|
246
|
+
type: OptionType.BOOLEAN;
|
|
247
|
+
default: false;
|
|
248
|
+
};
|
|
249
|
+
missingArt: {
|
|
250
|
+
description: string;
|
|
251
|
+
type: OptionType.SELECT;
|
|
252
|
+
options: ({
|
|
253
|
+
label: string;
|
|
254
|
+
value: string;
|
|
255
|
+
default: true;
|
|
256
|
+
} | {
|
|
257
|
+
label: string;
|
|
258
|
+
value: string;
|
|
259
|
+
default?: undefined;
|
|
260
|
+
})[];
|
|
261
|
+
};
|
|
262
|
+
showLogo: {
|
|
263
|
+
displayName: string;
|
|
264
|
+
description: string;
|
|
265
|
+
type: OptionType.BOOLEAN;
|
|
266
|
+
default: true;
|
|
267
|
+
};
|
|
268
|
+
showAlbumCover: {
|
|
269
|
+
description: string;
|
|
270
|
+
type: OptionType.BOOLEAN;
|
|
271
|
+
default: true;
|
|
272
|
+
};
|
|
273
|
+
}, {}>;
|
|
274
|
+
settingsAboutComponent(): import("react").JSX.Element | null;
|
|
275
|
+
start(): void;
|
|
276
|
+
stop(): void;
|
|
277
|
+
updatePresence(): Promise<void>;
|
|
278
|
+
getLargeImage(track: TrackData): string | undefined;
|
|
279
|
+
getActivity(): Promise<Activity | null>;
|
|
280
|
+
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
281
|
+
export default _default;
|
|
@@ -40,6 +40,7 @@ declare const _default: {
|
|
|
40
40
|
replace: (_: string, props: string) => string;
|
|
41
41
|
}[];
|
|
42
42
|
})[];
|
|
43
|
+
shouldIgnoreUser(userId: string): boolean;
|
|
43
44
|
shouldIgnoreMessage(message: Message): boolean;
|
|
44
45
|
shouldHide(props: MessageDeleteProps): boolean;
|
|
45
46
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
authors: {
|
|
5
|
+
name: string;
|
|
6
|
+
id: bigint;
|
|
7
|
+
}[];
|
|
8
|
+
patches: ({
|
|
9
|
+
find: string;
|
|
10
|
+
replacement: {
|
|
11
|
+
match: RegExp;
|
|
12
|
+
replace: string;
|
|
13
|
+
};
|
|
14
|
+
} | {
|
|
15
|
+
find: string;
|
|
16
|
+
replacement: {
|
|
17
|
+
match: RegExp;
|
|
18
|
+
replace: string;
|
|
19
|
+
}[];
|
|
20
|
+
})[];
|
|
21
|
+
start(): Promise<void>;
|
|
22
|
+
handleSearchFetch(query: string): void;
|
|
23
|
+
handleSuggestionsFetch(query: string): Promise<void>;
|
|
24
|
+
handleTrendingFetch(): Promise<void>;
|
|
25
|
+
handleGifSelect(id: string, query: string): void;
|
|
26
|
+
handleTrendingGifsFetch(): void;
|
|
27
|
+
tenorIntegrationSearch(integration: string, query: string): void;
|
|
28
|
+
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
29
|
+
export default _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NavContextMenuPatchCallback } from "../../api/ContextMenu";
|
|
2
2
|
import { OptionType } from "../../utils/types";
|
|
3
|
+
import type { MouseEvent } from "react";
|
|
3
4
|
declare const _default: {
|
|
4
5
|
name: string;
|
|
5
6
|
authors: {
|
|
@@ -35,8 +36,8 @@ declare const _default: {
|
|
|
35
36
|
}[];
|
|
36
37
|
};
|
|
37
38
|
}, {}>;
|
|
38
|
-
openAvatar: (url: string) => void;
|
|
39
|
-
openBanner: (url: string) => void;
|
|
39
|
+
openAvatar: (url: string, event?: MouseEvent) => void;
|
|
40
|
+
openBanner: (url: string, event?: MouseEvent) => void;
|
|
40
41
|
contextMenus: {
|
|
41
42
|
"user-context": NavContextMenuPatchCallback;
|
|
42
43
|
"guild-context": NavContextMenuPatchCallback;
|
|
@@ -52,7 +53,7 @@ declare const _default: {
|
|
|
52
53
|
find: string;
|
|
53
54
|
replacement: {
|
|
54
55
|
match: RegExp;
|
|
55
|
-
replace: (_: string,
|
|
56
|
+
replace: (_: string, bannerSrc: string) => string;
|
|
56
57
|
};
|
|
57
58
|
})[];
|
|
58
59
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OptionType } from "../../utils/types";
|
|
1
2
|
declare const _default: {
|
|
2
3
|
name: string;
|
|
3
4
|
description: string;
|
|
@@ -7,8 +8,35 @@ declare const _default: {
|
|
|
7
8
|
id: bigint;
|
|
8
9
|
}[];
|
|
9
10
|
enabledByDefault: true;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
settings: import("../../utils/types").DefinedSettings<{
|
|
12
|
+
showNavigationButtons: {
|
|
13
|
+
type: OptionType.BOOLEAN;
|
|
14
|
+
description: string;
|
|
15
|
+
default: true;
|
|
16
|
+
restartNeeded: true;
|
|
17
|
+
};
|
|
18
|
+
overrideCommonKeybinds: {
|
|
19
|
+
type: OptionType.BOOLEAN;
|
|
20
|
+
description: string;
|
|
21
|
+
default: boolean;
|
|
22
|
+
restartNeeded: true;
|
|
23
|
+
};
|
|
24
|
+
}, {}>;
|
|
25
|
+
patches: ({
|
|
26
|
+
find: string;
|
|
27
|
+
replacement: {
|
|
28
|
+
match: RegExp;
|
|
29
|
+
replace: string;
|
|
30
|
+
};
|
|
31
|
+
predicate?: undefined;
|
|
32
|
+
} | {
|
|
33
|
+
find: string;
|
|
34
|
+
replacement: {
|
|
35
|
+
match: RegExp;
|
|
36
|
+
replace: string;
|
|
37
|
+
};
|
|
38
|
+
predicate: () => boolean;
|
|
39
|
+
})[];
|
|
40
|
+
getBlockedKeybinds(): string[];
|
|
13
41
|
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
14
42
|
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
authors: {
|
|
5
|
+
name: string;
|
|
6
|
+
id: bigint;
|
|
7
|
+
}[];
|
|
8
|
+
tags: "Utility"[];
|
|
9
|
+
managedStyle: string;
|
|
10
|
+
enabledByDefault: true;
|
|
11
|
+
flux: {
|
|
12
|
+
KEYBINDS_REGISTER_GLOBAL_KEYBIND_ACTIONS: ({ keybinds }: {
|
|
13
|
+
keybinds: Record<string, {
|
|
14
|
+
onTrigger: () => any;
|
|
15
|
+
}>;
|
|
16
|
+
}) => void;
|
|
17
|
+
};
|
|
18
|
+
ctrl: AbortController;
|
|
19
|
+
start(): void;
|
|
20
|
+
stop(): void;
|
|
21
|
+
patches: ({
|
|
22
|
+
find: string;
|
|
23
|
+
replacement: {
|
|
24
|
+
match: RegExp;
|
|
25
|
+
replace: string;
|
|
26
|
+
predicate?: undefined;
|
|
27
|
+
};
|
|
28
|
+
} | {
|
|
29
|
+
find: string;
|
|
30
|
+
replacement: {
|
|
31
|
+
match: RegExp;
|
|
32
|
+
replace: string;
|
|
33
|
+
predicate: () => boolean;
|
|
34
|
+
};
|
|
35
|
+
})[];
|
|
36
|
+
renderKeybindsButton: () => import("react").JSX.Element;
|
|
37
|
+
setBadge: () => void;
|
|
38
|
+
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A Map whose entries expire after a given amount of time. When an entry expires, it is automatically removed from the map and an optional callback is called.
|
|
3
|
+
*/
|
|
4
|
+
export declare class TTLMap<K, V> extends Map<K, V> {
|
|
5
|
+
readonly expiryMs: number;
|
|
6
|
+
private readonly onExpire?;
|
|
7
|
+
private readonly _timers;
|
|
8
|
+
constructor(expiryMs: number, onExpire?: ((key: K, value: V) => void) | undefined);
|
|
9
|
+
set(key: K, value: V): this;
|
|
10
|
+
delete(key: K): boolean;
|
|
11
|
+
clear(): void;
|
|
12
|
+
}
|
package/utils/constants.d.ts
CHANGED
|
@@ -148,10 +148,6 @@ export declare const Devs: Readonly<{
|
|
|
148
148
|
name: string;
|
|
149
149
|
id: bigint;
|
|
150
150
|
};
|
|
151
|
-
dzshn: {
|
|
152
|
-
name: string;
|
|
153
|
-
id: bigint;
|
|
154
|
-
};
|
|
155
151
|
Ducko: {
|
|
156
152
|
name: string;
|
|
157
153
|
id: bigint;
|
|
@@ -569,6 +565,10 @@ export declare const Devs: Readonly<{
|
|
|
569
565
|
name: string;
|
|
570
566
|
id: bigint;
|
|
571
567
|
};
|
|
568
|
+
ThaUnknown: {
|
|
569
|
+
name: string;
|
|
570
|
+
id: bigint;
|
|
571
|
+
};
|
|
572
572
|
SomeAspy: {
|
|
573
573
|
name: string;
|
|
574
574
|
id: bigint;
|
|
@@ -622,5 +622,29 @@ export declare const Devs: Readonly<{
|
|
|
622
622
|
name: string;
|
|
623
623
|
id: bigint;
|
|
624
624
|
};
|
|
625
|
+
angelcube: {
|
|
626
|
+
name: string;
|
|
627
|
+
id: bigint;
|
|
628
|
+
};
|
|
629
|
+
Lunascape: {
|
|
630
|
+
name: string;
|
|
631
|
+
id: bigint;
|
|
632
|
+
};
|
|
633
|
+
paige: {
|
|
634
|
+
name: string;
|
|
635
|
+
id: bigint;
|
|
636
|
+
};
|
|
637
|
+
jax: {
|
|
638
|
+
name: string;
|
|
639
|
+
id: bigint;
|
|
640
|
+
};
|
|
641
|
+
yuna0x0: {
|
|
642
|
+
name: string;
|
|
643
|
+
id: bigint;
|
|
644
|
+
};
|
|
645
|
+
Davri: {
|
|
646
|
+
name: string;
|
|
647
|
+
id: bigint;
|
|
648
|
+
};
|
|
625
649
|
}>;
|
|
626
650
|
export declare const DevsById: Record<string, Dev>;
|
package/utils/text.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ type Units = typeof units[number];
|
|
|
16
16
|
* @param unit The unit the time is on
|
|
17
17
|
* @param short Whether to use short units like "d" instead of "days"
|
|
18
18
|
*/
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function formatDurationVerbose(time: number, unit: Units, short?: boolean): string;
|
|
20
|
+
export declare function formatDuration(ms: number, human?: boolean): string;
|
|
20
21
|
/**
|
|
21
22
|
* Join an array of strings in a human readable way (1, 2 and 3)
|
|
22
23
|
* @param elements Elements
|
package/utils/types.d.ts
CHANGED
|
@@ -332,4 +332,9 @@ export type PluginNative<PluginExports extends Record<string, (event: Electron.I
|
|
|
332
332
|
export type AllOrNothing<T> = T | {
|
|
333
333
|
[K in keyof T]?: never;
|
|
334
334
|
};
|
|
335
|
+
export type ConstEnumToRuntimeEnum<T> = {
|
|
336
|
+
[K in keyof T as T[K] extends number ? T[K] : never]: K;
|
|
337
|
+
} & {
|
|
338
|
+
[K in keyof T]: T[K];
|
|
339
|
+
};
|
|
335
340
|
export {};
|
|
@@ -31,9 +31,11 @@ export declare const Dialog: import("../../utils/lazyReact").LazyComponentWrappe
|
|
|
31
31
|
export declare const TabBar: import("../../utils/lazyReact").LazyComponentWrapper<import("react").ComponentType<any> & Record<string, any>>;
|
|
32
32
|
export declare const Clickable: import("../../utils/lazyReact").LazyComponentWrapper<t.Clickable>;
|
|
33
33
|
export declare const Avatar: import("../../utils/lazyReact").LazyComponentWrapper<t.Avatar>;
|
|
34
|
+
export declare const UserSummaryItem: import("../../utils/lazyReact").LazyComponentWrapper<import("react").ComponentType<any> & Record<string, any>>;
|
|
34
35
|
export declare let ColorPicker: t.ColorPicker;
|
|
35
36
|
export declare function setColorPicker(component: t.ColorPicker): void;
|
|
36
|
-
export declare
|
|
37
|
+
export declare let RoleMemberPopout: t.RoleMemberPopout;
|
|
38
|
+
export declare function setRoleMemberPopout(component: t.RoleMemberPopout): void;
|
|
37
39
|
export declare let createScroller: ((scrollbarClassName: string, fadeClassName: string, customThemeClassName: string) => t.ScrollerThin) | undefined;
|
|
38
40
|
export declare function setCreateScroller(cs: NonNullable<typeof createScroller>): void;
|
|
39
41
|
export declare let createListScroller: (scrollBarClassName: string, fadeClassName: string, someOtherClassIdkMan: string, resizeObserverClass: typeof ResizeObserver) => t.ListScrollerThin;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ConstEnumToRuntimeEnum } from "../../utils/types";
|
|
1
2
|
import * as t from "@vencord/discord-types";
|
|
3
|
+
import * as enums from "@vencord/discord-types/enums";
|
|
2
4
|
export declare const Flux: t.Flux;
|
|
3
5
|
export type GenericStore = t.FluxStore & Record<string, any>;
|
|
4
|
-
export declare const DraftType:
|
|
5
|
-
export declare let MessageStore:
|
|
6
|
-
getMessages(chanId: string): any;
|
|
7
|
-
};
|
|
6
|
+
export declare const DraftType: ConstEnumToRuntimeEnum<typeof enums.DraftType>;
|
|
7
|
+
export declare let MessageStore: t.MessageStore;
|
|
8
8
|
export declare let PermissionStore: t.PermissionStore;
|
|
9
9
|
export declare let GuildChannelStore: t.GuildChannelStore;
|
|
10
10
|
export declare let ReadStateStore: t.ReadStateStore;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { OptionType } from "../../utils/types";
|
|
2
|
-
interface SearchBarComponentProps {
|
|
3
|
-
ref?: React.RefObject<any>;
|
|
4
|
-
autoFocus: boolean;
|
|
5
|
-
size: string;
|
|
6
|
-
onChange: (query: string) => void;
|
|
7
|
-
onClear: () => void;
|
|
8
|
-
query: string;
|
|
9
|
-
placeholder: string;
|
|
10
|
-
className?: string;
|
|
11
|
-
}
|
|
12
|
-
type TSearchBarComponent = React.FC<SearchBarComponentProps>;
|
|
13
|
-
interface Gif {
|
|
14
|
-
format: number;
|
|
15
|
-
src: string;
|
|
16
|
-
width: number;
|
|
17
|
-
height: number;
|
|
18
|
-
order: number;
|
|
19
|
-
url: string;
|
|
20
|
-
}
|
|
21
|
-
interface Instance {
|
|
22
|
-
dead?: boolean;
|
|
23
|
-
state: {
|
|
24
|
-
resultType?: string;
|
|
25
|
-
};
|
|
26
|
-
props: {
|
|
27
|
-
favCopy: Gif[];
|
|
28
|
-
favorites: Gif[];
|
|
29
|
-
};
|
|
30
|
-
forceUpdate: () => void;
|
|
31
|
-
}
|
|
32
|
-
export declare const settings: import("../../utils/types").DefinedSettings<{
|
|
33
|
-
searchOption: {
|
|
34
|
-
type: OptionType.SELECT;
|
|
35
|
-
description: string;
|
|
36
|
-
options: readonly [{
|
|
37
|
-
readonly label: "Entire Url";
|
|
38
|
-
readonly value: "url";
|
|
39
|
-
}, {
|
|
40
|
-
readonly label: "Path Only (/somegif.gif)";
|
|
41
|
-
readonly value: "path";
|
|
42
|
-
}, {
|
|
43
|
-
readonly label: "Host & Path (tenor.com somgif.gif)";
|
|
44
|
-
readonly value: "hostandpath";
|
|
45
|
-
readonly default: true;
|
|
46
|
-
}];
|
|
47
|
-
};
|
|
48
|
-
}, {}>;
|
|
49
|
-
declare const _default: {
|
|
50
|
-
name: string;
|
|
51
|
-
authors: {
|
|
52
|
-
name: string;
|
|
53
|
-
id: bigint;
|
|
54
|
-
}[];
|
|
55
|
-
description: string;
|
|
56
|
-
tags: ("Customisation" | "Media")[];
|
|
57
|
-
patches: {
|
|
58
|
-
find: string;
|
|
59
|
-
replacement: {
|
|
60
|
-
match: RegExp;
|
|
61
|
-
replace: string;
|
|
62
|
-
}[];
|
|
63
|
-
}[];
|
|
64
|
-
settings: import("../../utils/types").DefinedSettings<{
|
|
65
|
-
searchOption: {
|
|
66
|
-
type: OptionType.SELECT;
|
|
67
|
-
description: string;
|
|
68
|
-
options: readonly [{
|
|
69
|
-
readonly label: "Entire Url";
|
|
70
|
-
readonly value: "url";
|
|
71
|
-
}, {
|
|
72
|
-
readonly label: "Path Only (/somegif.gif)";
|
|
73
|
-
readonly value: "path";
|
|
74
|
-
}, {
|
|
75
|
-
readonly label: "Host & Path (tenor.com somgif.gif)";
|
|
76
|
-
readonly value: "hostandpath";
|
|
77
|
-
readonly default: true;
|
|
78
|
-
}];
|
|
79
|
-
};
|
|
80
|
-
}, {}>;
|
|
81
|
-
getTargetString: typeof getTargetString;
|
|
82
|
-
instance: Instance | null;
|
|
83
|
-
renderSearchBar(instance: Instance, SearchBarComponent: TSearchBarComponent): import("react").JSX.Element;
|
|
84
|
-
getFav(favorites: Gif[]): Gif[];
|
|
85
|
-
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
86
|
-
export default _default;
|
|
87
|
-
export declare function getTargetString(urlStr: string): string;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { OptionType } from "../../utils/types";
|
|
2
|
-
import { Activity } from "@vencord/discord-types";
|
|
3
|
-
interface TrackData {
|
|
4
|
-
name: string;
|
|
5
|
-
album: string;
|
|
6
|
-
artist: string;
|
|
7
|
-
url: string;
|
|
8
|
-
imageUrl?: string;
|
|
9
|
-
}
|
|
10
|
-
declare const enum NameFormat {
|
|
11
|
-
StatusName = "status-name",
|
|
12
|
-
ArtistFirst = "artist-first",
|
|
13
|
-
SongFirst = "song-first",
|
|
14
|
-
ArtistOnly = "artist",
|
|
15
|
-
SongOnly = "song",
|
|
16
|
-
AlbumName = "album"
|
|
17
|
-
}
|
|
18
|
-
declare const _default: {
|
|
19
|
-
name: string;
|
|
20
|
-
description: string;
|
|
21
|
-
tags: ("Activity" | "Media")[];
|
|
22
|
-
authors: {
|
|
23
|
-
name: string;
|
|
24
|
-
id: bigint;
|
|
25
|
-
}[];
|
|
26
|
-
settings: import("../../utils/types").DefinedSettings<{
|
|
27
|
-
apiKey: {
|
|
28
|
-
displayName: string;
|
|
29
|
-
description: string;
|
|
30
|
-
type: OptionType.STRING;
|
|
31
|
-
};
|
|
32
|
-
username: {
|
|
33
|
-
description: string;
|
|
34
|
-
type: OptionType.STRING;
|
|
35
|
-
};
|
|
36
|
-
shareUsername: {
|
|
37
|
-
description: string;
|
|
38
|
-
type: OptionType.BOOLEAN;
|
|
39
|
-
default: false;
|
|
40
|
-
};
|
|
41
|
-
clickableLinks: {
|
|
42
|
-
description: string;
|
|
43
|
-
type: OptionType.BOOLEAN;
|
|
44
|
-
default: true;
|
|
45
|
-
};
|
|
46
|
-
hideWithSpotify: {
|
|
47
|
-
description: string;
|
|
48
|
-
type: OptionType.BOOLEAN;
|
|
49
|
-
default: true;
|
|
50
|
-
};
|
|
51
|
-
hideWithActivity: {
|
|
52
|
-
description: string;
|
|
53
|
-
type: OptionType.BOOLEAN;
|
|
54
|
-
default: false;
|
|
55
|
-
};
|
|
56
|
-
statusName: {
|
|
57
|
-
description: string;
|
|
58
|
-
type: OptionType.STRING;
|
|
59
|
-
default: string;
|
|
60
|
-
};
|
|
61
|
-
statusDisplayType: {
|
|
62
|
-
description: string;
|
|
63
|
-
type: OptionType.SELECT;
|
|
64
|
-
options: ({
|
|
65
|
-
label: string;
|
|
66
|
-
value: string;
|
|
67
|
-
default?: undefined;
|
|
68
|
-
} | {
|
|
69
|
-
label: string;
|
|
70
|
-
value: string;
|
|
71
|
-
default: true;
|
|
72
|
-
})[];
|
|
73
|
-
};
|
|
74
|
-
nameFormat: {
|
|
75
|
-
description: string;
|
|
76
|
-
type: OptionType.SELECT;
|
|
77
|
-
options: ({
|
|
78
|
-
label: string;
|
|
79
|
-
value: NameFormat;
|
|
80
|
-
default: true;
|
|
81
|
-
} | {
|
|
82
|
-
label: string;
|
|
83
|
-
value: NameFormat;
|
|
84
|
-
default?: undefined;
|
|
85
|
-
})[];
|
|
86
|
-
};
|
|
87
|
-
useListeningStatus: {
|
|
88
|
-
description: string;
|
|
89
|
-
type: OptionType.BOOLEAN;
|
|
90
|
-
default: false;
|
|
91
|
-
};
|
|
92
|
-
missingArt: {
|
|
93
|
-
description: string;
|
|
94
|
-
type: OptionType.SELECT;
|
|
95
|
-
options: ({
|
|
96
|
-
label: string;
|
|
97
|
-
value: string;
|
|
98
|
-
default: true;
|
|
99
|
-
} | {
|
|
100
|
-
label: string;
|
|
101
|
-
value: string;
|
|
102
|
-
default?: undefined;
|
|
103
|
-
})[];
|
|
104
|
-
};
|
|
105
|
-
showLastFmLogo: {
|
|
106
|
-
displayName: string;
|
|
107
|
-
description: string;
|
|
108
|
-
type: OptionType.BOOLEAN;
|
|
109
|
-
default: true;
|
|
110
|
-
};
|
|
111
|
-
showAlbumCover: {
|
|
112
|
-
description: string;
|
|
113
|
-
type: OptionType.BOOLEAN;
|
|
114
|
-
default: true;
|
|
115
|
-
};
|
|
116
|
-
}, {}>;
|
|
117
|
-
settingsAboutComponent(): import("react").JSX.Element;
|
|
118
|
-
start(): void;
|
|
119
|
-
stop(): void;
|
|
120
|
-
fetchTrackData(): Promise<TrackData | null>;
|
|
121
|
-
updatePresence(): Promise<void>;
|
|
122
|
-
getLargeImage(track: TrackData): string | undefined;
|
|
123
|
-
getActivity(): Promise<Activity | null>;
|
|
124
|
-
} & Record<PropertyKey, any> & import("../../utils/types").Plugin;
|
|
125
|
-
export default _default;
|