Skip to content

Commit

Permalink
Imeplements multi selector for library type for Emby/Jellyfin. Allows…
Browse files Browse the repository at this point in the history
… for multiselect using array style notation in yaml. Also updated docs to reflect change Fixes bastienwirtz#681
  • Loading branch information
cmatute7712 committed Jun 1, 2024
1 parent e23868c commit fbc7890
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
4 changes: 3 additions & 1 deletion docs/customservices.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,9 @@ You need to set the type to Emby, provide an api key and choose which stats to s
url: "http://192.168.0.151/"
type: "Emby"
apikey: "<---insert-api-key-here--->"
libraryType: "music" #Choose which stats to show. Can be one of: music, series or movies.
libraryType: #Choose which stats to show. Can be of value: "music", "series" or "movies".
- "music"
- "movies"
```

## Uptime Kuma
Expand Down
35 changes: 27 additions & 8 deletions src/components/services/Emby.vue
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,34 @@ export default {
seriesCount: 0,
episodeCount: 0,
}),
computed: {
computed: {
embyCount: function () {
if (this.item.libraryType === "music")
return `${this.songCount} songs, ${this.albumCount} albums`;
else if (this.item.libraryType === "movies")
return `${this.movieCount} movies`;
else if (this.item.libraryType === "series")
return `${this.episodeCount} eps, ${this.seriesCount} series`;
else return `wrong library type 💀`;
const libraryType = this.item.libraryType;
const counts = [];
libraryType.forEach((type, index) => {
if (type === "music") {
counts.push(`${this.songCount} songs`);
counts.push(`${this.albumCount} albums`);
} else if (type === "movies") {
counts.push(`${this.movieCount} movies`);
} else if (type === "series") {
counts.push(`${this.episodeCount} episodes`);
counts.push(`${this.seriesCount} series`);
} else {
return `wrong library type 💀`;
}
});
const allowedParams = this.item.embyCountParams || "";
const params = allowedParams.split(",").map((param) => param.trim());
const filteredCounts = counts.filter((count, index) => {
const countType = count.split(" ")[1];
return params.some((param) => countType.includes(param));
});
return filteredCounts.join(", ");
},
},
created() {
Expand Down

0 comments on commit fbc7890

Please sign in to comment.