mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Add detail view buttons
This commit is contained in:
parent
f7fcf44f94
commit
690b1fbed5
11 changed files with 692 additions and 4 deletions
|
@ -0,0 +1,66 @@
|
|||
import React, { FC, useCallback } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { IconButton } from '@mui/material';
|
||||
import DeleteIcon from '@mui/icons-material/Delete';
|
||||
|
||||
import { useCancelSeriesTimer } from 'hooks/api/liveTvHooks';
|
||||
import globalize from 'lib/globalize';
|
||||
import loading from 'components/loading/loading';
|
||||
import toast from 'components/toast/toast';
|
||||
import confirm from 'components/confirm/confirm';
|
||||
|
||||
interface CancelSeriesTimerButtonProps {
|
||||
itemId: string;
|
||||
}
|
||||
|
||||
const CancelSeriesTimerButton: FC<CancelSeriesTimerButtonProps> = ({
|
||||
itemId
|
||||
}) => {
|
||||
const navigate = useNavigate();
|
||||
const cancelSeriesTimer = useCancelSeriesTimer();
|
||||
|
||||
const onCancelSeriesTimerClick = useCallback(() => {
|
||||
confirm({
|
||||
text: globalize.translate('MessageConfirmRecordingCancellation'),
|
||||
primary: 'delete',
|
||||
confirmText: globalize.translate('HeaderCancelSeries'),
|
||||
cancelText: globalize.translate('HeaderKeepSeries')
|
||||
})
|
||||
.then(function () {
|
||||
loading.show();
|
||||
cancelSeriesTimer.mutate(
|
||||
{
|
||||
timerId: itemId
|
||||
},
|
||||
{
|
||||
onSuccess: async () => {
|
||||
toast(globalize.translate('SeriesCancelled'));
|
||||
loading.hide();
|
||||
navigate('/livetv.html');
|
||||
},
|
||||
onError: (err: unknown) => {
|
||||
console.error(
|
||||
'[cancelSeriesTimer] failed to cancel series timer',
|
||||
err
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
})
|
||||
.catch(() => {
|
||||
// confirm dialog closed
|
||||
});
|
||||
}, [cancelSeriesTimer, navigate, itemId]);
|
||||
|
||||
return (
|
||||
<IconButton
|
||||
className='button-flat btnCancelSeriesTimer'
|
||||
title={globalize.translate('CancelSeries')}
|
||||
onClick={onCancelSeriesTimerClick}
|
||||
>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
);
|
||||
};
|
||||
|
||||
export default CancelSeriesTimerButton;
|
Loading…
Add table
Add a link
Reference in a new issue