This commit is contained in:
thororen1234 2024-07-03 15:10:20 -04:00
commit efb0fee156
16 changed files with 470 additions and 190 deletions

View file

@ -72,6 +72,25 @@ const ToastPosition = {
BOTTOM: 1
};
export interface ToastData {
message: string,
id: string,
/**
* Toasts.Type
*/
type: number,
options?: ToastOptions;
}
export interface ToastOptions {
/**
* Toasts.Position
*/
position?: number;
component?: React.ReactNode,
duration?: number;
}
export const Toasts = {
Type: ToastType,
Position: ToastPosition,
@ -80,23 +99,9 @@ export const Toasts = {
// hack to merge with the following interface, dunno if there's a better way
...{} as {
show(data: {
message: string,
id: string,
/**
* Toasts.Type
*/
type: number,
options?: {
/**
* Toasts.Position
*/
position?: number;
component?: React.ReactNode,
duration?: number;
};
}): void;
show(data: ToastData): void;
pop(): void;
create(message: string, type: number, options?: ToastOptions): ToastData;
}
};
@ -104,17 +109,14 @@ export const Toasts = {
waitFor("showToast", m => {
Toasts.show = m.showToast;
Toasts.pop = m.popToast;
Toasts.create = m.createToast;
});
/**
* Show a simple toast. If you need more options, use Toasts.show manually
*/
export function showToast(message: string, type = ToastType.MESSAGE) {
Toasts.show({
id: Toasts.genId(),
message,
type
});
export function showToast(message: string, type = ToastType.MESSAGE, options?: ToastOptions) {
Toasts.show(Toasts.create(message, type, options));
}
export const UserUtils = {
@ -170,3 +172,9 @@ export const PopoutActions: t.PopoutActions = mapMangledModuleLazy('type:"POPOUT
close: filters.byCode('type:"POPOUT_WINDOW_CLOSE"'),
setAlwaysOnTop: filters.byCode('type:"POPOUT_WINDOW_SET_ALWAYS_ON_TOP"'),
});
export const UsernameUtils: t.UsernameUtils = findByPropsLazy("useName", "getGlobalName");
export const DisplayProfileUtils: t.DisplayProfileUtils = mapMangledModuleLazy(/=\i\.getUserProfile\(\i\),\i=\i\.getGuildMemberProfile\(/, {
getDisplayProfile: filters.byCode(".getGuildMemberProfile("),
useDisplayProfile: filters.byCode(/\[\i\.\i,\i\.\i],\(\)=>/)
});