mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
61 lines
1.6 KiB
TypeScript
61 lines
1.6 KiB
TypeScript
![]() |
import React, { FunctionComponent } from 'react';
|
||
|
import datetime from '../../../scripts/datetime';
|
||
|
import globalize from '../../../scripts/globalize';
|
||
|
|
||
|
const createButtonElement = ({index}) => ({
|
||
|
__html: `<button
|
||
|
type='button'
|
||
|
is='paper-icon-button-light'
|
||
|
class='btnDelete listItemButton'
|
||
|
data-index='${index}'
|
||
|
>
|
||
|
<span class='material-icons delete' />
|
||
|
</button>`
|
||
|
});
|
||
|
|
||
|
type IProps = {
|
||
|
index: number;
|
||
|
Id: number;
|
||
|
DayOfWeek?: string;
|
||
|
StartHour?: number ;
|
||
|
EndHour?: number;
|
||
|
}
|
||
|
|
||
|
function getDisplayTime(hours) {
|
||
|
let minutes = 0;
|
||
|
const pct = hours % 1;
|
||
|
|
||
|
if (pct) {
|
||
|
minutes = Math.floor(60 * pct);
|
||
|
}
|
||
|
|
||
|
return datetime.getDisplayTime(new Date(2000, 1, 1, hours, minutes, 0, 0));
|
||
|
}
|
||
|
|
||
|
const AccessScheduleList: FunctionComponent<IProps> = ({index, DayOfWeek, StartHour, EndHour}: IProps) => {
|
||
|
return (
|
||
|
<div
|
||
|
className='liSchedule listItem'
|
||
|
data-day={ DayOfWeek}
|
||
|
data-start={ StartHour}
|
||
|
data-end={ EndHour}
|
||
|
>
|
||
|
<div className='listItemBody two-line'>
|
||
|
<h3 className='listItemBodyText'>
|
||
|
{globalize.translate(DayOfWeek)}
|
||
|
</h3>
|
||
|
<div className='listItemBodyText secondary'>
|
||
|
{getDisplayTime(StartHour) + ' - ' + getDisplayTime(EndHour)}
|
||
|
</div>
|
||
|
</div>
|
||
|
<div
|
||
|
dangerouslySetInnerHTML={createButtonElement({
|
||
|
index: index
|
||
|
})}
|
||
|
/>
|
||
|
</div>
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export default AccessScheduleList;
|