2024-10-17 21:05:25 +11:00
|
|
|
import type { Component } from "vue";
|
2024-10-15 20:05:13 +11:00
|
|
|
|
|
|
|
|
export type NavigationItem = {
|
2024-10-17 21:05:25 +11:00
|
|
|
prefix: string;
|
|
|
|
|
route: string;
|
|
|
|
|
label: string;
|
|
|
|
|
};
|
2024-10-15 20:05:13 +11:00
|
|
|
|
|
|
|
|
export type QuickActionNav = {
|
2024-10-17 21:05:25 +11:00
|
|
|
icon: Component;
|
|
|
|
|
notifications?: number;
|
|
|
|
|
action: () => Promise<void>;
|
|
|
|
|
};
|
2024-12-09 17:03:48 +11:00
|
|
|
|
|
|
|
|
export type User = {
|
|
|
|
|
id: string;
|
|
|
|
|
username: string;
|
|
|
|
|
admin: boolean;
|
|
|
|
|
displayName: string;
|
|
|
|
|
profilePicture: string;
|
|
|
|
|
};
|
|
|
|
|
|
2024-10-09 16:52:24 +11:00
|
|
|
export type AppState = {
|
|
|
|
|
status: AppStatus;
|
|
|
|
|
user?: User;
|
|
|
|
|
};
|
|
|
|
|
|
2024-12-09 17:03:48 +11:00
|
|
|
export type Game = {
|
|
|
|
|
id: string;
|
|
|
|
|
mName: string;
|
|
|
|
|
mShortDescription: string;
|
|
|
|
|
mDescription: string;
|
|
|
|
|
mIconId: string;
|
|
|
|
|
mBannerId: string;
|
|
|
|
|
mCoverId: string;
|
|
|
|
|
mImageLibrary: string[];
|
|
|
|
|
};
|
|
|
|
|
|
2024-10-08 13:17:06 +11:00
|
|
|
export enum AppStatus {
|
2024-10-09 16:52:24 +11:00
|
|
|
NotConfigured = "NotConfigured",
|
2025-01-30 12:11:20 +11:00
|
|
|
Offline = "Offline",
|
2024-10-09 16:52:24 +11:00
|
|
|
SignedOut = "SignedOut",
|
|
|
|
|
SignedIn = "SignedIn",
|
|
|
|
|
SignedInNeedsReauth = "SignedInNeedsReauth",
|
2024-11-03 16:16:26 +11:00
|
|
|
ServerUnavailable = "ServerUnavailable",
|
2024-10-17 21:05:25 +11:00
|
|
|
}
|
|
|
|
|
|
2024-12-07 11:00:35 +11:00
|
|
|
export enum GameStatusEnum {
|
2024-10-17 21:05:25 +11:00
|
|
|
Remote = "Remote",
|
2024-11-28 20:31:04 +11:00
|
|
|
Queued = "Queued",
|
2024-10-17 21:05:25 +11:00
|
|
|
Downloading = "Downloading",
|
|
|
|
|
Installed = "Installed",
|
|
|
|
|
Updating = "Updating",
|
|
|
|
|
Uninstalling = "Uninstalling",
|
2024-12-07 11:00:35 +11:00
|
|
|
SetupRequired = "SetupRequired",
|
2024-12-26 17:19:19 +11:00
|
|
|
Running = "Running"
|
2024-10-17 21:05:25 +11:00
|
|
|
}
|
2024-12-07 11:00:35 +11:00
|
|
|
|
|
|
|
|
export type GameStatus = {
|
|
|
|
|
type: GameStatusEnum;
|
|
|
|
|
version_name?: string;
|
|
|
|
|
};
|
2025-01-04 15:47:14 +11:00
|
|
|
|
|
|
|
|
export enum DownloadableType {
|
|
|
|
|
Game = "Game",
|
|
|
|
|
Tool = "Tool",
|
|
|
|
|
DLC = "DLC",
|
|
|
|
|
Mod = "Mod"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type DownloadableMetadata = {
|
|
|
|
|
id: string,
|
|
|
|
|
version: string,
|
|
|
|
|
downloadType: DownloadableType
|
2025-01-19 19:14:52 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type Settings = {
|
|
|
|
|
autostart: boolean,
|
|
|
|
|
maxDownloadThreads: number,
|
2025-01-31 13:01:41 +11:00
|
|
|
forceOffline: boolean
|
2025-01-04 15:47:14 +11:00
|
|
|
}
|