forked from Drop-OSS/archived-drop-app
Some checks failed
publish / publish-tauri (, ubuntu-22.04) (release) Failing after 14m38s
publish / publish-tauri (, windows-latest) (release) Has been cancelled
publish / publish-tauri (--target aarch64-apple-darwin, macos-14) (release) Has been cancelled
publish / publish-tauri (--target aarch64-unknown-linux-gnu, ubuntu-22.04-arm) (release) Has been cancelled
publish / publish-tauri (--target x86_64-apple-darwin, macos-14) (release) Has been cancelled
* feat: depot api downloads * feat: frontend fixes and experimental webview store * feat: sync downloader * feat: cleanup and fixes * feat: encrypted database and fixed resuming * feat: launch option selector * fix: autostart when no options * fix: clippy * fix: clippy x2 * feat: executor launch * feat: executor launch * feat: not installed error handling * feat: better offline handling * feat: dependency popup * fix: cancelation and resuming issues * feat: dedup by platform * feat: new ui for additional components and fix dl manager clog * feat: auto-queue dependencies * feat: depot scanning and ranking * feat: new library fetching stack * In-app store page (Windows + macOS) (#176) * feat: async store loading * feat: fix overscroll behaviour * fix: query params in server protocol * fix: clippy
99 lines
1.9 KiB
TypeScript
99 lines
1.9 KiB
TypeScript
import type { Component } from "vue";
|
|
|
|
export type NavigationItem = {
|
|
prefix: string;
|
|
route: string;
|
|
label: string;
|
|
};
|
|
|
|
export type QuickActionNav = {
|
|
icon: Component;
|
|
notifications?: number;
|
|
action: () => Promise<void>;
|
|
};
|
|
|
|
export type User = {
|
|
id: string;
|
|
username: string;
|
|
admin: boolean;
|
|
displayName: string;
|
|
profilePictureObjectId: string;
|
|
};
|
|
|
|
export type AppState = {
|
|
status: AppStatus;
|
|
user?: User;
|
|
};
|
|
|
|
export type Game = {
|
|
id: string;
|
|
type: "Game" | "Executor" | "Redist";
|
|
mName: string;
|
|
mShortDescription: string;
|
|
mDescription: string;
|
|
mIconObjectId: string;
|
|
mBannerObjectId: string;
|
|
mCoverObjectId: string;
|
|
mImageLibraryObjectIds: string[];
|
|
mImageCarouselObjectIds: string[];
|
|
};
|
|
|
|
export type Collection = {
|
|
id: string;
|
|
name: string;
|
|
isDefault: boolean;
|
|
isTools?: boolean;
|
|
entries: Array<{ gameId: string; game: Game }>;
|
|
};
|
|
|
|
export type GameVersion = {
|
|
launchCommandTemplate: string;
|
|
};
|
|
|
|
export enum AppStatus {
|
|
NotConfigured = "NotConfigured",
|
|
Offline = "Offline",
|
|
SignedOut = "SignedOut",
|
|
SignedIn = "SignedIn",
|
|
SignedInNeedsReauth = "SignedInNeedsReauth",
|
|
ServerUnavailable = "ServerUnavailable",
|
|
}
|
|
|
|
export enum GameStatusEnum {
|
|
Remote = "Remote",
|
|
Queued = "Queued",
|
|
Downloading = "Downloading",
|
|
Validating = "Validating",
|
|
Installed = "Installed",
|
|
Updating = "Updating",
|
|
Uninstalling = "Uninstalling",
|
|
SetupRequired = "SetupRequired",
|
|
Running = "Running",
|
|
PartiallyInstalled = "PartiallyInstalled",
|
|
}
|
|
|
|
export type GameStatus = {
|
|
type: GameStatusEnum;
|
|
version_name?: string;
|
|
install_dir?: string;
|
|
};
|
|
|
|
export enum DownloadableType {
|
|
Game = "Game",
|
|
Tool = "Tool",
|
|
DLC = "DLC",
|
|
Mod = "Mod",
|
|
}
|
|
|
|
export type DownloadableMetadata = {
|
|
id: string;
|
|
version: string;
|
|
downloadType: DownloadableType;
|
|
};
|
|
|
|
export type Settings = {
|
|
autostart: boolean;
|
|
maxDownloadThreads: number;
|
|
forceOffline: boolean;
|
|
};
|