discord-user-card
Version:
Display Discord users' profile cards just like in Discord.
86 lines (85 loc) • 3.39 kB
TypeScript
import { DiscordUserCardActivityCompeting, DiscordUserCardActivityHang, DiscordUserCardActivityListening, DiscordUserCardActivityPlaying, DiscordUserCardActivityStreaming, DiscordUserCardActivityWatching } from '@discord-user-card/core';
import { Renderer } from '../../../functions/Renderer.js';
export interface Activity {
activity: DiscordUserCardActivityPlaying | DiscordUserCardActivityStreaming | DiscordUserCardActivityListening | DiscordUserCardActivityWatching | DiscordUserCardActivityCompeting | DiscordUserCardActivityHang;
title: string;
line1: string | undefined;
line2: string | undefined;
line3: string | undefined;
}
export declare function mapActivity(activity: DiscordUserCardActivityPlaying | DiscordUserCardActivityStreaming | DiscordUserCardActivityListening | DiscordUserCardActivityWatching | DiscordUserCardActivityCompeting | DiscordUserCardActivityHang): Activity | undefined;
export declare class ActivityContentRenderer implements Renderer<Activity> {
readonly parent: Element;
elements: {
imageContainer: HTMLDivElement;
largeImage: HTMLImageElement;
smallImage: HTMLImageElement;
details: HTMLDivElement;
line1: HTMLDivElement;
line2: HTMLDivElement;
line3: HTMLDivElement;
};
children: {
elapsedLeftLine: ElapsedLeftLineRenderer;
};
lastProps: Activity | null;
rerender(): void;
listenersBound: boolean;
boundRerender: () => void;
prefersReducedMotion: MediaQueryList;
constructor(parent: Element);
private setAttributes;
render(props: Activity): Promise<void>;
renderSkeleton(props: Activity): void;
setLargeImage({ activity }: Activity): Promise<boolean>;
setSmallImage({ activity }: Activity): boolean;
hasLargeImage({ activity }: Activity): boolean;
hasSmallImage({ activity }: Activity): boolean;
getAppIcon(applicationId: string): Promise<string | undefined>;
getAsset(asset: string, relatedId?: string): string;
destroy(): void;
}
declare class ElapsedLeftLineRenderer implements Renderer<Activity> {
readonly parent: Element;
elements: {
line: HTMLDivElement;
};
timeout: NodeJS.Timeout | null;
constructor(parent: Element);
render(props: Activity): Promise<void>;
renderSkeleton(props: Activity): void;
destroy(): void;
}
export declare class TimebarRenderer implements Renderer<Activity> {
readonly parent: Element;
elements: {
container: HTMLDivElement;
timebar: HTMLDivElement;
fill: HTMLDivElement;
time: HTMLDivElement;
timeLeft: HTMLDivElement;
timeRight: HTMLDivElement;
};
timeout: NodeJS.Timeout | null;
constructor(parent: Element);
render(props: Activity): Promise<void>;
renderSkeleton(props: Activity): void;
destroy(): void;
}
export declare class ButtonsRenderer implements Renderer<Activity> {
readonly parent: Element;
elements: {
buttons: HTMLDivElement;
one: HTMLAnchorElement;
oneLabel: HTMLDivElement;
two: HTMLAnchorElement;
twoLabel: HTMLDivElement;
};
constructor(parent: Element);
private setAttributes;
render({ activity }: Activity): Promise<void>;
renderSkeleton({ activity }: Activity): void;
destroy(): void;
}
export {};
//# sourceMappingURL=activities.d.ts.map