diff --git a/api/prisma/schema.prisma b/api/prisma/schema.prisma
index e0a1454..9f8043e 100644
--- a/api/prisma/schema.prisma
+++ b/api/prisma/schema.prisma
@@ -41,6 +41,7 @@ enum GameStatus {
PLAYING
COMPLETED
BACKLOG
+ RETIRED
}
model Book {
@@ -66,6 +67,7 @@ enum BookStatus {
READING
FINISHED
TO_READ
+ RETIRED
}
model Music {
@@ -98,6 +100,7 @@ enum MusicStatus {
LISTENING
COMPLETED
WANT_TO_LISTEN
+ RETIRED
}
model Art {
@@ -144,6 +147,7 @@ enum ShowStatus {
WATCHING
COMPLETED
WANT_TO_WATCH
+ RETIRED
}
model Manga {
@@ -169,6 +173,7 @@ enum MangaStatus {
READING
COMPLETED
WANT_TO_READ
+ RETIRED
}
model User {
diff --git a/apps/frontend/src/app/components/books/books-list.component.ts b/apps/frontend/src/app/components/books/books-list.component.ts
index abc6d0c..3bfaa06 100644
--- a/apps/frontend/src/app/components/books/books-list.component.ts
+++ b/apps/frontend/src/app/components/books/books-list.component.ts
@@ -79,6 +79,7 @@ import { Book, BookStatus, CreateBookDto, UpdateBookDto, Comment, SuggestionEnti
+
@@ -240,6 +241,7 @@ import { Book, BookStatus, CreateBookDto, UpdateBookDto, Comment, SuggestionEnti
+
@@ -510,6 +512,13 @@ import { Book, BookStatus, CreateBookDto, UpdateBookDto, Comment, SuggestionEnti
>
To Read ({{ toReadCount() }})
+
@if (loading()) {
@@ -1473,6 +1482,7 @@ export class BooksListComponent implements OnInit {
readingCount = computed(() => this.books().filter(book => book.status === BookStatus.reading).length);
finishedCount = computed(() => this.books().filter(book => book.status === BookStatus.finished).length);
toReadCount = computed(() => this.books().filter(book => book.status === BookStatus.toRead).length);
+ retiredCount = computed(() => this.books().filter(book => book.status === BookStatus.retired).length);
// Get all unique tags from all books
allTags = computed(() => {
@@ -1610,6 +1620,7 @@ export class BooksListComponent implements OnInit {
case BookStatus.reading: return 'Currently Reading';
case BookStatus.finished: return 'Finished';
case BookStatus.toRead: return 'To Read';
+ case BookStatus.retired: return 'Retired';
}
}
diff --git a/apps/frontend/src/app/components/games/games-list.component.ts b/apps/frontend/src/app/components/games/games-list.component.ts
index a02531d..4c6ee2b 100644
--- a/apps/frontend/src/app/components/games/games-list.component.ts
+++ b/apps/frontend/src/app/components/games/games-list.component.ts
@@ -67,6 +67,7 @@ import { Game, GameStatus, CreateGameDto, UpdateGameDto, Comment, SuggestionEnti
+
@@ -216,6 +217,7 @@ import { Game, GameStatus, CreateGameDto, UpdateGameDto, Comment, SuggestionEnti
+
@@ -472,6 +474,13 @@ import { Game, GameStatus, CreateGameDto, UpdateGameDto, Comment, SuggestionEnti
>
Backlog ({{ backlogCount() }})
+
@if (loading()) {
@@ -1278,6 +1287,7 @@ export class GamesListComponent implements OnInit {
playingCount = computed(() => this.games().filter(game => game.status === GameStatus.playing).length);
completedCount = computed(() => this.games().filter(game => game.status === GameStatus.completed).length);
backlogCount = computed(() => this.games().filter(game => game.status === GameStatus.backlog).length);
+ retiredCount = computed(() => this.games().filter(game => game.status === GameStatus.retired).length);
allTags = computed(() => {
const tagsSet = new Set();
@@ -1408,6 +1418,7 @@ export class GamesListComponent implements OnInit {
case GameStatus.playing: return 'Currently Playing';
case GameStatus.completed: return 'Completed';
case GameStatus.backlog: return 'In Backlog';
+ case GameStatus.retired: return 'Retired';
}
}
diff --git a/apps/frontend/src/app/components/manga/manga-list.component.ts b/apps/frontend/src/app/components/manga/manga-list.component.ts
index 9aa6a32..4030f30 100644
--- a/apps/frontend/src/app/components/manga/manga-list.component.ts
+++ b/apps/frontend/src/app/components/manga/manga-list.component.ts
@@ -68,6 +68,7 @@ import { Manga, MangaStatus, CreateMangaDto, UpdateMangaDto, Comment, Suggestion
+
@@ -218,6 +219,7 @@ import { Manga, MangaStatus, CreateMangaDto, UpdateMangaDto, Comment, Suggestion
+
@@ -475,6 +477,13 @@ import { Manga, MangaStatus, CreateMangaDto, UpdateMangaDto, Comment, Suggestion
>
Want to Read ({{ wantToReadCount() }})
+
@if (loading()) {
@@ -1285,6 +1294,7 @@ export class MangaListComponent implements OnInit {
readingCount = computed(() => this.mangaList().filter(m => m.status === MangaStatus.reading).length);
completedCount = computed(() => this.mangaList().filter(m => m.status === MangaStatus.completed).length);
wantToReadCount = computed(() => this.mangaList().filter(m => m.status === MangaStatus.wantToRead).length);
+ retiredCount = computed(() => this.mangaList().filter(m => m.status === MangaStatus.retired).length);
allTags = computed(() => {
const tagsSet = new Set();
@@ -1415,6 +1425,7 @@ export class MangaListComponent implements OnInit {
case MangaStatus.reading: return 'Currently Reading';
case MangaStatus.completed: return 'Completed';
case MangaStatus.wantToRead: return 'Want to Read';
+ case MangaStatus.retired: return 'Retired';
}
}
diff --git a/apps/frontend/src/app/components/music/music-list.component.ts b/apps/frontend/src/app/components/music/music-list.component.ts
index 8a8b8a1..a5ceeeb 100644
--- a/apps/frontend/src/app/components/music/music-list.component.ts
+++ b/apps/frontend/src/app/components/music/music-list.component.ts
@@ -77,6 +77,7 @@ import { Music, MusicStatus, MusicType, CreateMusicDto, UpdateMusicDto, Comment,
+
@@ -236,6 +237,7 @@ import { Music, MusicStatus, MusicType, CreateMusicDto, UpdateMusicDto, Comment,
+
@@ -536,6 +538,13 @@ import { Music, MusicStatus, MusicType, CreateMusicDto, UpdateMusicDto, Comment,
>
Want to Listen ({{ wantToListenCount() }})
+
@@ -1492,6 +1501,7 @@ export class MusicListComponent implements OnInit {
listeningCount = computed(() => this.music().filter(m => m.status === MusicStatus.listening).length);
completedCount = computed(() => this.music().filter(m => m.status === MusicStatus.completed).length);
wantToListenCount = computed(() => this.music().filter(m => m.status === MusicStatus.wantToListen).length);
+ retiredCount = computed(() => this.music().filter(m => m.status === MusicStatus.retired).length);
allTags = computed(() => {
const tagsSet = new Set();
@@ -1642,6 +1652,7 @@ export class MusicListComponent implements OnInit {
case MusicStatus.listening: return 'Currently Listening';
case MusicStatus.completed: return 'Completed';
case MusicStatus.wantToListen: return 'Want to Listen';
+ case MusicStatus.retired: return 'Retired';
}
}
diff --git a/apps/frontend/src/app/components/shows/shows-list.component.ts b/apps/frontend/src/app/components/shows/shows-list.component.ts
index d623fa5..1f6268e 100644
--- a/apps/frontend/src/app/components/shows/shows-list.component.ts
+++ b/apps/frontend/src/app/components/shows/shows-list.component.ts
@@ -66,6 +66,7 @@ import { Show, ShowStatus, ShowType, CreateShowDto, UpdateShowDto, Comment, Sugg
+
@@ -214,6 +215,7 @@ import { Show, ShowStatus, ShowType, CreateShowDto, UpdateShowDto, Comment, Sugg
+
@@ -469,6 +471,13 @@ import { Show, ShowStatus, ShowType, CreateShowDto, UpdateShowDto, Comment, Sugg
>
Want to Watch ({{ wantToWatchCount() }})
+
@if (loading()) {
@@ -1279,6 +1288,7 @@ export class ShowsListComponent implements OnInit {
watchingCount = computed(() => this.shows().filter(show => show.status === ShowStatus.watching).length);
completedCount = computed(() => this.shows().filter(show => show.status === ShowStatus.completed).length);
wantToWatchCount = computed(() => this.shows().filter(show => show.status === ShowStatus.wantToWatch).length);
+ retiredCount = computed(() => this.shows().filter(show => show.status === ShowStatus.retired).length);
allTags = computed(() => {
const tagsSet = new Set();
@@ -1409,6 +1419,7 @@ export class ShowsListComponent implements OnInit {
case ShowStatus.watching: return 'Currently Watching';
case ShowStatus.completed: return 'Completed';
case ShowStatus.wantToWatch: return 'Want to Watch';
+ case ShowStatus.retired: return 'Retired';
}
}
diff --git a/shared-types/src/lib/book.types.ts b/shared-types/src/lib/book.types.ts
index 6083926..87ddc26 100644
--- a/shared-types/src/lib/book.types.ts
+++ b/shared-types/src/lib/book.types.ts
@@ -10,6 +10,7 @@ enum BookStatus {
reading = "READING",
finished = "FINISHED",
toRead = "TO_READ",
+ retired = "RETIRED",
}
interface Book {
diff --git a/shared-types/src/lib/game.types.ts b/shared-types/src/lib/game.types.ts
index aa55e87..842f1d5 100644
--- a/shared-types/src/lib/game.types.ts
+++ b/shared-types/src/lib/game.types.ts
@@ -10,6 +10,7 @@ enum GameStatus {
playing = "PLAYING",
completed = "COMPLETED",
backlog = "BACKLOG",
+ retired = "RETIRED",
}
interface Game {
diff --git a/shared-types/src/lib/manga.types.ts b/shared-types/src/lib/manga.types.ts
index 2bbe6da..8173597 100644
--- a/shared-types/src/lib/manga.types.ts
+++ b/shared-types/src/lib/manga.types.ts
@@ -10,6 +10,7 @@ enum MangaStatus {
reading = "READING",
completed = "COMPLETED",
wantToRead = "WANT_TO_READ",
+ retired = "RETIRED",
}
interface Manga {
diff --git a/shared-types/src/lib/music.types.ts b/shared-types/src/lib/music.types.ts
index f6dd4bf..911210b 100644
--- a/shared-types/src/lib/music.types.ts
+++ b/shared-types/src/lib/music.types.ts
@@ -16,6 +16,7 @@ enum MusicStatus {
listening = "LISTENING",
completed = "COMPLETED",
wantToListen = "WANT_TO_LISTEN",
+ retired = "RETIRED",
}
interface Music {
diff --git a/shared-types/src/lib/show.types.ts b/shared-types/src/lib/show.types.ts
index 6cd91fa..6de3b94 100644
--- a/shared-types/src/lib/show.types.ts
+++ b/shared-types/src/lib/show.types.ts
@@ -17,6 +17,7 @@ enum ShowStatus {
watching = "WATCHING",
completed = "COMPLETED",
wantToWatch = "WANT_TO_WATCH",
+ retired = "RETIRED",
}
interface Show {