From 9e4e3b01069e23bd5763409c53aeccb62ad248c4 Mon Sep 17 00:00:00 2001 From: viown <48097677+viown@users.noreply.github.com> Date: Wed, 27 Nov 2024 16:50:41 +0300 Subject: [PATCH 1/2] Fix maximum allowed parental rating not showing up --- .../routes/users/parentalcontrol.tsx | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index 20e338b603..539e813d6a 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -65,6 +65,7 @@ const UserParentalControl = () => { const [ userName, setUserName ] = useState(''); const [ parentalRatings, setParentalRatings ] = useState([]); const [ unratedItems, setUnratedItems ] = useState([]); + const [ maxParentalRating, setMaxParentalRating ] = useState(); const [ accessSchedules, setAccessSchedules ] = useState([]); const [ allowedTags, setAllowedTags ] = useState([]); const [ blockedTags, setBlockedTags ] = useState([]); @@ -163,15 +164,15 @@ const UserParentalControl = () => { populateRatings(allParentalRatings); let ratingValue = ''; - if (user.Policy?.MaxParentalRating) { + if (user.Policy?.MaxParentalRating != null) { allParentalRatings.forEach(rating => { - if (rating.Value && user.Policy?.MaxParentalRating && user.Policy.MaxParentalRating >= rating.Value) { + if (rating.Value != null && user.Policy?.MaxParentalRating != null && user.Policy.MaxParentalRating >= rating.Value) { ratingValue = `${rating.Value}`; } }); } - (page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value = String(ratingValue); + setMaxParentalRating(ratingValue); if (user.Policy?.IsAdministrator) { (page.querySelector('.accessScheduleSection') as HTMLDivElement).classList.add('hide'); @@ -329,11 +330,24 @@ const UserParentalControl = () => { }; }, [setAllowedTags, setBlockedTags, loadData, userId]); + useEffect(() => { + const page = element.current; + + if (!page) { + console.error('[userparentalcontrol] Unexpected null page reference'); + return; + } + + (page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value = String(maxParentalRating); + }, [maxParentalRating, parentalRatings]); + const optionMaxParentalRating = () => { let content = ''; content += ''; for (const rating of parentalRatings) { - content += ``; + if (rating.Value != null) { + content += ``; + } } return content; }; From 63834e164aae447bb41ecde992edab6a1b91cc59 Mon Sep 17 00:00:00 2001 From: viown <48097677+viown@users.noreply.github.com> Date: Thu, 28 Nov 2024 22:48:26 +0300 Subject: [PATCH 2/2] Remove redundant check --- src/apps/dashboard/routes/users/parentalcontrol.tsx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index 539e813d6a..73abd265c0 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -164,13 +164,11 @@ const UserParentalControl = () => { populateRatings(allParentalRatings); let ratingValue = ''; - if (user.Policy?.MaxParentalRating != null) { - allParentalRatings.forEach(rating => { - if (rating.Value != null && user.Policy?.MaxParentalRating != null && user.Policy.MaxParentalRating >= rating.Value) { - ratingValue = `${rating.Value}`; - } - }); - } + allParentalRatings.forEach(rating => { + if (rating.Value != null && user.Policy?.MaxParentalRating != null && user.Policy.MaxParentalRating >= rating.Value) { + ratingValue = `${rating.Value}`; + } + }); setMaxParentalRating(ratingValue);