diff --git a/app/Http/Controllers/User/ImageController.php b/app/Http/Controllers/User/ImageController.php
index 8b6776e6..3fb65600 100644
--- a/app/Http/Controllers/User/ImageController.php
+++ b/app/Http/Controllers/User/ImageController.php
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Models\Album;
use App\Models\Image;
use App\Models\User;
+use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
@@ -23,7 +24,21 @@ class ImageController extends Controller
/** @var User $user */
$user = Auth::user();
- $images = $user->images()->latest()->paginate(40);
+ $images = $user->images()->when($request->query('order') ?: 'newest', function (Builder $builder, $order) {
+ switch ($order) {
+ case 'earliest':
+ $builder->orderBy('created_at');
+ break;
+ case 'utmost':
+ $builder->orderByDesc('size');
+ break;
+ case 'least':
+ $builder->orderBy('size');
+ break;
+ default:
+ $builder->latest();
+ }
+ })->paginate(40);
$images->getCollection()->each(function (Image $image) {
$image->human_date = $image->created_at->diffForHumans();
$image->date = $image->created_at->format('Y-m-d H:i:s');
diff --git a/public/js/app.js b/public/js/app.js
index 55f47591..87991473 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -3449,7 +3449,9 @@ window.utils = {
$btn.text('加载更多').removeClass('disabled');
}
- if (opts.data.page !== undefined) opts.data.page++;
+ if (opts.data.page !== undefined) {
+ opts.data.page++;
+ }
},
error: function error() {
$btn.text(errorText).addClass('disabled');
@@ -3459,8 +3461,10 @@ window.utils = {
}
};
- var load = function load(params) {
- if (props.loading || props.finished) return;
+ var load = function load(params, force) {
+ if (!force) {
+ if (props.loading || props.finished) return;
+ }
if (typeof options.data === 'function') {
opts.data = options.data(opts.data) || {};
@@ -3485,7 +3489,7 @@ window.utils = {
});
return {
refresh: function refresh(params) {
- load(params);
+ load(params, true);
}
};
}
diff --git a/resources/js/app.js b/resources/js/app.js
index 940bd7ee..acef1abc 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -56,7 +56,9 @@ window.utils = {
} else {
$btn.text('加载更多').removeClass('disabled')
}
- if (opts.data.page !== undefined) opts.data.page++;
+ if (opts.data.page !== undefined) {
+ opts.data.page++;
+ }
},
error() {
$btn.text(errorText).addClass('disabled')
@@ -64,8 +66,10 @@ window.utils = {
}
};
- let load = (params) => {
- if (props.loading || props.finished) return;
+ let load = (params, force) => {
+ if (! force) {
+ if (props.loading || props.finished) return;
+ }
if (typeof options.data === 'function') {
opts.data = options.data(opts.data) || {};
}
@@ -87,7 +91,7 @@ window.utils = {
return {
refresh(params) {
- load(params);
+ load(params, true);
},
}
}
diff --git a/resources/views/images.blade.php b/resources/views/images.blade.php
index 1c9d9776..3449432b 100644
--- a/resources/views/images.blade.php
+++ b/resources/views/images.blade.php
@@ -83,9 +83,6 @@