diff --git a/classes/core/settings.js b/classes/core/settings.js index fd9a717..f62736f 100644 --- a/classes/core/settings.js +++ b/classes/core/settings.js @@ -72,6 +72,8 @@ class Settings { this.enableTrivia = DEFAULT_SETTINGS.enableTrivia; this.triviaNumber = DEFAULT_SETTINGS.triviaNumber; this.triviaFrequency = DEFAULT_SETTINGS.triviaFrequency; + this.pinNS = DEFAULT_SETTINGS.pinNS; + this.hideUser = DEFAULT_SETTINGS.hideUser; return; } @@ -271,6 +273,8 @@ class Settings { else this.genres = cs.genres; if (jsonObject.pinNSSwitch) this.pinNS = jsonObject.pinNSSwitch; else this.pinNS = cs.pinNS; + if (jsonObject.hideUser) this.hideUser = jsonObject.hideUser; + else this.hideUser = cs.hideUser; if (jsonObject.titleFont) this.custBrand = jsonObject.titleFont; else this.custBrand = cs.custBrand; if (jsonObject.nowScreening) this.nowScreening = jsonObject.nowScreening; diff --git a/classes/mediaservers/plex.js b/classes/mediaservers/plex.js index ae009bb..b20facf 100644 --- a/classes/mediaservers/plex.js +++ b/classes/mediaservers/plex.js @@ -58,7 +58,7 @@ class Plex { * @desc Gets now screening cards * @returns {object} mediaCard[] - Returns an array of mediaCards */ - async GetNowScreening(playThemes, playGenenericThemes, hasArt, filterRemote, filterLocal, filterDevices, filterUsers) { + async GetNowScreening(playThemes, playGenenericThemes, hasArt, filterRemote, filterLocal, filterDevices, filterUsers, hideUser) { // get raw data first let nsCards = []; let nsRaw; @@ -358,8 +358,11 @@ class Plex { // populate common data medCard.mediaType = md.type; - medCard.user = md.User.title; - medCard.device = md.Player.device; + //hide identifiable info if set + if(hideUser !== "true") { + medCard.user = md.User.title; + medCard.device = md.Player.device; + } medCard.runTime = Math.round(md.Media[0].duration / 60000); medCard.progress = Math.round(md.viewOffset / 60000); diff --git a/consts.js b/consts.js index 2cff7d0..ee3af5c 100644 --- a/consts.js +++ b/consts.js @@ -11,6 +11,7 @@ const DEFAULT_SETTINGS = { plexPort : 32400, plexToken : "", pinNS : "false", + hideUser: "false", onDemandLibraries : "", numberOnDemand : 2, onDemandRefresh : 30, diff --git a/index.js b/index.js index 701f32d..63c0101 100644 --- a/index.js +++ b/index.js @@ -438,7 +438,8 @@ async function loadNowScreening() { loadedSettings.filterRemote, loadedSettings.filterLocal, loadedSettings.filterDevices, - loadedSettings.filterUsers + loadedSettings.filterUsers, + loadedSettings.hideUser ); // restore defaults if plex now available after an error if (isPlexUnavailable) { @@ -1493,6 +1494,7 @@ app.post( plexPort: req.body.plexPort ? parseInt(req.body.plexPort) : DEFAULT_SETTINGS.plexPort, plexLibraries: req.body.plexLibraries, pinNSSwitch: req.body.pinNSSwitch, + hideUser: req.body.hideUser, numberOnDemand: !isNaN(parseInt(req.body.numberOnDemand)) ? parseInt(req.body.numberOnDemand) : DEFAULT_SETTINGS.numberOnDemand, onDemandRefresh: parseInt(req.body.onDemandRefresh) ? parseInt(req.body.onDemandRefresh) : DEFAULT_SETTINGS.onDemandRefresh, genres: req.body.genres, diff --git a/myviews/settings.ejs b/myviews/settings.ejs index 760259f..5eca942 100644 --- a/myviews/settings.ejs +++ b/myviews/settings.ejs @@ -642,6 +642,15 @@ +
+
+ <%=formData.hideUser ? 'checked' : '' %><%}else{%><%=(settings.hideUser == 'true') ? 'checked' : '' %><%}%>> + + Hides user information being displayed at bottom of slide +
+
+