diff --git a/components/AddLibraryButton.vue b/components/AddLibraryButton.vue index 3b822f8..da86562 100644 --- a/components/AddLibraryButton.vue +++ b/components/AddLibraryButton.vue @@ -1,23 +1,34 @@ - + - Add to Library - + {{ isProcessing + ? 'Processing...' + : isInLibrary + ? 'Remove from Library' + : 'Add to Library' + }} + - - - - - - + + + + + + - - - - + + Collections + + No custom collections available + + + Account settings + {{ collection.name }} + + - - Support + - - - License - - - - - Sign out - - - + + Add to new collection + + @@ -90,6 +77,28 @@ diff --git a/components/CreateCollectionModal.vue b/components/CreateCollectionModal.vue new file mode 100644 index 0000000..bfbc8e8 --- /dev/null +++ b/components/CreateCollectionModal.vue @@ -0,0 +1,118 @@ + + + + + + + + + + + + + Create Collection + + + + + + + + Cancel + + + Create + + + + + + + + + + + diff --git a/components/DeleteCollectionModal.vue b/components/DeleteCollectionModal.vue new file mode 100644 index 0000000..41673a8 --- /dev/null +++ b/components/DeleteCollectionModal.vue @@ -0,0 +1,88 @@ + + + + + + + + + + + + + Delete Collection + + + + Are you sure you want to delete "{{ collection?.name }}"? This action cannot be undone. + + + + + Cancel + + + Delete + + + + + + + + + + + diff --git a/pages/library.vue b/pages/library.vue new file mode 100644 index 0000000..6539456 --- /dev/null +++ b/pages/library.vue @@ -0,0 +1,153 @@ + + + + + + + Your Library + + + + + + + + + + + + + + + {{ game.mName }} + + + + + + + + No games in library + + + + + + + + + + + + + + diff --git a/pages/library/collection/[id]/index.vue b/pages/library/collection/[id]/index.vue new file mode 100644 index 0000000..88c5bc6 --- /dev/null +++ b/pages/library/collection/[id]/index.vue @@ -0,0 +1,119 @@ + + + + + + + Back to Collections + + + + {{ collection?.name }} + + + {{ collection?.entries?.length || 0 }} games + + + + + + + + + + + + + + + + + {{ entry.game.mName }} + + + {{ entry.game.mShortDescription }} + + + + + + + + + + + + + + + + diff --git a/pages/library/game/[id]/index.vue b/pages/library/game/[id]/index.vue new file mode 100644 index 0000000..a28c2a0 --- /dev/null +++ b/pages/library/game/[id]/index.vue @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + Back to Collections + + + + + + + + {{ game.mName }} + + + {{ game.mShortDescription }} + + + + + Open in Launcher + + + + Add to Collection + + + + View in Store + + + + + + + + + + + + + + + + + + + + + + + + Add to Collection + + + + + {{ collection.name }} + + {{ collection._count?.entries || 0 }} games + + + + + + No collections available. Create one first! + + + + + + Close + + + + + + + + + + + + + diff --git a/pages/library/index.vue b/pages/library/index.vue new file mode 100644 index 0000000..a58343d --- /dev/null +++ b/pages/library/index.vue @@ -0,0 +1,620 @@ + + + + + + + Your Library + + + + + + + + + + + + + + + {{ game.mName }} + + + + + + + + No games in library + + + + + + + + + + + + + + + + + + + + + Back to Collections + + + + + + + + {{ selectedGame.mName }} + + + {{ selectedGame.mShortDescription }} + + + + + Open in Launcher + + + + Add to Collection + + + + View in Store + + + + + + + + + + + + + Back to Collections + + + + {{ selectedCollection.name }} + + + {{ selectedCollection.entries?.length || 0 }} games + + + + + + + + + + + + + + + + + {{ game.mName }} + + + {{ game.mShortDescription }} + + + + + + + + + + + + + + + Your Collections + + + Organize your games into collections for easy access. + + + + + + + + + + {{ collection.name }} + + + {{ collection._count?.entries || 0 }} games + + + + + + + + + + + + + + + + Create Collection + + + + Add a new collection to organize your games + + + + + + + + + + + + + + + + + + + + Create New Collection + + + + + + + Cancel + + + Create + + + + + + + + + + + + + + + + + + + + Delete Collection + + + + Are you sure you want to delete "{{ collectionToDelete?.name }}"? This action cannot be undone. + + + + + Cancel + + + Delete + + + + + + + + + + + + + + + + + + + + + + Add to Collection + + + + + {{ collection.name }} + + {{ collection._count?.entries || 0 }} games + + + + + + No collections available. Create one first! + + + + + + Close + + + + + + + + + + + + + diff --git a/pages/store/[id]/index.vue b/pages/store/[id]/index.vue index 37a76ee..2b4f91e 100644 --- a/pages/store/[id]/index.vue +++ b/pages/store/[id]/index.vue @@ -30,13 +30,18 @@ class="transition-all duration-300 hover:scale-105 hover:rotate-[-1deg] w-64 h-auto rounded" :src="useObject(game.mCoverId)" /> - - Add to Library - - + + + + + + + + +
+ Are you sure you want to delete "{{ collection?.name }}"? This action cannot be undone. +
+ {{ game.mName }} +
+ No games in library +
+ {{ collection?.entries?.length || 0 }} games +
+ {{ entry.game.mShortDescription }} +
+ {{ game.mShortDescription }} +
+ No collections available. Create one first! +
+ {{ selectedGame.mShortDescription }} +
+ {{ selectedCollection.entries?.length || 0 }} games +
+ Organize your games into collections for easy access. +
+ {{ collection._count?.entries || 0 }} games +
+ Add a new collection to organize your games +
+ Are you sure you want to delete "{{ collectionToDelete?.name }}"? This action cannot be undone. +