diff --git a/src/views/contents/ContentCard.vue b/src/views/contents/ContentCard.vue index c3a3665..71e03a9 100644 --- a/src/views/contents/ContentCard.vue +++ b/src/views/contents/ContentCard.vue @@ -112,6 +112,7 @@ import PostMessage from "@/views/messages/PostMessage.vue"; import DonationButton from "@/views/creators/DonationButton.vue"; import YoutubePlayer from './YoutubePlayer.vue'; import ImageViewer from './ImageViewer.vue'; +import {useClient} from "@/plugins/api.js"; const props = defineProps({ content: { @@ -120,6 +121,9 @@ const props = defineProps({ } }); +const emits = defineEmits(['content:deleted']) + +const contentId = computed(() => props.content.id) const creatorId = computed(() => props.content.createdBy) const creatorName = computed(() => props.content.createdByName) const creatorLogo = computed(() => props.content.createdByPortraitUrl) @@ -160,8 +164,12 @@ function editContent() { console.log('Modifier le contenu'); } -function deleteContent() { - console.log('Effacer le contenu'); +async function deleteContent() { + const client = useClient() + const response = await client.delete(`/api/contents/${contentId.value}`) + if (response.status >= 200 && response.status < 300){ + emits('content:deleted', contentId.value) + } } function reportContent() { diff --git a/src/views/contents/ContentList.vue b/src/views/contents/ContentList.vue index 71132f5..d282efb 100644 --- a/src/views/contents/ContentList.vue +++ b/src/views/contents/ContentList.vue @@ -6,6 +6,7 @@ @@ -40,6 +41,10 @@ const page_size = 10 const errorMessage = ref() let last_id = null +async function onContentDeleted(contentId) { + contents.value = contents.value.filter(c => c.id !== contentId) +} + const creatorIdWatcher = watch( () => props.creatorId, (newCreatorId) => {