Последняя версия с сервера прошлого разработчика

This commit is contained in:
2025-07-10 04:35:51 +00:00
commit c731570032
1174 changed files with 134314 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
<template>
<meta-head title="Тарифы"></meta-head>
<div class="xl:container xl:mx-auto px-2 md:px-3">
<div class="mt-16 shadow-classic rounded-md bg-indigo-200">
<div class="flex flex-col md:grid grid-cols-6 lg:grid-cols-5">
<settings-menu />
<div class="col-span-4">
<div class="mx-4 2xl:mx-28 my-8">
<h2 class="text-xl lg:text-2xl xl:text-4xl text-white font-semibold">
Выберите тариф, который подходит именно вам
</h2>
<p class="mt-4 lg:text-xl xl:text-2xl text-white">
Более 1 млн фотографий, видео и музыки в постоянном доступе для вас!
</p>
<p v-if="lastSubscription" class="mt-4 xl:text-xl text-green">
Дата окончания подписки:
<span class="block md:inline-block">{{ lastSubscription.endDateTime }} ({{ lastSubscription.package.name }})</span>
<span v-if="!is_active_sub" class="text-pink"> (Подписка закончилась)</span>
</p>
<div class="rounded-xl bg-indigo-300 px-3 py-4 mt-5">
<toggle
:user_id="user_id"
:enabled="user_autosubscription"
textin="Автоматическое списание отключено"
textout="Автоматическое списание включно" @clicked="makeAutoSubs"
/>
</div>
<div v-for="plan in plans" :key="plan.id"
:class="[is_active_sub && lastSubscription?.package.id === plan.id ? 'border-l-4 lg:border-l-8 border-orange' : '' ,'mt-7 p-7 xl:mt-14 xl:p-14 shadow-classic rounded-md bg-indigo-100']"
>
<div class="flex flex-col lg:grid grid-cols-6 gap-3 items-center">
<div class="col-start-1 col-end-4 flex flex-col items-center lg:items-start text-center lg:text-left">
<span class="text-xl md:text-2xl lg:text-3xl xl:text-4xl text-white font-medium">{{ plan.name }}</span>
</div>
<div class="col-start-5 col-end-7 flex flex-col items-center">
<span class="text-3xl lg:text-4xl xl:text-6xl text-white font-bold">{{ plan.price }}</span>
<button :disabled="offerCheck == false" type="button"
:class="[is_active_sub && lastSubscription?.package.id === plan.id ? 'bg-white border border-green text-green' : 'text-white bg-green' , 'mt-4 my-1 transition shadow-none inline-flex items-center px-8 py-3 justify-center text-base rounded-3xl focus:outline-none disabled:bg-gray-light disabled:cursor-not-allowed']"
@click="subsPlan(plan.id)"
>
<span v-if="is_active_sub && lastSubscription?.package.id === plan.id">
активен
</span>
<span v-else>
купить тариф
</span>
</button>
</div>
</div>
</div>
<div class="mt-5 flex items-center">
<input id="offer_check" v-model="offerCheck"
type="checkbox" class="h-5 w-5 text-orange border-gray-light focus:ring-transparent focus:ring-offset-transparent"
>
<label for="offer_check" class="select-none ml-3 text-gray text-lg md:text-xl">Согласен с условиями
<a href="/docs/offer_paid_subscription.pdf" class="underline"
target="_blank"
rel="noopener noreferrer nofollow"
>оферты</a></label>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { Inertia } from '@inertiajs/inertia'
import Toggle from '@/Shared/Form/Toggle.vue'
import Layout from '@/Shared/Layout.vue'
import SettingsMenu from '@/Shared/LayoutParts/SettingsMenu.vue'
import MetaHead from '@/Shared/MetaHead.vue'
export default {
components: {
MetaHead,
SettingsMenu,
Toggle,
},
layout: Layout,
props: {
plans: Array,
is_active_sub: Boolean,
user_autosubscription: Boolean,
user_id: Number,
lastSubscription: Object,
},
data: function() {
return {
offerCheck: true
}
},
methods: {
makeAutoSubs(id){
Inertia.patch(route('users.settingsAutoSubs', id), {
preserveScroll: true,
preserveState: true,
})
},
subsPlan(id) {
Inertia.post(route('users.plan', id), {
preserveScroll: true,
preserveState: true,
})
},
},
}
</script>