Skip to content
This repository was archived by the owner on Aug 22, 2023. It is now read-only.

Commit 6f2e644

Browse files
committed
Update dashboard view add version compare
1 parent 294bd70 commit 6f2e644

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

resources/views/pages/dashboard/index.blade.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,25 @@
4545
</li>
4646
<li>
4747
<img src="{{ asset('/shopper/img/logo.svg') }}">
48-
<span>{{ $shopper }}</span>
48+
<span>
49+
{{ $currentVersion }}
50+
@if($updateAvailable)
51+
<i class="fas fa-exclamation-circle text-warning"></i>
52+
@else
53+
<i class="fas fa-check-circle text-success"></i>
54+
@endif
55+
</span>
56+
</li>
57+
<li>
58+
@if($updateAvailable)
59+
<span class="text-warning">
60+
{{ _('A new version of Shopper is available') }} - v{{ $latestVersion }}
61+
</span>
62+
<i class="fas fa-exclamation-circle text-warning"></i>
63+
@else
64+
<span>{{ __('You are up to date with Shopper') }}</span>
65+
<i class="fas fa-check-circle text-success"></i>
66+
@endif
4967
</li>
5068
</ul>
5169
</div>

src/Http/Controllers/Backend/DashboardController.php

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Algolia\ScoutExtended\Facades\Algolia;
66
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
77
use Illuminate\Support\Facades\DB;
8+
use Mckenziearts\Shopper\Core\Version;
89
use Mckenziearts\Shopper\Http\Controllers\Controller;
910
use Mckenziearts\Shopper\Plugins\Catalogue\Models\Brand;
1011
use Mckenziearts\Shopper\Plugins\Catalogue\Models\Category;
@@ -14,6 +15,7 @@
1415
use Mckenziearts\Shopper\Plugins\Users\Models\User;
1516
use Mckenziearts\Shopper\Plugins\Users\Repositories\UserRepository;
1617
use Mckenziearts\Shopper\Shopper;
18+
use Packagist\Api\Client;
1719
use Spatie\SslCertificate\SslCertificate;
1820

1921
class DashboardController extends Controller
@@ -53,11 +55,20 @@ public function dashboard()
5355
$os = php_uname('s');
5456
$laravel = app()->version();
5557
$database = $this->getDatabase();
56-
$shopper = Shopper::version();
5758
$php = phpversion();
5859

5960
$algolia = $this->algoliaIndices();
6061

62+
$client = new Client();
63+
$package = $client->get('mckenziearts/shopper');
64+
$versions = array_map(function ($version) {
65+
return $version->getVersion();
66+
}, $package->getVersions());
67+
68+
$currentVersion = Shopper::version();
69+
$latestVersion = Version::latest($versions);
70+
$updateAvailable = version_compare($currentVersion, $latestVersion, '<');
71+
6172
try {
6273
$certificate = SslCertificate::createForHostName(request()->getHost());
6374
$sslCertificate = [
@@ -79,10 +90,12 @@ public function dashboard()
7990
'os',
8091
'laravel',
8192
'database',
82-
'shopper',
8393
'php',
8494
'sslCertificate',
85-
'algolia'
95+
'algolia',
96+
'currentVersion',
97+
'latestVersion',
98+
'updateAvailable'
8699
)
87100
);
88101
}

0 commit comments

Comments
 (0)