1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/components/dashboard/users/SelectMaxParentalRating.tsx

48 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-01-30 00:27:26 +03:00
import escapeHtml from 'escape-html';
import React, { FunctionComponent } from 'react';
import globalize from '../../../scripts/globalize';
2022-02-18 14:27:39 +03:00
const createSelectElement = ({ className, label, option }: { className?: string, label: string, option: string }) => ({
__html: `<select
class="${className}"
is="emby-select"
label="${label}"
>
<option value=''></option>
${option}
</select>`
});
2022-01-22 19:20:09 +03:00
type RatingsArr = {
Name: string;
Value: number;
}
type IProps = {
className?: string;
label?: string;
2022-01-22 19:20:09 +03:00
parentalRatings: RatingsArr[];
}
const SelectMaxParentalRating: FunctionComponent<IProps> = ({ className, label, parentalRatings }: IProps) => {
2022-01-22 19:20:09 +03:00
const renderOption = () => {
let content = '';
2022-01-22 19:20:09 +03:00
for (const rating of parentalRatings) {
2022-01-30 00:27:26 +03:00
content += `<option value='${rating.Value}'>${escapeHtml(rating.Name)}</option>`;
}
return content;
};
return (
<div
dangerouslySetInnerHTML={createSelectElement({
className: className,
label: globalize.translate(label),
2022-01-22 19:20:09 +03:00
option: renderOption()
})}
/>
);
};
export default SelectMaxParentalRating;