Imeplements multi selector for library type for Emby/Jellyfin. Allows for multiselect using array style notation in yaml. Also updated docs to reflect change Fixes #681

This commit is contained in:
cmatute7712 2024-06-01 12:54:12 -07:00
parent e23868c594
commit fbc7890247
2 changed files with 30 additions and 9 deletions

View File

@ -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

View File

@ -42,13 +42,32 @@ export default {
}),
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() {