diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index ff9cfb8..df51717 100755 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -134,10 +134,50 @@ class UserController extends Controller $links->title = $title; $links->button_id = $buttonId; $links->save(); + $links->order = ($links->id - 1); + $links->save(); return back(); } + public function sortLinks(Request $request) + { + $linkOrders = $request->input("linkOrders", []); + $currentPage = $request->input("currentPage", 1); + $perPage = $request->input("perPage", 0); + + if ($perPage == 0) { + $currentPage = 1; + } + + $linkOrders = array_unique(array_filter($linkOrders)); + if (!$linkOrders || $currentPage < 1) { + return response()->json([ + 'status' => 'ERROR', + ]); + } + + $newOrder = $perPage * ($currentPage - 1); + $linkNewOrders = []; + foreach ($linkOrders as $linkId) { + if ($linkId < 0) { + continue; + } + + $linkNewOrders[$linkId] = $newOrder; + Link::where("id", $linkId) + ->update([ + 'order' => $newOrder + ]); + $newOrder++; + } + + return response()->json([ + 'status' => 'OK', + 'linkOrders' => $linkNewOrders, + ]); + } + //Count the number of clicks and redirect to link public function clickNumber(request $request) { @@ -165,6 +205,7 @@ class UserController extends Controller public function showLinks() { $userId = Auth::user()->id; + $data['pagePage'] = 10; $data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $userId)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(10); return view('studio/links', $data); @@ -174,6 +215,7 @@ class UserController extends Controller public function showLinks20() { $userId = Auth::user()->id; + $data['pagePage'] = 20; $data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $userId)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(20); return view('studio/links', $data); @@ -183,6 +225,7 @@ class UserController extends Controller public function showLinks30() { $userId = Auth::user()->id; + $data['pagePage'] = 30; $data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $userId)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(30); return view('studio/links', $data); @@ -192,6 +235,7 @@ class UserController extends Controller public function showLinksAll() { $userId = Auth::user()->id; + $data['pagePage'] = 0; $data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $userId)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(10000000000); return view('studio/links', $data); diff --git a/img/.gitignore b/img/.gitignore index 9fae376..ff1a8b8 100644 --- a/img/.gitignore +++ b/img/.gitignore @@ -1,3 +1,4 @@ * !.gitignore -!user.png \ No newline at end of file +!user.png +!loading.gif \ No newline at end of file diff --git a/img/loading.gif b/img/loading.gif new file mode 100644 index 0000000..b65e941 Binary files /dev/null and b/img/loading.gif differ diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 74d5666..2da7bc5 100755 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -7,8 +7,10 @@ @include('layouts.analytics') + + @@ -376,6 +378,8 @@ if(localStorage.getItem("firstTime")==null){ + + @stack('sidebar-scripts') diff --git a/resources/views/studio/links.blade.php b/resources/views/studio/links.blade.php index a4fc7cf..7c8b636 100755 --- a/resources/views/studio/links.blade.php +++ b/resources/views/studio/links.blade.php @@ -29,10 +29,10 @@ Delete - + @foreach($links as $link) - - {{ Str::limit($link->link, 30) }} + + {{ Str::limit($link->link, 30) }} {{ Str::limit($link->title, 30) }} {{ $link->click_number }} {{ $link->order }} @@ -50,6 +50,9 @@ @endforeach +