96 lines
3.2 KiB
Vue
96 lines
3.2 KiB
Vue
<template>
|
|
<div @click.stop="" class="mt-3 rounded-md bg-indigo-300 p-4"
|
|
v-if="disabled === 0 && is_paid && $page.props.auth.user.id !== user_id">
|
|
<div v-if="bought == 0" class="flex items-center justify-center">
|
|
<div class="mr-5 mb-2 md:mb-0 font-bold text-center md:text-left w-full md:w-auto">
|
|
Цена: {{price}}
|
|
</div>
|
|
<div>
|
|
<button @click="purchaseFeed" type="button" class="my-1 transition shadow-none hover:shadow-classic2 inline-flex items-center px-8 py-1 md:py-3 justify-center text-sm md:text-base rounded-md text-white bg-pink focus:outline-none">
|
|
Купить
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div v-else class="flex flex-wrap items-center justify-center">
|
|
<div class="mr-5 mb-2 md:mb-0 font-bold text-center md:text-left w-full md:w-auto">
|
|
Данный товар вами куплен
|
|
</div>
|
|
|
|
<button v-if="disable_btn == 0 && paid_open == 0" @click="replaceFeed" type="button" class="my-1 mx-1 transition shadow-none hover:shadow-classic2 inline-flex items-center px-8 py-1 md:py-3 justify-center text-sm md:text-base rounded-md text-white bg-orange focus:outline-none">
|
|
Показать
|
|
</button>
|
|
|
|
|
|
<inertia-link :href="route('setting.show.purchases', feed_id)" class="my-1 mx-1 transition shadow-none hover:shadow-classic2 inline-flex items-center px-8 py-1 md:py-3 justify-center text-sm md:text-base rounded-md text-white bg-pink focus:outline-none">
|
|
Скачать
|
|
</inertia-link>
|
|
|
|
</div>
|
|
</div>
|
|
<div @click.stop="" v-else-if="is_paid && $page.props.auth.user.id === user_id" class="p-4 text-center">
|
|
<button v-if="paid_open === 0" @click="replaceFeed" type="button" class="my-1 mx-1 transition shadow-none hover:shadow-classic2 inline-flex items-center px-8 py-1 md:py-2 justify-center text-sm rounded-md text-white bg-orange focus:outline-none">
|
|
Показать платный контент
|
|
</button>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
import axios from "axios";
|
|
export default {
|
|
components: {},
|
|
emits: ["onReplaceFeed"],
|
|
props: {
|
|
user_id: Number,
|
|
is_paid: Boolean,
|
|
feed_id: Number,
|
|
price: String,
|
|
paid_open: {
|
|
type: Number,
|
|
default: 0,
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
bought: 0,
|
|
disable_btn: 0,
|
|
disabled: 1,
|
|
};
|
|
},
|
|
mounted() {
|
|
if (this.is_paid) {
|
|
axios
|
|
.post(route("feeds.purchase_check", this.feed_id))
|
|
.then(({ data }) => {
|
|
if (data === 1) {
|
|
this.bought = 1;
|
|
}
|
|
this.disabled = 0;
|
|
});
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
purchaseFeed() {
|
|
axios.post(route("feed.purchase", this.feed_id)).then(({ data }) => {
|
|
if (data.error == 1) {
|
|
alert(data.msg);
|
|
} else {
|
|
this.$emit("onReplaceFeed", data);
|
|
this.disable_btn = 1;
|
|
this.bought = 1;
|
|
}
|
|
});
|
|
},
|
|
replaceFeed() {
|
|
axios.post(route("feeds.replace", this.feed_id)).then(({ data }) => {
|
|
if (data.collection) {
|
|
this.$emit("onReplaceFeed", data);
|
|
this.disable_btn = 1;
|
|
}
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|