merch delete method
This commit is contained in:
parent
402db5e9ca
commit
57a4820de2
1 changed files with 41 additions and 3 deletions
|
|
@ -1,6 +1,10 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { apiClient } from '@/services/apiClient.js'
|
import { apiClient } from '@/services/apiClient.js'
|
||||||
|
import { useMerchApi } from '@/api/merch.js'
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
|
import router from '@/router/index.js'
|
||||||
|
|
||||||
|
const { deleteMerch } = useMerchApi()
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
merch_uuid: {
|
merch_uuid: {
|
||||||
|
|
@ -16,8 +20,10 @@ const error = ref(null)
|
||||||
const fetchMerch = async () => {
|
const fetchMerch = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await apiClient.get(`/merch/${props.merch_uuid}`)
|
const response = await apiClient.get(`/merch/${props.merch_uuid}`)
|
||||||
if (!response.ok) throw new Error('Network response was not ok')
|
if (!response.status === 200) throw new Error('Network response was not ok')
|
||||||
merchDetails.value = response.data
|
merchDetails.value = response.data
|
||||||
|
|
||||||
|
if (!response.status === 400) router.push({ name: "collection" })
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
error.value = err.message
|
error.value = err.message
|
||||||
} finally {
|
} finally {
|
||||||
|
|
@ -28,6 +34,24 @@ const fetchMerch = async () => {
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetchMerch()
|
fetchMerch()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const showModal = ref(false)
|
||||||
|
const onDelete = () => {
|
||||||
|
showModal.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
const confirmDelete = async () => {
|
||||||
|
try {
|
||||||
|
const response = await deleteMerch(props.merch_uuid)
|
||||||
|
if (!response.status === 200) throw new Error('Network response was not ok')
|
||||||
|
if (!response.status === 400) router.push({ name: "collection" })
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
}
|
||||||
|
showModal.value = false
|
||||||
|
router.push({ name: "collection" })
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -46,9 +70,23 @@ onMounted(() => {
|
||||||
<p><strong>Link</strong> {{ merchDetails.origin_mandarake.link }}</p>
|
<p><strong>Link</strong> {{ merchDetails.origin_mandarake.link }}</p>
|
||||||
</n-card>
|
</n-card>
|
||||||
<div v-else>Not found</div>
|
<div v-else>Not found</div>
|
||||||
|
|
||||||
|
<div class="center-button-container">
|
||||||
|
<n-button type="error" class="center-button" @click="onDelete">Delete</n-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<n-modal v-model:show="showModal" preset="dialog" title="Confirmation">
|
||||||
|
<template #default>
|
||||||
|
<p>Confirm delete</p>
|
||||||
|
</template>
|
||||||
|
<template #action>
|
||||||
|
<n-button @click="confirmDelete" type="error">Ok</n-button>
|
||||||
|
<n-button @click="showModal = false">Cancel</n-button>
|
||||||
|
</template>
|
||||||
|
</n-modal>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* Добавь стили по желанию */
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue