mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-23 09:30:12 +00:00
Harvey Tindall
2d93b3b7ee
Works in the same way as on the form, but can now be done in the accounts tab.
134 lines
3.1 KiB
TypeScript
134 lines
3.1 KiB
TypeScript
declare interface Modal {
|
|
modal: HTMLElement;
|
|
closeButton: HTMLSpanElement
|
|
show: () => void;
|
|
close: (event?: Event) => void;
|
|
toggle: () => void;
|
|
onopen: (f: () => void) => void;
|
|
onclose: (f: () => void) => void;
|
|
}
|
|
|
|
interface ArrayConstructor {
|
|
from(arrayLike: any, mapFn?, thisArg?): Array<any>;
|
|
}
|
|
|
|
declare interface Window {
|
|
URLBase: string;
|
|
modals: Modals;
|
|
cssFile: string;
|
|
availableProfiles: string[];
|
|
jfUsers: Array<Object>;
|
|
notificationsEnabled: boolean;
|
|
emailEnabled: boolean;
|
|
telegramEnabled: boolean;
|
|
ombiEnabled: boolean;
|
|
usernameEnabled: boolean;
|
|
token: string;
|
|
buttonWidth: number;
|
|
transitionEvent: string;
|
|
animationEvent: string;
|
|
tabs: Tabs;
|
|
invites: inviteList;
|
|
notifications: NotificationBox;
|
|
language: string;
|
|
lang: Lang;
|
|
langFile: {};
|
|
updater: updater;
|
|
}
|
|
|
|
declare interface Update {
|
|
version: string;
|
|
commit: string;
|
|
date: number;
|
|
description: string;
|
|
changelog: string;
|
|
link: string;
|
|
download_link?: string;
|
|
can_update: boolean;
|
|
}
|
|
|
|
declare interface updater extends Update {
|
|
checkForUpdates: (run?: (req: XMLHttpRequest) => void) => void;
|
|
updateAvailable: boolean;
|
|
update: Update;
|
|
}
|
|
|
|
declare interface Lang {
|
|
get: (sect: string, key: string) => string;
|
|
strings: (key: string) => string;
|
|
notif: (key: string) => string;
|
|
var: (sect: string, key: string, ...subs: string[]) => string;
|
|
quantity: (key: string, number: number) => string;
|
|
}
|
|
|
|
declare interface NotificationBox {
|
|
connectionError: () => void;
|
|
customError: (type: string, message: string) => void;
|
|
customPositive: (type: string, bold: string, message: string) => void;
|
|
customSuccess: (type: string, message: string) => void;
|
|
}
|
|
|
|
declare interface Tabs {
|
|
current: string;
|
|
tabs: Array<Tab>;
|
|
addTab: (tabID: string, preFunc?: () => void, postFunc?: () => void) => void;
|
|
switch: (tabID: string, noRun?: boolean) => void;
|
|
}
|
|
|
|
declare interface Tab {
|
|
tabID: string;
|
|
tabEl: HTMLDivElement;
|
|
buttonEl: HTMLSpanElement;
|
|
preFunc?: () => void;
|
|
postFunc?: () => void;
|
|
}
|
|
|
|
|
|
declare interface Modals {
|
|
about: Modal;
|
|
login: Modal;
|
|
addUser: Modal;
|
|
modifyUser: Modal;
|
|
deleteUser: Modal;
|
|
settingsRestart: Modal;
|
|
settingsRefresh: Modal;
|
|
ombiDefaults?: Modal;
|
|
profiles: Modal;
|
|
addProfile: Modal;
|
|
announce: Modal;
|
|
editor: Modal;
|
|
customizeEmails: Modal;
|
|
extendExpiry: Modal;
|
|
updateInfo: Modal;
|
|
telegram: Modal;
|
|
}
|
|
|
|
interface Invite {
|
|
code?: string;
|
|
expiresIn?: string;
|
|
remainingUses?: string;
|
|
email?: string;
|
|
usedBy?: { [name: string]: number };
|
|
created?: number;
|
|
notifyExpiry?: boolean;
|
|
notifyCreation?: boolean;
|
|
profile?: string;
|
|
label?: string;
|
|
userExpiry?: boolean;
|
|
userExpiryTime?: string;
|
|
}
|
|
|
|
interface inviteList {
|
|
empty: boolean;
|
|
invites: { [code: string]: Invite }
|
|
add: (invite: Invite) => void;
|
|
reload: () => void;
|
|
}
|
|
|
|
declare interface SubmitEvent extends Event {
|
|
submitter: HTMLInputElement;
|
|
}
|
|
|
|
declare var config: Object;
|
|
declare var modifiedConfig: Object;
|