Added app store pagination

This commit is contained in:
cuneytsenturk 2018-09-20 11:16:56 +03:00
parent b8087bf29c
commit 2ea4722dcf
5 changed files with 64 additions and 12 deletions

View File

@ -23,7 +23,15 @@ class Tiles extends Controller
{ {
$this->checkApiToken(); $this->checkApiToken();
$data = $this->getModulesByCategory($alias); $page = request('page', 1);
$request = [
'query' => [
'page' => $page,
]
];
$data = $this->getModulesByCategory($alias, $request);
$title = $data->category->name; $title = $data->category->name;
$modules = $data->modules; $modules = $data->modules;
@ -41,8 +49,16 @@ class Tiles extends Controller
{ {
$this->checkApiToken(); $this->checkApiToken();
$page = request('page', 1);
$data = [
'query' => [
'page' => $page,
]
];
$title = trans('modules.top_paid'); $title = trans('modules.top_paid');
$modules = $this->getPaidModules(); $modules = $this->getPaidModules($data);
$installed = Module::all()->pluck('status', 'alias')->toArray(); $installed = Module::all()->pluck('status', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed')); return view('modules.tiles.index', compact('title', 'modules', 'installed'));
@ -57,8 +73,16 @@ class Tiles extends Controller
{ {
$this->checkApiToken(); $this->checkApiToken();
$page = request('page', 1);
$data = [
'query' => [
'page' => $page,
]
];
$title = trans('modules.new'); $title = trans('modules.new');
$modules = $this->getNewModules(); $modules = $this->getNewModules($data);
$installed = Module::all()->pluck('status', 'alias')->toArray(); $installed = Module::all()->pluck('status', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed')); return view('modules.tiles.index', compact('title', 'modules', 'installed'));
@ -73,8 +97,16 @@ class Tiles extends Controller
{ {
$this->checkApiToken(); $this->checkApiToken();
$page = request('page', 1);
$data = [
'query' => [
'page' => $page,
]
];
$title = trans('modules.top_free'); $title = trans('modules.top_free');
$modules = $this->getFreeModules(); $modules = $this->getFreeModules($data);
$installed = Module::all()->pluck('status', 'alias')->toArray(); $installed = Module::all()->pluck('status', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed')); return view('modules.tiles.index', compact('title', 'modules', 'installed'));
@ -90,10 +122,12 @@ class Tiles extends Controller
$this->checkApiToken(); $this->checkApiToken();
$keyword = $request['keyword']; $keyword = $request['keyword'];
$page = request('page', 1);
$data = [ $data = [
'query' => [ 'query' => [
'keyword' => $keyword, 'keyword' => $keyword,
'page' => $page,
] ]
]; ];

View File

@ -68,9 +68,9 @@ trait Modules
return []; return [];
} }
public function getModulesByCategory($alias) public function getModulesByCategory($alias, $data = [])
{ {
$response = $this->getRemote('apps/categories/' . $alias); $response = $this->getRemote('apps/categories/' . $alias, 'GET', $data);
if ($response && ($response->getStatusCode() == 200)) { if ($response && ($response->getStatusCode() == 200)) {
return json_decode($response->getBody())->data; return json_decode($response->getBody())->data;

10
public/css/app.css vendored
View File

@ -676,4 +676,12 @@ input[type="number"] {
.pull-right.rating { .pull-right.rating {
margin-top: -30px; margin-top: -30px;
} }
.pager {
margin: inherit !important;
}
.pager li>a, .pager li>span {
border-radius: 3px !important;
}

View File

@ -16,7 +16,7 @@
<h3>{{ trans('modules.top_paid') }}</h3> <h3>{{ trans('modules.top_paid') }}</h3>
</div> </div>
@foreach ($paid as $module) @foreach ($paid->data as $module)
@include('partials.modules.item') @include('partials.modules.item')
@endforeach @endforeach
</div> </div>
@ -26,7 +26,7 @@
<h3>{{ trans('modules.new') }}</h3> <h3>{{ trans('modules.new') }}</h3>
</div> </div>
@foreach ($new as $module) @foreach ($new->data as $module)
@include('partials.modules.item') @include('partials.modules.item')
@endforeach @endforeach
</div> </div>
@ -36,7 +36,7 @@
<h3>{{ trans('modules.top_free') }}</h3> <h3>{{ trans('modules.top_free') }}</h3>
</div> </div>
@foreach ($free as $module) @foreach ($free->data as $module)
@include('partials.modules.item') @include('partials.modules.item')
@endforeach @endforeach
</div> </div>

View File

@ -17,9 +17,19 @@
</div> </div>
@if ($modules) @if ($modules)
@foreach ($modules as $module) @foreach ($modules->data as $module)
@include('partials.modules.item') @include('partials.modules.item')
@endforeach @endforeach
<div class="col-md-12 no-padding-left">
<ul class="pager nomargin">
@if ($modules->current_page < $modules->last_page)
<li class="next"><a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-default btn-sm">{{ trans('pagination.next') }}</a></li>
@endif
@if ($modules->current_page > 1)
<li class="previous"><a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-default btn-sm">{{ trans('pagination.previous') }}</a></li>
@endif
</ul>
</div>
@else @else
<div class="box box-success"> <div class="box box-success">
<div class="box-body"> <div class="box-body">
@ -35,4 +45,4 @@
@endif @endif
</div> </div>
</div> </div>
@endsection @endsection