web-remote/src/app/responses.ts

81 lines
1.3 KiB
TypeScript
Raw Normal View History

2018-08-22 20:04:41 +00:00
export interface PluginDescription {
key: string;
name: string;
2018-08-22 20:04:41 +00:00
}
2018-08-22 20:04:41 +00:00
export class State {
isAuthorized: boolean;
version: number;
slide: number;
display: boolean;
isSecure: boolean;
blank: boolean;
twelve: boolean;
theme: boolean;
2018-08-22 20:04:41 +00:00
live = () => !(this.blank || this.display || this.theme);
2022-12-21 16:27:47 +00:00
get displayMode() {
if (this.blank) {
return DisplayMode.Blank;
} else if (this.display) {
return DisplayMode.Desktop;
} else if (this.theme) {
return DisplayMode.Theme;
} else {
return DisplayMode.Presentation;
}
}
}
export enum DisplayMode {
Blank,
Theme,
Desktop,
Presentation
}
2018-08-22 20:04:41 +00:00
export interface Slide {
selected: boolean;
html: string;
tag: string;
text: string;
chords: string;
lines: string[];
2019-10-08 05:43:49 +00:00
first_slide_of_tag: boolean;
img: string;
2018-08-20 00:00:32 +00:00
}
2018-08-22 20:04:41 +00:00
export interface ServiceItem {
id: string;
notes: string;
plugin: string;
selected: boolean;
title: string;
is_valid: boolean;
slides: object[];
2019-10-08 05:43:49 +00:00
}
2020-01-23 20:10:11 +00:00
export interface Theme {
selected: boolean;
name: string;
2020-01-23 20:10:11 +00:00
}
2019-10-08 05:43:49 +00:00
export interface MainView {
binary_image: string;
}
export interface SystemInformation {
websocket_port: number;
login_required: boolean;
}
export interface Credentials {
username: string;
password: string;
}
export interface AuthToken {
token: string;
}