Skip to content
Extraits de code Groupes Projets
Valider ca0a15e8 rédigé par oussama aftys's avatar oussama aftys
Parcourir les fichiers

added live delete feature

parent a724c401
Branches
1 requête de fusion!143Update 2 files
......@@ -47,6 +47,22 @@ export async function editLive(liveId: string, data: any) {
}
}
export async function deleteLive(liveId: string) {
await axiosInstance.delete(`${endpoints.live.stream}/${liveId}`);
mutate(
[endpoints.live.stream],
(lives: ILiveItem[] = []) => {
const index = lives.findIndex((live) => live.id === liveId);
if (index > -1) {
lives.splice(index, 1);
}
return [...lives];
},
true
);
}
export function useGetLives() {
const URL = [endpoints.live.stream];
......
......@@ -26,7 +26,7 @@ export default function ConfirmDialog({
{action}
<Button variant="outlined" color="inherit" onClick={onClose}>
Cancel
Annuler
</Button>
</DialogActions>
</Dialog>
......
......@@ -8,6 +8,7 @@ import Checkbox from '@mui/material/Checkbox';
import TableCell from '@mui/material/TableCell';
import IconButton from '@mui/material/IconButton';
import ListItemText from '@mui/material/ListItemText';
import { ConfirmDialog } from "@/shared/components/custom-dialog";
import { useBoolean } from '@/hooks';
import { fDate, fTime } from '@/utils/format-time';
......@@ -16,6 +17,7 @@ import Label from '@/shared/components/label';
import Iconify from '@/shared/components/iconify';
import CustomPopover, { usePopover } from '@/shared/components/custom-popover';
import { ILiveItem, LiveStatus } from '@/shared/types/live';
import { deleteLive } from '@/shared/api/live';
type Props = {
......@@ -37,6 +39,12 @@ export default function LiveTableRow({
const { title, description, startDate, status, image } = row;
const popover = usePopover();
const openDetails = useBoolean();
const deleteConfirm = useBoolean();
const handleDelete = async () => {
await deleteLive(row.id);
deleteConfirm.onFalse();
}
......@@ -139,7 +147,7 @@ export default function LiveTableRow({
}}
>
<Iconify icon="gg:details-more"/>
<Iconify icon="gg:details-more" />
détails
</MenuItem>
<MenuItem
......@@ -153,7 +161,7 @@ export default function LiveTableRow({
<Iconify icon="solar:pen-bold" />
Modifier
</MenuItem>
{row.status!= LiveStatus.COMING && <MenuItem
{row.status != LiveStatus.COMING && <MenuItem
onClick={() => {
onViewStats();
popover.onClose();
......@@ -164,7 +172,7 @@ export default function LiveTableRow({
Stats
</MenuItem>}
{row.status==LiveStatus.REVIEW && <MenuItem
{row.status == LiveStatus.REVIEW && <MenuItem
onClick={() => {
onViewStats();
popover.onClose();
......@@ -174,7 +182,28 @@ export default function LiveTableRow({
<Iconify icon="icomoon-free:stats-bars" />
publier
</MenuItem>}
<MenuItem
onClick={() => {
popover.onClose();
deleteConfirm.onTrue();
}}
style={{ outline: 'none', color: 'red' }}
>
<Iconify icon="ic:round-delete" />
Supprimer
</MenuItem>
</CustomPopover>
<ConfirmDialog
open={deleteConfirm.value}
onClose={deleteConfirm.onFalse}
title="Supprimer"
content="Voulez-vous vraiment supprimer ce live?"
action={
<Button variant="contained" color="error" onClick={handleDelete}>
Supprimer
</Button>
}
/>
</>
);
}
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter