58 lines
1.4 KiB
PHP
58 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Activity;
|
|
use App\Models\Division;
|
|
use App\Models\Post;
|
|
use App\Models\User;
|
|
|
|
class PublicController extends Controller
|
|
{
|
|
public function home()
|
|
{
|
|
return view('public.home', [
|
|
'totalAnggota' => User::where('status', 'aktif')->count(),
|
|
'totalDivisi' => Division::count(),
|
|
'kegiatan' => Activity::where('status', 'approved')
|
|
->latest('start_date')->take(3)->get(),
|
|
]);
|
|
}
|
|
|
|
public function tentang()
|
|
{
|
|
return view('public.tentang', [
|
|
'divisi' => Division::withCount('members')->get(),
|
|
]);
|
|
}
|
|
|
|
public function kegiatan()
|
|
{
|
|
return view('public.kegiatan', [
|
|
'kegiatan' => Activity::where('status', 'approved')
|
|
->latest('start_date')->paginate(9),
|
|
]);
|
|
}
|
|
|
|
public function kegiatanDetail(Activity $activity)
|
|
{
|
|
abort_if($activity->status !== 'approved', 404);
|
|
|
|
return view('public.kegiatan-detail', compact('activity'));
|
|
}
|
|
|
|
public function blog()
|
|
{
|
|
return view('public.blog', [
|
|
'posts' => Post::published()->with('author')->latest('published_at')->paginate(9),
|
|
]);
|
|
}
|
|
|
|
public function blogDetail(Post $post)
|
|
{
|
|
abort_if(! $post->published_at || $post->published_at->isFuture(), 404);
|
|
|
|
return view('public.blog-detail', compact('post'));
|
|
}
|
|
}
|