Fix template limit slider (#239)

This commit is contained in:
formsdev 2023-11-15 14:38:53 +05:30 committed by GitHub
parent 6ffe614a0e
commit e99a0552bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 14 deletions

View File

@ -13,18 +13,10 @@ class TemplateController extends Controller
{
public function index(Request $request)
{
$limit = null;
if ($request->offsetExists('limit') && $request->get('limit') > 0) {
$limit = (int)$request->get('limit');
}
$limit = (int)$request->get('limit', 0);
$onlyMy = (bool)$request->get('onlymy', false);
$onlyMy = false;
if ($request->offsetExists('onlymy') && $request->get('onlymy')) {
$onlyMy = true;
}
$templates = Template::limit($limit)
->when(Auth::check(), function ($query) use ($onlyMy) {
$templates = Template::when(Auth::check(), function ($query) use ($onlyMy) {
if ($onlyMy) {
$query->where('creator_id', Auth::id());
} else {
@ -37,6 +29,9 @@ class TemplateController extends Controller
->when(!Auth::check(), function ($query) {
$query->where('publicly_listed', true);
})
->when($limit > 0, function ($query) use ($limit) {
$query->limit($limit);
})
->orderByDesc('created_at')
->get();

View File

@ -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%)]"
>
<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" />
</li>
</ul>
@ -42,7 +42,10 @@ export default {
computed: {
...mapState({
templates: state => state['open/templates'].content
})
}),
sliderTemplates () {
return this.templates.slice(0, 20)
}
},
watch: {
@ -54,7 +57,7 @@ export default {
},
mounted() {
store.dispatch('open/templates/loadAll', {'limit':10})
store.dispatch('open/templates/loadAll', { limit: 20 })
},
methods: {