86 lines
3.2 KiB
PHP
86 lines
3.2 KiB
PHP
@extends('themes::themeanimeh.layout')
|
|
|
|
|
|
@php
|
|
use VsMov\Core\Models\Movie;
|
|
$recommendations = Cache::remember('site.movies.recommendations', setting('site_cache_ttl', 5 * 60), function () {
|
|
return Movie::where('is_recommended', true)
|
|
->limit(get_theme_option('recommendations_limit', 10))
|
|
->orderBy('updated_at', 'desc')
|
|
->get();
|
|
});
|
|
|
|
$data = Cache::remember('site.movies.latest', setting('site_cache_ttl', 5 * 60), function () {
|
|
$lists = preg_split('/[\n\r]+/', get_theme_option('latest'));
|
|
$data = [];
|
|
foreach ($lists as $list) {
|
|
if (trim($list)) {
|
|
$list = explode('|', $list);
|
|
[$label, $relation, $field, $val, $sortKey, $alg, $limit, $link] = array_merge($list, ['Phim mới cập nhật', '', 'type', 'series', 'created_at', 'desc', 8, '/']);
|
|
try {
|
|
$data[] = [
|
|
'label' => $label,
|
|
'data' => Movie::when($relation, function ($query) use ($relation, $field, $val) {
|
|
$query->whereHas($relation, function ($rel) use ($field, $val) {
|
|
$rel->where($field, $val);
|
|
});
|
|
})
|
|
->when(!$relation, function ($query) use ($field, $val) {
|
|
$query->where($field, $val);
|
|
})
|
|
->orderBy($sortKey, $alg)
|
|
->limit($limit)
|
|
->get(),
|
|
'link' => $link ?: '#',
|
|
];
|
|
} catch (\Exception $e) {
|
|
}
|
|
}
|
|
}
|
|
return $data;
|
|
});
|
|
|
|
@endphp
|
|
|
|
@section('content')
|
|
@if (count($recommendations))
|
|
@include('themes::themeanimeh.inc.slider_recommended')
|
|
@endif
|
|
@foreach ($data as $item)
|
|
@include('themes::themeanimeh.inc.section_home')
|
|
@endforeach
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<link rel="stylesheet" href="{{ asset('/themes/animeh/plugins/carousel/owl.carousel.min.css') }}">
|
|
<link rel="stylesheet" href="{{ asset('/themes/animeh/plugins/carousel/owl.theme.default.min.css') }}">
|
|
<script type="text/javascript">
|
|
let item = 4;
|
|
let documentWidth = $(document).width();
|
|
(documentWidth < 768) ? item = 2: null;
|
|
// (documentWidth > 768 && documentWidth < 1000) ? item = 4: null;
|
|
$(document).ready(function() {
|
|
var owl = $('.owl-carousel');
|
|
owl.owlCarousel({
|
|
items: item,
|
|
lazyLoad: true,
|
|
center: true,
|
|
loop: true,
|
|
responsiveClass: true,
|
|
margin: 10,
|
|
autoplay: true,
|
|
autoplayTimeout: 2000,
|
|
autoplayHoverPause: true,
|
|
stagePadding: 50,
|
|
});
|
|
$('.play').on('click', function() {
|
|
owl.trigger('play.owl.autoplay', [100])
|
|
})
|
|
$('.stop').on('click', function() {
|
|
owl.trigger('stop.owl.autoplay')
|
|
})
|
|
});
|
|
</script>
|
|
<script src="{{ asset('/themes/animeh/plugins/carousel/owl.carousel.min.js') }}"></script>
|
|
@endpush
|