diff --git a/components/GameStatusButton.vue b/components/GameStatusButton.vue index d9722d2..3646850 100644 --- a/components/GameStatusButton.vue +++ b/components/GameStatusButton.vue @@ -12,7 +12,8 @@
@@ -25,10 +26,11 @@ class="absolute right-0 z-50 mt-2 w-32 origin-top-right rounded-md bg-zinc-900 shadow-lg ring-1 ring-zinc-100/5 focus:outline-none">
- +
@@ -63,14 +65,14 @@ const emit = defineEmits<{ const showDropdown = computed(() => props.status.type === GameStatusEnum.Installed || props.status.type === GameStatusEnum.SetupRequired); const styles: { [key in GameStatusEnum]: string } = { - [GameStatusEnum.Remote]: "bg-blue-600 text-white hover:bg-blue-500 focus-visible:outline-blue-600", - [GameStatusEnum.Queued]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700", - [GameStatusEnum.Downloading]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700", - [GameStatusEnum.SetupRequired]: "bg-yellow-600 text-white hover:bg-yellow-500 focus-visible:outline-yellow-600", - [GameStatusEnum.Installed]: "bg-green-600 text-white hover:bg-green-500 focus-visible:outline-green-600", - [GameStatusEnum.Updating]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700", - [GameStatusEnum.Uninstalling]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700", - [GameStatusEnum.Running]: "bg-zinc-800 text-white focus-visible:outline-zinc-700" + [GameStatusEnum.Remote]: "bg-blue-600 text-white hover:bg-blue-500 focus-visible:outline-blue-600 hover:bg-blue-500", + [GameStatusEnum.Queued]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700 hover:bg-zinc-700", + [GameStatusEnum.Downloading]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700 hover:bg-zinc-700", + [GameStatusEnum.SetupRequired]: "bg-yellow-600 text-white hover:bg-yellow-500 focus-visible:outline-yellow-600 hover:bg-yellow-500", + [GameStatusEnum.Installed]: "bg-green-600 text-white hover:bg-green-500 focus-visible:outline-green-600 hover:bg-green-500", + [GameStatusEnum.Updating]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700 hover:bg-zinc-700", + [GameStatusEnum.Uninstalling]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700 hover:bg-zinc-700", + [GameStatusEnum.Running]: "bg-zinc-800 text-white hover:bg-zinc-700 focus-visible:outline-zinc-700 hover:bg-zinc-700" }; const buttonNames: { [key in GameStatusEnum]: string } = { diff --git a/components/LibrarySearch.vue b/components/LibrarySearch.vue new file mode 100644 index 0000000..a73542e --- /dev/null +++ b/components/LibrarySearch.vue @@ -0,0 +1,166 @@ + + + + + \ No newline at end of file diff --git a/pages/library.vue b/pages/library.vue index 6c8f6d3..4524345 100644 --- a/pages/library.vue +++ b/pages/library.vue @@ -1,23 +1,10 @@ -const rawGames: Ref = ref([]) - -async function calculateGames() { - try { - rawGames.value = await invoke("fetch_library"); - for (const game of rawGames.value) { - if (games[game.id]) continue; - games[game.id] = await useGame(game.id); - } - for (const game of rawGames.value) { - if (icons[game.id]) continue; - icons[game.id] = await useObject(game.mIconId); - } - } - catch (e) { - console.log(e) - libraryDownloadError = true; - return new Array(); - } + diff --git a/pages/library/[id]/index.vue b/pages/library/[id]/index.vue index 539ec61..4d094ae 100644 --- a/pages/library/[id]/index.vue +++ b/pages/library/[id]/index.vue @@ -1,41 +1,169 @@ + + +
+
+ + + + + + + + + +
+

+ {{ currentImageIndex + 1 }} / {{ mediaUrls.length }} +

+
+
+
+
+ + diff --git a/pages/library/index.vue b/pages/library/index.vue index dd245b6..e95d9dc 100644 --- a/pages/library/index.vue +++ b/pages/library/index.vue @@ -1,9 +1,24 @@ - \ No newline at end of file +
+
+
+
+ +
+
+

Select a game

+

Choose a game from your library to view details

+
+
+
+
+ + \ No newline at end of file diff --git a/src-tauri/src/games/library.rs b/src-tauri/src/games/library.rs index 1be4a1e..bfb4445 100644 --- a/src-tauri/src/games/library.rs +++ b/src-tauri/src/games/library.rs @@ -37,6 +37,7 @@ pub struct Game { m_banner_id: String, m_cover_id: String, m_image_library: Vec, + m_image_carousel: Vec, } #[derive(serde::Serialize, Clone)] pub struct GameUpdateEvent { diff --git a/types.ts b/types.ts index e796234..e31cb4d 100644 --- a/types.ts +++ b/types.ts @@ -34,6 +34,7 @@ export type Game = { mBannerId: string; mCoverId: string; mImageLibrary: string[]; + mImageCarousel: string[]; }; export enum AppStatus {