mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-03 21:46:08 +00:00
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import type {
|
|
APIButtonComponentWithCustomId,
|
|
APIButtonComponentWithURL,
|
|
APIMessageComponentEmoji,
|
|
ComponentType,
|
|
} from '../common';
|
|
import { ButtonStyle } from '../common';
|
|
import { BaseComponent } from '../structures/extra/BaseComponent';
|
|
|
|
export class LinkButtonComponent extends BaseComponent<ComponentType.Button> {
|
|
constructor(data: APIButtonComponentWithURL) {
|
|
super(data);
|
|
this.label = data.label;
|
|
this.emoji = data.emoji;
|
|
this.disabled = !!data.disabled;
|
|
this.url = data.url;
|
|
}
|
|
|
|
style = ButtonStyle.Link;
|
|
label?: string;
|
|
emoji?: APIMessageComponentEmoji;
|
|
disabled: boolean;
|
|
url: string;
|
|
}
|
|
|
|
export type ButtonStyleExludeLink = Exclude<ButtonStyle, ButtonStyle.Link>;
|
|
|
|
export class ButtonComponent extends BaseComponent<ComponentType.Button> {
|
|
constructor(data: APIButtonComponentWithCustomId) {
|
|
super(data);
|
|
this.style = data.style;
|
|
this.label = data.label;
|
|
this.emoji = data.emoji;
|
|
this.disabled = !!data.disabled;
|
|
}
|
|
|
|
style: ButtonStyleExludeLink;
|
|
label?: string;
|
|
emoji?: APIMessageComponentEmoji;
|
|
disabled: boolean;
|
|
}
|