538 lines
No EOL
9.3 KiB
TypeScript
538 lines
No EOL
9.3 KiB
TypeScript
declare module "dbd-soft-ui" {
|
|
import { Express, Request, Response } from "express";
|
|
|
|
type themeConfig = {
|
|
customThemeOptions: {
|
|
index: ({ req, res, config }: {
|
|
req: Request,
|
|
res: Response,
|
|
config: any
|
|
}) => {
|
|
cards: {
|
|
title: string,
|
|
icon: string,
|
|
getValue: string,
|
|
progressBar: {
|
|
enabled: boolean,
|
|
getProgress: number
|
|
}
|
|
}[],
|
|
graph: {
|
|
values: number[],
|
|
labels: string[]
|
|
}
|
|
}
|
|
},
|
|
addons: string[],
|
|
websiteName: string,
|
|
colorScheme: "dark" | "pink" | "blue" | "red" | "green" | "yellow" | "custom",
|
|
themeColors?: {
|
|
primaryColor: string,
|
|
secondaryColor: string
|
|
}
|
|
supporteMail: string,
|
|
locales: Record<string, any>,
|
|
footer: {
|
|
replaceDefault: boolean,
|
|
text: string,
|
|
}
|
|
admin: {
|
|
pterodactyl: {
|
|
enabled: boolean,
|
|
apiKey: string,
|
|
panelLink: string,
|
|
serverUUIDs: string[]
|
|
},
|
|
logs?: {
|
|
enabled?: boolean,
|
|
key?: string,
|
|
}
|
|
},
|
|
icons: {
|
|
favicon: string,
|
|
noGuildIcon: string,
|
|
sidebar: {
|
|
darkUrl: string,
|
|
lightUrl: string,
|
|
hideName: boolean,
|
|
borderRadius: boolean,
|
|
alignCenter: boolean
|
|
}
|
|
},
|
|
index: {
|
|
graph: {
|
|
enabled: boolean,
|
|
lineGraph: boolean,
|
|
tag: string,
|
|
max: number
|
|
}
|
|
},
|
|
premium: {
|
|
enabled: boolean,
|
|
card: {
|
|
title: string,
|
|
description: string,
|
|
bgImage: string,
|
|
button: {
|
|
text: string,
|
|
url: string
|
|
}
|
|
}
|
|
},
|
|
preloader: {
|
|
image: string,
|
|
spinner: boolean,
|
|
text: string
|
|
},
|
|
sidebar?: {
|
|
gestures: {
|
|
disabled: boolean,
|
|
gestureTimer: number,
|
|
gestureSensitivity: number
|
|
}
|
|
},
|
|
shardspage?: {
|
|
enabled: boolean,
|
|
key: string,
|
|
},
|
|
meta: {
|
|
author: string,
|
|
owner: string,
|
|
description: string,
|
|
ogLocale: string,
|
|
ogTitle: string,
|
|
ogImage: string,
|
|
ogType: string,
|
|
ogUrl: string,
|
|
ogSiteName: string,
|
|
ogDescription: string,
|
|
twitterTitle: string,
|
|
twitterDescription: string,
|
|
twitterDomain: string,
|
|
twitterUrl: string,
|
|
twitterCard: string,
|
|
twitterSite: string,
|
|
twitterSiteId: string,
|
|
twitterCreator: string,
|
|
twitterCreatorId: string,
|
|
twitterImage: string
|
|
},
|
|
error: {
|
|
error404: {
|
|
title: string,
|
|
subtitle: string,
|
|
description: string
|
|
},
|
|
dbdError: {
|
|
disableSecretMenu: boolean,
|
|
secretMenuCombination: string[]
|
|
}
|
|
},
|
|
sweetalert: {
|
|
errors: {
|
|
requirePremium: string
|
|
},
|
|
success: {
|
|
login: string
|
|
}
|
|
},
|
|
blacklisted: {
|
|
title: string,
|
|
subtitle: string,
|
|
description: string,
|
|
button: {
|
|
enabled: boolean,
|
|
text: string,
|
|
link: string
|
|
}
|
|
},
|
|
commands?: [
|
|
{
|
|
category: string,
|
|
subTitle: string,
|
|
categoryId: string,
|
|
image: string,
|
|
hideAlias: boolean,
|
|
hideDescription: boolean,
|
|
hideSidebarItem: boolean,
|
|
list: [
|
|
{
|
|
commandName: string,
|
|
commandUsage: string,
|
|
commandDescription: string,
|
|
commandAlias: string
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
}
|
|
|
|
export default function (options: themeConfig): {
|
|
themeCodename: string,
|
|
viewsPath: string,
|
|
staticPath: string,
|
|
embedBuilderComponent: string,
|
|
themeConfig: themeConfig,
|
|
init: (app: Express, config: Record<string, any>) => void;
|
|
};
|
|
|
|
export const partials: any;
|
|
export const formTypes: FormTypes;
|
|
export const cmdHandler: (commands: Record<string, any>[], prefix: string) => Record<string, any>[];
|
|
|
|
/**
|
|
* @see [utils/feedHandler](./utils/feedHandler.js).
|
|
*/
|
|
export class Feed {
|
|
color: FeedColor;
|
|
description: string;
|
|
icon: FeedIcon;
|
|
id: string | number;
|
|
|
|
setColor: (color: FeedColor) => Feed;
|
|
setDescription: (description: string) => Feed;
|
|
setIcon: (icon: FeedIcon) => Feed;
|
|
getFeed: (id: string | number) => Feed;
|
|
delete: () => Feed;
|
|
send: () => Promise<void>;
|
|
constructor();
|
|
}
|
|
|
|
/**
|
|
* All possible colors that can be used against the
|
|
* `Feed#setColor()` method. They can be accessed with
|
|
* dot notation, eg `FeedColor.Red`.
|
|
*/
|
|
export enum FeedColor {
|
|
Red = "red",
|
|
Orange = "orange",
|
|
Pink = "pink",
|
|
Gray = "gray",
|
|
Green = "green",
|
|
Blue = "blue",
|
|
Dark = "dark"
|
|
}
|
|
|
|
/**
|
|
* All possible icons that can be used against the
|
|
* `Feed#setIcon()` method. They can be accessed with
|
|
* bracket notation, eg `FeedIcon["address-book"]`.
|
|
*/
|
|
export enum FeedIcon {
|
|
"address-book",
|
|
"address-card",
|
|
"adjust",
|
|
"air-freshener",
|
|
"align-center",
|
|
"align-left",
|
|
"align-right",
|
|
"ambulance",
|
|
"angle-double-down",
|
|
"angle-double-left",
|
|
"angle-double-right",
|
|
"angle-double-up",
|
|
"angle-down",
|
|
"angle-left",
|
|
"angle-right",
|
|
"angle-up",
|
|
"archive",
|
|
"arrow-alt-circle-down",
|
|
"arrow-alt-circle-left",
|
|
"arrow-alt-circle-right",
|
|
"arrow-alt-circle-up",
|
|
"arrow-down",
|
|
"arrow-left",
|
|
"arrow-right",
|
|
"arrow-up",
|
|
"arrows-alt",
|
|
"arrows-alt-h",
|
|
"arrows-alt-v",
|
|
"assistive-listening-systems",
|
|
"asterisk",
|
|
"at",
|
|
"atlas",
|
|
"award",
|
|
"backspace",
|
|
"backward",
|
|
"bahai",
|
|
"ban",
|
|
"band-aid",
|
|
"bars",
|
|
"battery-empty",
|
|
"battery-full",
|
|
"battery-half",
|
|
"battery-quarter",
|
|
"battery-three-quarters",
|
|
"bed",
|
|
"beer",
|
|
"bell",
|
|
"bell-slash",
|
|
"birthday-cake",
|
|
"bolt",
|
|
"bomb",
|
|
"bone",
|
|
"book",
|
|
"book-dead",
|
|
"book-medical",
|
|
"book-open",
|
|
"bookmark",
|
|
"border-all",
|
|
"border-none",
|
|
"border-style",
|
|
"bowling-ball",
|
|
"box",
|
|
"box-open",
|
|
"briefcase",
|
|
"broadcast-tower",
|
|
"bug",
|
|
"building",
|
|
"bullhorn",
|
|
"calculator",
|
|
"calendar",
|
|
"calendar-alt",
|
|
"calendar-check",
|
|
"calendar-day",
|
|
"calendar-minus",
|
|
"calendar-plus",
|
|
"calendar-times",
|
|
"calendar-week",
|
|
"camera",
|
|
"caret-down",
|
|
"caret-left",
|
|
"caret-right",
|
|
"caret-up",
|
|
"certificate",
|
|
"chair",
|
|
"chalkboard",
|
|
"charging-station",
|
|
"chart-bar",
|
|
"chart-line",
|
|
"chart-pie",
|
|
"check",
|
|
"check-circle",
|
|
"check-square",
|
|
"circle",
|
|
"circle-notch",
|
|
"clipboard",
|
|
"clock",
|
|
"clone",
|
|
"cloud",
|
|
"cloud-download-alt",
|
|
"cloud-meatball",
|
|
"cloud-moon",
|
|
"cloud-moon-rain",
|
|
"cloud-rain",
|
|
"cloud-showers-heavy",
|
|
"cloud-sun",
|
|
"cloud-sun-rain",
|
|
"cloud-upload-alt",
|
|
"code",
|
|
"code-branch",
|
|
"cog",
|
|
"cogs",
|
|
"columns",
|
|
"comment",
|
|
"comment-alt",
|
|
"comment-dollar",
|
|
"comment-dots",
|
|
"comment-medical",
|
|
"comment-slash",
|
|
"comments",
|
|
"comments-dollar",
|
|
"compact-disc",
|
|
"compass",
|
|
"compress-alt",
|
|
"cookie",
|
|
"cookie-bite",
|
|
"copy",
|
|
"credit-card",
|
|
"crop",
|
|
"crop-alt",
|
|
"cut",
|
|
"database",
|
|
"desktop",
|
|
"edit",
|
|
"envelope",
|
|
"envelope-open",
|
|
"eraser",
|
|
"ethernet",
|
|
"exchange-alt",
|
|
"exclamation",
|
|
"exclamation-circle",
|
|
"exclamation-triangle",
|
|
"expand",
|
|
"expand-alt",
|
|
"external-link-alt",
|
|
"eye",
|
|
"eye-dropper",
|
|
"eye-slash",
|
|
"fan",
|
|
"file",
|
|
"file-alt",
|
|
"file-archive",
|
|
"file-audio",
|
|
"file-code",
|
|
"file-download",
|
|
"fill",
|
|
"fill-drip",
|
|
"filter",
|
|
"fingerprint",
|
|
"fire",
|
|
"fire-alt",
|
|
"folder",
|
|
"folder-open",
|
|
"forward",
|
|
"gamepad",
|
|
"ghost",
|
|
"gift",
|
|
"gifts",
|
|
"globe",
|
|
"globe-africa",
|
|
"globe-asia",
|
|
"globe-europe",
|
|
"headphones",
|
|
"headphones-alt",
|
|
"headset",
|
|
"heart",
|
|
"heart-broken",
|
|
"heartbeat",
|
|
"history",
|
|
"home",
|
|
"info",
|
|
"keyboard",
|
|
"layer-group",
|
|
"list",
|
|
"lock",
|
|
"lock-open",
|
|
"map-marker",
|
|
"map-marker-alt",
|
|
"microphone",
|
|
"microphone-alt",
|
|
"microphone-alt-slash",
|
|
"minus",
|
|
"mobile",
|
|
"mobile-alt",
|
|
"moon",
|
|
"mouse",
|
|
"mouse-pointer",
|
|
"music",
|
|
"network-wired",
|
|
"neuter",
|
|
"paperclip",
|
|
"paste",
|
|
"pause",
|
|
"paw",
|
|
"pen",
|
|
"pencil-alt",
|
|
"percent",
|
|
"percentage",
|
|
"phone",
|
|
"phone-alt",
|
|
"phone-slash",
|
|
"phone-volume",
|
|
"photo-video",
|
|
"power-off",
|
|
"question",
|
|
"question-circle",
|
|
"redo",
|
|
"redo-alt",
|
|
"reply",
|
|
"robot",
|
|
"rocket",
|
|
"rss",
|
|
"satellite-dish",
|
|
"save",
|
|
"search",
|
|
"server",
|
|
"shapes",
|
|
"share",
|
|
"share-alt",
|
|
"shield-alt",
|
|
"signal",
|
|
"skull",
|
|
"skull-crossbones",
|
|
"sliders-h",
|
|
"sort",
|
|
"spinner",
|
|
"times",
|
|
"times-circle",
|
|
"toggle-off",
|
|
"toggle-on",
|
|
"toolbox",
|
|
"tools",
|
|
"trash",
|
|
"trash-alt",
|
|
"tv",
|
|
"undo",
|
|
"undo-alt",
|
|
"unlink",
|
|
"unlock",
|
|
"unlock-alt",
|
|
"upload",
|
|
"user",
|
|
"user-alt",
|
|
"volume-down",
|
|
"volume-mute",
|
|
"volume-off",
|
|
"volume-up",
|
|
"wifi",
|
|
"wrench",
|
|
|
|
"youtube",
|
|
"discord",
|
|
"node",
|
|
"apple",
|
|
"sellsy",
|
|
"app-store",
|
|
"cloudflare",
|
|
"dev",
|
|
"github-alt",
|
|
"gitlab",
|
|
"google",
|
|
"itunes-note",
|
|
"node-js",
|
|
"npm",
|
|
"spotify",
|
|
"usb",
|
|
"windows"
|
|
}
|
|
|
|
/**
|
|
* @see [utils/formtypes](./utils/formtypes.js).
|
|
*/
|
|
export interface FormTypes {
|
|
spacer: (themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
themeOptions: Record<string, any>
|
|
}
|
|
emojiPicker: (disabled: boolean, themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
disabled: boolean,
|
|
themeOptions: Record<string, any>
|
|
}
|
|
slider: (min: number, max: number, step: number, disabled: boolean, themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
min: number,
|
|
max: number,
|
|
step: number,
|
|
disabled: boolean,
|
|
themeOptions: Record<string, any>
|
|
},
|
|
date: (disabled: boolean, themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
disabled: boolean,
|
|
themeOptions: Record<string, any>
|
|
},
|
|
numberPicker: (min: number, max: number, disabled: boolean, themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
disabled: boolean,
|
|
themeOptions: Record<string, any>
|
|
},
|
|
tagInput: (disabled: boolean, themeOptions: Record<string, any>) => {
|
|
type: string,
|
|
disabled: boolean,
|
|
themeOptions: Record<string, any>
|
|
}
|
|
}
|
|
} |