1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

apply suggestions

This commit is contained in:
grafixeyehero 2022-01-22 19:20:09 +03:00
parent f5b69e0de3
commit 76f9b9c929
4 changed files with 20 additions and 14 deletions

View file

@ -12,7 +12,7 @@ const createButtonElement = ({tag}) => ({
});
type IProps = {
tag: any;
tag?: string;
}
const BlockedTagList: FunctionComponent<IProps> = ({tag}: IProps) => {

View file

@ -4,30 +4,31 @@ type IProps = {
className?: string;
Name?: string;
Id?: string;
ItemType?: string;
AppName?: string;
checkedAttribute?: string;
}
const createCheckBoxElement = ({className, Name, Id, AppName, checkedAttribute}) => ({
const createCheckBoxElement = ({className, Name, dataAttributes, AppName, checkedAttribute}) => ({
__html: `<label>
<input
type="checkbox"
is="emby-checkbox"
class="${className}"
data-id="${Id}" ${checkedAttribute}
${dataAttributes} ${checkedAttribute}
/>
<span>${Name} ${AppName}</span>
</label>`
});
const CheckBoxListItem: FunctionComponent<IProps> = ({className, Name, Id, AppName, checkedAttribute}: IProps) => {
const CheckBoxListItem: FunctionComponent<IProps> = ({className, Name, Id, ItemType, AppName, checkedAttribute}: IProps) => {
return (
<div
className='sectioncheckbox'
dangerouslySetInnerHTML={createCheckBoxElement({
className: className,
Name: Name,
Id: Id,
dataAttributes: ItemType ? `data-itemtype='${ItemType}'` : `data-id='${Id}'`,
AppName: AppName ? `- ${AppName}` : '',
checkedAttribute: checkedAttribute
})}

View file

@ -12,16 +12,21 @@ const createSelectElement = ({ className, label, option }) => ({
</select>`
});
type RatingsArr = {
Name: string;
Value: number;
}
type IProps = {
className?: string;
label?: string;
parentalRatings: any
parentalRatings: RatingsArr[];
}
const SelectMaxParentalRating: FunctionComponent<IProps> = ({ className, label, parentalRatings }: IProps) => {
const renderOption = ratings => {
const renderOption = () => {
let content = '';
for (const rating of ratings) {
for (const rating of parentalRatings) {
content += `<option value='${rating.Value}'>${rating.Name}</option>`;
}
return content;
@ -32,7 +37,7 @@ const SelectMaxParentalRating: FunctionComponent<IProps> = ({ className, label,
dangerouslySetInnerHTML={createSelectElement({
className: className,
label: globalize.translate(label),
option: renderOption(parentalRatings)
option: renderOption()
})}
/>
);

View file

@ -13,9 +13,9 @@ import SectionTabs from '../dashboard/users/SectionTabs';
import loading from '../loading/loading';
import toast from '../toast/toast';
type Ratings = {
type RatingsArr = {
Name: string;
Value: string;
Value: number;
}
type ItemsArr = {
@ -35,7 +35,7 @@ const UserParentalControl: FunctionComponent = () => {
const populateRatings = useCallback((allParentalRatings) => {
let rating;
const ratings: Ratings[] = [];
const ratings: RatingsArr[] = [];
for (let i = 0, length = allParentalRatings.length; i < length; i++) {
rating = allParentalRatings[i];
@ -186,7 +186,7 @@ const UserParentalControl: FunctionComponent = () => {
user.Policy.BlockUnratedItems = Array.prototype.filter.call(element?.current?.querySelectorAll('.chkUnratedItem'), function (i) {
return i.checked;
}).map(function (i) {
return i.getAttribute('data-id');
return i.getAttribute('data-itemtype');
});
user.Policy.AccessSchedules = getSchedulesFromPage();
user.Policy.BlockedTags = getBlockedTagsFromPage();
@ -303,7 +303,7 @@ const UserParentalControl: FunctionComponent = () => {
return <CheckBoxListItem
key={Item.value}
className='chkUnratedItem'
Id={Item.value}
ItemType={Item.value}
Name={Item.name}
checkedAttribute={Item.checkedAttribute}
/>;