29 lines
760 B
PHP
29 lines
760 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace App\Http\Controllers\Web;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Models\Job;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
class BookmarkController extends Controller
|
||
|
|
{
|
||
|
|
public function toggle(Request $request, Job $job)
|
||
|
|
{
|
||
|
|
$user = $request->user();
|
||
|
|
$user->savedJobs()->toggle($job->id);
|
||
|
|
|
||
|
|
if ($request->wantsJson()) {
|
||
|
|
$bookmarked = $user->savedJobs()->where('job_id', $job->id)->exists();
|
||
|
|
return response()->json(['bookmarked' => $bookmarked]);
|
||
|
|
}
|
||
|
|
|
||
|
|
return back();
|
||
|
|
}
|
||
|
|
|
||
|
|
public function index(Request $request)
|
||
|
|
{
|
||
|
|
$jobs = $request->user()->savedJobs()->latest('user_saved_jobs.created_at')->paginate(20);
|
||
|
|
return view('jobs.bookmarks', compact('jobs'));
|
||
|
|
}
|
||
|
|
}
|