59 lines
1.5 KiB
PHP
59 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\User;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Likes;
|
|
use App\Models\Materi;
|
|
use App\Models\Module;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Inertia\Inertia;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$data = Module::with(['materi'])->where('kategori_id', Auth::user()->kategori_id)->get();
|
|
|
|
return Inertia::render('User/Dashboard', [
|
|
'data' => $data
|
|
]);
|
|
}
|
|
|
|
public function module($id)
|
|
{
|
|
$data = Materi::where('module_id', $id)->get();
|
|
|
|
$module = Module::where('id', $id)->first();
|
|
|
|
return Inertia::render('User/Materi', [
|
|
'data' => $data,
|
|
'module' => $module
|
|
]);
|
|
}
|
|
|
|
public function materi($id)
|
|
{
|
|
$data = Materi::findOrFail($id);
|
|
|
|
$materiSelanjutnya = Materi::where('module_id', $data->module_id)->orderBy('created_at', 'ASC')->get();
|
|
// ambil data selanjutnya setelah materi yang sedang dibuka
|
|
$materiSelanjutnya = $materiSelanjutnya->where('id', '>', $id)->first();
|
|
|
|
$like = Likes::where('materi_id', $id)->where('user_id', Auth::id())->first();
|
|
|
|
$isLike = false;
|
|
if ($like) {
|
|
$isLike = true;
|
|
}
|
|
|
|
return Inertia::render('User/Module', [
|
|
'data' => $data,
|
|
'materi_selanjutnya' => $materiSelanjutnya,
|
|
'isLike' => $isLike,
|
|
'idUser' => Auth::user()->id
|
|
]);
|
|
}
|
|
}
|