Fix template limit slider (#239)
This commit is contained in:
parent
6ffe614a0e
commit
e99a0552bb
|
@ -13,18 +13,10 @@ class TemplateController extends Controller
|
||||||
{
|
{
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$limit = null;
|
$limit = (int)$request->get('limit', 0);
|
||||||
if ($request->offsetExists('limit') && $request->get('limit') > 0) {
|
$onlyMy = (bool)$request->get('onlymy', false);
|
||||||
$limit = (int)$request->get('limit');
|
|
||||||
}
|
|
||||||
|
|
||||||
$onlyMy = false;
|
$templates = Template::when(Auth::check(), function ($query) use ($onlyMy) {
|
||||||
if ($request->offsetExists('onlymy') && $request->get('onlymy')) {
|
|
||||||
$onlyMy = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$templates = Template::limit($limit)
|
|
||||||
->when(Auth::check(), function ($query) use ($onlyMy) {
|
|
||||||
if ($onlyMy) {
|
if ($onlyMy) {
|
||||||
$query->where('creator_id', Auth::id());
|
$query->where('creator_id', Auth::id());
|
||||||
} else {
|
} else {
|
||||||
|
@ -37,6 +29,9 @@ class TemplateController extends Controller
|
||||||
->when(!Auth::check(), function ($query) {
|
->when(!Auth::check(), function ($query) {
|
||||||
$query->where('publicly_listed', true);
|
$query->where('publicly_listed', true);
|
||||||
})
|
})
|
||||||
|
->when($limit > 0, function ($query) use ($limit) {
|
||||||
|
$query->limit($limit);
|
||||||
|
})
|
||||||
->orderByDesc('created_at')
|
->orderByDesc('created_at')
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
class="w-full inline-flex flex-nowrap overflow-hidden [mask-image:_linear-gradient(to_right,transparent_0,_black_128px,_black_calc(100%-128px),transparent_100%)]"
|
class="w-full inline-flex flex-nowrap overflow-hidden [mask-image:_linear-gradient(to_right,transparent_0,_black_128px,_black_calc(100%-128px),transparent_100%)]"
|
||||||
>
|
>
|
||||||
<ul ref="templates-slider" class="flex justify-center md:justify-start animate-infinite-scroll">
|
<ul ref="templates-slider" class="flex justify-center md:justify-start animate-infinite-scroll">
|
||||||
<li v-for="(template, i) in templates" :key="template.id" class="mx-4 w-72 h-auto">
|
<li v-for="(template, i) in sliderTemplates" :key="template.id" class="mx-4 w-72 h-auto">
|
||||||
<single-template :slug="template.slug" />
|
<single-template :slug="template.slug" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -42,7 +42,10 @@ export default {
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
templates: state => state['open/templates'].content
|
templates: state => state['open/templates'].content
|
||||||
})
|
}),
|
||||||
|
sliderTemplates () {
|
||||||
|
return this.templates.slice(0, 20)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -54,7 +57,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
store.dispatch('open/templates/loadAll', {'limit':10})
|
store.dispatch('open/templates/loadAll', { limit: 20 })
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
Loading…
Reference in New Issue