68 lines
No EOL
1.5 KiB
TypeScript
68 lines
No EOL
1.5 KiB
TypeScript
import {RemoteIconInfo} from "tc-shared/file/Icons";
|
|
|
|
export const kUnknownHistoryServerUniqueId = "unknown";
|
|
export type ConnectProfileEntry = {
|
|
id: string,
|
|
name: string,
|
|
valid: boolean
|
|
}
|
|
|
|
export type ConnectHistoryEntry = {
|
|
id: number,
|
|
targetAddress: string,
|
|
uniqueServerId: string | typeof kUnknownHistoryServerUniqueId,
|
|
}
|
|
|
|
export type ConnectHistoryServerInfo = {
|
|
icon: RemoteIconInfo,
|
|
name: string,
|
|
password: boolean,
|
|
country: string,
|
|
|
|
clients: number | -1,
|
|
maxClients: number | -1
|
|
}
|
|
|
|
export interface ConnectUiVariables {
|
|
"server_address": {
|
|
currentAddress: string,
|
|
defaultAddress?: string,
|
|
},
|
|
readonly "server_address_valid": boolean,
|
|
|
|
"nickname": {
|
|
currentNickname: string | undefined,
|
|
defaultNickname?: string,
|
|
},
|
|
readonly "nickname_valid": boolean,
|
|
|
|
"password": {
|
|
password: string,
|
|
hashed: boolean
|
|
} | undefined,
|
|
|
|
"profiles": {
|
|
profiles?: ConnectProfileEntry[],
|
|
selected: string
|
|
},
|
|
readonly "profile_valid": boolean,
|
|
|
|
"historyShown": boolean,
|
|
readonly "history": {
|
|
history: ConnectHistoryEntry[],
|
|
selected: number | -1,
|
|
},
|
|
|
|
readonly "history_entry": ConnectHistoryServerInfo,
|
|
readonly "history_connections": number
|
|
}
|
|
|
|
export interface ConnectUiEvents {
|
|
action_manage_profiles: {},
|
|
action_select_history: { id: number },
|
|
action_connect: { newTab: boolean },
|
|
action_delete_history: {
|
|
target: string,
|
|
targetType: "address" | "server-unique-id"
|
|
},
|
|
} |