feat: add ci cd files dont edit those files

This commit is contained in:
mahyargdz
2024-10-21 10:22:26 +03:30
commit fb5b440d42
321 changed files with 188273 additions and 0 deletions
+149
View File
@@ -0,0 +1,149 @@
<template>
<section class="video-details">
<div class="container">
<div class="row">
<div class="view-date">
<p class="date">{{ jalali(info.customDate || info.created_at) }}</p>
<p class="date">{{ jDate(info.customDate || info.created_at) }}</p>
</div>
<div v-if="info.summaryTitle" class="col-12 col-md-6">
<h2 class="summry-title mt-3">
{{ info.summaryTitle }}
</h2>
</div>
<div class="col-12">
<h1 class="title">
{{ info.title }}
</h1>
</div>
<div v-if="info.leadTitle" class="col-12">
<p class="summry-title mb-4">
{{ info.leadTitle }}
</p>
</div>
<div class="row mb-4">
<div class="col-12 img-video">
<div v-html="info.embeddedCode" v-if="info.isEmbedded"></div>
<video width="100%" controls :src="info.video" :poster="info.cover" v-else></video>
</div>
</div>
</div>
</div>
<div class="s2" v-if="related.length">
<h3>مطالب مرتبط</h3>
<div id="slides">
<div class="slide" v-for="item in related" :key="item._id">
<div class="view-txt">
<div>
<p class="h3">{{ item.title }}</p>
<p>{{ item.summaryTitle }}</p>
<div class="date">
<span>{{ jalali(item.customDate || item.created_at) }}</span>
<span>توسط {{ item._creator.firstName + ' ' + item._creator.lastName }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</template>
<script>
import moment from 'moment-jalaali'
if (process.client) require("slick-carousel")
export default {
data() {
return {
info: [],
galleryShown: false,
initialIndex: 0,
related: []
}
},
mounted() {
// $(document).ready(() => {
$("#slides").slick({
dots: true,
slidesToShow: this.related.length === 1 ? 1 : 2,
rtl: true,
responsive: [
{
breakpoint: 960,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
infinite: true,
dots: true
}
},
{
breakpoint: 720,
settings: {
slidesToShow: 2,
slidesToScroll: 1
}
},
{
breakpoint: 540,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
})
// })
},
methods: {
jalali(date) {
return moment(date).locale('fa').fromNow()
},
jDate(date) {
return moment(date).locale('fa').format('LL')
}
},
head() {
return {
title: 'جزئیات فیلم',
meta: [
{
hid: 'description',
name: 'description',
content: this.info.summaryTitle
},
{
hid: 'keywords',
name: 'keywords',
content: this.info.keywords
}
]
}
},
async asyncData({params, error, $axios}) {
try {
let data = await $axios.get(`/api/public/getGallery/${encodeURIComponent(params.video)}`)
let related = await $axios.get(`/api/public/getRelatedGallery`, {
params: {
type: 'video',
title: params.video
}
})
return {
info: data.data,
related: related.data
}
} catch (err) {
error({status: 404, message: 'دریافت اطلاعات با مشکل مواجه شده است!'})
}
}
}
</script>
+131
View File
@@ -0,0 +1,131 @@
<template>
<div class="video-page">
<div class="container">
<div class="row">
<div class="col-12 col-md-9">
<h3 class="video-title">فیلم</h3>
<div class="">
<div class="row">
<div class="col-12 mb-5 sectionStyle" v-if="video.all.docs.length" >
<div class="video-item1">
<nuxt-link :to="{name: 'portal-videos-video', params: {portal: currentPortal, video: video.all.docs[0]._id}}" class="video-img-box1">
<img :src="video.all.docs[0].thumbCover" alt="" class="video-img1">
<div class="video-detail-item1">
<h3 class="video-detail-title1">{{ video.all.docs[0].title }}</h3>
<p class="video-detail-date1" id="video-detail-date1">{{ jDate(video.all.docs[0].customDate || video.all.docs[0].created_at) }}</p>
</div>
</nuxt-link>
</div>
</div>
<div class="col-12">
<div class="not-found" v-if="!video.all.docs.length">
<p>موردی وجود ندارد!</p>
</div>
</div>
<div class="col-12 col-sm-6 col-md-3 mb-3 sectionStyle" v-for="(item, index) in video.all.docs" :key="item.id" v-if="index > 0 && video.all.docs.length">
<div class="video-item">
<nuxt-link :to="{name: 'portal-videos-video', params: {portal: currentPortal, video: item._id}}" class="video-img-box">
<img :src="item.thumbCover" alt="" class="video-img">
</nuxt-link>
<div class="video-detail-item">
<h3 class="video-detail-title">{{ item.title }}</h3>
<p class="video-detail-date" id="video-detail-date">{{ jDate(item.customDate || item.created_at) }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 col-md-3">
<h3 class="video-side">برگزیده ها</h3>
<div class="sectionStyle" v-if="video.favorites.length">
<div class="row">
<div class="col-12 col-sm-6 col-md-12 mb-3" v-for="(item, index) in video.favorites" :key="item.id" v-if="index < 5">
<div class="video-item ">
<nuxt-link :to="{name: 'portal-videos-video', params: {portal: currentPortal, video: item._id}}" class="video-img-box">
<img :src="item.thumbCover" alt="" class="video-img">
</nuxt-link>
<div class="video-detail-item">
<h3 class="video-detail-title">{{ item.title }}</h3>
<p class="video-detail-date" id="video-detail-date2">{{ jDate(item.customDate || item.created_at) }}</p>
</div>
</div>
</div>
</div>
</div>
<div class="not-found" v-if="!video.favorites.length">
<p>موردی وجود ندارد!</p>
</div>
</div>
</div>
<div class="paginate">
<div class="row">
<div class="col-12">
<el-pagination
layout="next, pager, prev"
v-if="video.all.totalPages > 1"
class="el-pagination"
@current-change="pageNumber"
:current-page="Number($route.query.page)"
:page-count="Number(video.all.totalPages)"
>
</el-pagination>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from "moment-jalaali"
export default {
data() {
return {
video: null
}
},
computed: {
currentPortal() {
return this.$route.params.portal
},
pageQuery() {
return this.$route.query.page
},
},
watch: {
pageQuery(newVal, oldVal) {
this.$nuxt.refresh()
},
},
methods: {
jDate(date) {
return moment(date).locale('fa').format('LL')
},
pageNumber(val) {
this.$router.push({
name: 'portal-videos',
params: {portal: this.currentPortal},
query: {type: 'video', page: val}
})
$(window).scrollTop(0)
},
},
async asyncData({params, query, error, $axios}) {
// return error({status: 404})
try {
const portalQuery = params.portal
// const data = await $axios.get(`/api/public/getvideoCat/${query.category}`, {
const data = await $axios.get(`/api/public/getAllGallery?portal=${portalQuery}&type=${query.type}&page=${query.page}`)
// console.log('data.data', data.data.all)
return {
video: data.data
}
} catch (e) {
error({status: 404})
}
}
}
</script>