pembaruan halaman admin
This commit is contained in:
parent
ccf66298ab
commit
83ffa58000
|
|
@ -9,7 +9,15 @@ class DashboardController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$title = 'Dashboard Admin';
|
$totalTps = \App\Models\LokasiTps::count();
|
||||||
return view('admin.index', compact('title'));
|
$totalAduan = \App\Models\AduanTps::count();
|
||||||
|
$sampahTerbaru = \App\Models\Sampah::orderBy('created_at', 'desc')->first();
|
||||||
|
|
||||||
|
return view('admin.index', compact(
|
||||||
|
'totalTps',
|
||||||
|
'totalAduan',
|
||||||
|
'sampahTerbaru'
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,22 +8,16 @@
|
||||||
|
|
||||||
class AduanController extends Controller
|
class AduanController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Halaman aduan TPS (user)
|
|
||||||
*/
|
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$title = 'Aduan TPS';
|
$title = 'Aduan TPS';
|
||||||
|
|
||||||
// TPS terpilih (jika dari detail / SIG)
|
|
||||||
$tps = null;
|
$tps = null;
|
||||||
if ($request->filled('tps_id')) {
|
if ($request->filled('tps_id')) {
|
||||||
$tps = LokasiTps::with('kategori')
|
$tps = LokasiTps::with('kategori')
|
||||||
->where('id_tps', $request->tps_id)
|
->where('id_tps', $request->tps_id)
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
// List TPS untuk dropdown
|
|
||||||
$listTps = LokasiTps::orderBy('nama_tps')->get();
|
$listTps = LokasiTps::orderBy('nama_tps')->get();
|
||||||
|
|
||||||
return view('user.aduan-tps', compact(
|
return view('user.aduan-tps', compact(
|
||||||
|
|
@ -33,12 +27,8 @@ public function index(Request $request)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Simpan aduan TPS
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
// VALIDASI (FOTO WAJIB)
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'lokasi_tps_id' => 'required|exists:lokasi_tps,id_tps',
|
'lokasi_tps_id' => 'required|exists:lokasi_tps,id_tps',
|
||||||
'nama_pelapor' => 'required|string|max:100',
|
'nama_pelapor' => 'required|string|max:100',
|
||||||
|
|
@ -52,11 +42,9 @@ public function store(Request $request)
|
||||||
'bukti_foto.image' => 'File harus berupa gambar',
|
'bukti_foto.image' => 'File harus berupa gambar',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// SIMPAN FOTO
|
|
||||||
$fotoPath = $request->file('bukti_foto')
|
$fotoPath = $request->file('bukti_foto')
|
||||||
->store('aduan', 'public');
|
->store('aduan', 'public');
|
||||||
|
|
||||||
// SIMPAN KE DATABASE
|
|
||||||
AduanTps::create([
|
AduanTps::create([
|
||||||
'lokasi_tps_id' => $request->lokasi_tps_id,
|
'lokasi_tps_id' => $request->lokasi_tps_id,
|
||||||
'nama_pelapor' => $request->nama_pelapor,
|
'nama_pelapor' => $request->nama_pelapor,
|
||||||
|
|
@ -64,7 +52,7 @@ public function store(Request $request)
|
||||||
'no_pelapor' => $request->no_pelapor,
|
'no_pelapor' => $request->no_pelapor,
|
||||||
'isi_aduan' => $request->isi_aduan,
|
'isi_aduan' => $request->isi_aduan,
|
||||||
'bukti_foto' => $fotoPath,
|
'bukti_foto' => $fotoPath,
|
||||||
'tanggal_aduan' => now(), // OTOMATIS
|
'tanggal_aduan' => now(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
|
|
|
||||||
|
|
@ -21970,195 +21970,81 @@ .bg-inverse-dark.breadcrumb-custom .breadcrumb-item:last-child {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cards */
|
/* ===== DASHBOARD CARD (SIG TPS FIX) ===== */
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
box-shadow: none;
|
box-shadow: 0 10px 22px rgba(0,0,0,0.08);
|
||||||
-webkit-box-shadow: none;
|
transition: all 0.25s ease;
|
||||||
-moz-box-shadow: none;
|
|
||||||
-ms-box-shadow: none;
|
|
||||||
transition: background 0.25s ease;
|
|
||||||
-webkit-transition: background 0.25s ease;
|
|
||||||
-moz-transition: background 0.25s ease;
|
|
||||||
-ms-transition: background 0.25s ease;
|
|
||||||
border: none;
|
border: none;
|
||||||
|
border-radius: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card.tale-bg {
|
/* =========================
|
||||||
background: #DAE7FF;
|
TOTAL TPS (HIJAU UTAMA)
|
||||||
}
|
========================= */
|
||||||
|
|
||||||
.card.transparent {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card .card-body {
|
|
||||||
padding: 1.25rem 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card .card-body + .card-body {
|
|
||||||
padding-top: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card .card-title {
|
|
||||||
color: #010101;
|
|
||||||
margin-bottom: 1.2rem;
|
|
||||||
text-transform: capitalize;
|
|
||||||
font-size: 1.125rem;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card .card-subtitle {
|
|
||||||
font-weight: 400;
|
|
||||||
margin-top: 0.625rem;
|
|
||||||
margin-bottom: 0.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card .card-description {
|
|
||||||
margin-bottom: .875rem;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #76838f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-outline-success {
|
|
||||||
border: 1px solid #57B657;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-outline-primary {
|
|
||||||
border: 1px solid #00A86B;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-outline-warning {
|
|
||||||
border: 1px solid #FFC100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-outline-danger {
|
|
||||||
border: 1px solid #FF4747;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-rounded {
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-faded {
|
|
||||||
background: #b5b0b2;
|
|
||||||
border-color: #b5b0b2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-circle-progress {
|
|
||||||
color: #ffffff;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-img-holder {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-img-holder .card-img-absolute {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-weather .weather-daily .weather-day {
|
|
||||||
opacity: .5;
|
|
||||||
font-weight: 900;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-weather .weather-daily i {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-weather .weather-daily .weather-temp {
|
|
||||||
margin-top: .5rem;
|
|
||||||
margin-bottom: 0;
|
|
||||||
opacity: .5;
|
|
||||||
font-size: .75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-tale {
|
|
||||||
background: #7DA0FA;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-tale:hover {
|
|
||||||
background: #96b2fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card.card-dark-green {
|
.card.card-dark-green {
|
||||||
background: #00A86B;
|
background: linear-gradient(135deg, #00A86B, #00915d);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card.card-dark-green:hover {
|
.card.card-dark-green:hover {
|
||||||
background: #1dbf84;
|
background: linear-gradient(135deg, #00915d, #007e52);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card.card-dark-green p,
|
||||||
|
.card.card-dark-green small {
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =========================
|
||||||
|
TOTAL TPS (KUNING → DIGANTI HIJAU MUDA KONTRAS)
|
||||||
|
========================= */
|
||||||
.card.card-light-green {
|
.card.card-light-green {
|
||||||
background: #EFF669;
|
background: linear-gradient(135deg, #E8F9F1, #BFF0DC);
|
||||||
color: #ffffff;
|
color: #00A86B;
|
||||||
|
border: 2px solid #00A86B;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card.card-light-green:hover {
|
.card.card-light-green:hover {
|
||||||
background: #7fd8a2;
|
background: linear-gradient(135deg, #D6F5E8, #A6EACF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card.card-light-green p,
|
||||||
|
.card.card-light-green small {
|
||||||
|
color: #006f48 !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =========================
|
||||||
|
DATA SAMPAH (ORANYE LOGO)
|
||||||
|
========================= */
|
||||||
.card.card-light-danger {
|
.card.card-light-danger {
|
||||||
background: #F3797E;
|
background: linear-gradient(135deg, #FF7A21, #e66a18);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card.card-light-danger:hover {
|
.card.card-light-danger:hover {
|
||||||
background: #f59095;
|
background: linear-gradient(135deg, #e66a18, #cc5f15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-inverse-primary {
|
.card.card-light-danger p,
|
||||||
background: rgba(75, 73, 172, 0.2);
|
.card.card-light-danger small {
|
||||||
border: 1px solid #45439e;
|
color: #ffffff !important;
|
||||||
color: #393783;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-inverse-secondary {
|
/* =========================
|
||||||
background: rgba(163, 164, 165, 0.2);
|
TYPOGRAPHY
|
||||||
border: 1px solid #969798;
|
========================= */
|
||||||
color: #7c7d7d;
|
.card .fs-30 {
|
||||||
|
font-size: 40px;
|
||||||
|
font-weight: 800;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-inverse-success {
|
.card .card-body {
|
||||||
background: rgba(87, 182, 87, 0.2);
|
padding: 1.5rem 1.5rem;
|
||||||
border: 1px solid #50a750;
|
|
||||||
color: #428a42;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-inverse-info {
|
|
||||||
background: rgba(36, 138, 253, 0.2);
|
|
||||||
border: 1px solid #217fe9;
|
|
||||||
color: #1b69c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-inverse-warning {
|
|
||||||
background: rgba(255, 193, 0, 0.2);
|
|
||||||
border: 1px solid #ebb200;
|
|
||||||
color: #c29300;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-inverse-danger {
|
|
||||||
background: rgba(255, 71, 71, 0.2);
|
|
||||||
border: 1px solid #eb4141;
|
|
||||||
color: #c23636;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-inverse-light {
|
|
||||||
background: rgba(248, 249, 250, 0.2);
|
|
||||||
border: 1px solid #e4e5e6;
|
|
||||||
color: #bcbdbe;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-inverse-dark {
|
|
||||||
background: rgba(40, 47, 58, 0.2);
|
|
||||||
border: 1px solid #252b35;
|
|
||||||
color: #1e242c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.data-icon-card-primary {
|
.data-icon-card-primary {
|
||||||
background: #00A86B;
|
background: #00A86B;
|
||||||
|
|
@ -29970,3 +29856,4 @@ @media (max-width: 991px) {
|
||||||
|
|
||||||
|
|
||||||
/*# sourceMappingURL=../maps/vertical-layout-light/style.css.map */
|
/*# sourceMappingURL=../maps/vertical-layout-light/style.css.map */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,46 +5,67 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 grid-margin">
|
<div class="col-md-12 grid-margin">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 col-xl-8 mb-4 mb-xl-0">
|
<div class="mb-4 col-12 col-xl-8 mb-xl-0">
|
||||||
<h3 class="font-weight-bold">Selamat Datang Admin!</h3>
|
<h3 class="font-weight-bold">Selamat Datang Admin!</h3>
|
||||||
<h6 class="font-weight-normal mb-0">All systems are running smoothly! You have <span
|
<h6 class="mb-0 font-weight-normal">Sistem ini membantu admin dalam pengelolaan TPS di <span
|
||||||
class="text-primary">3 unread alerts!</span></h6>
|
class="text-primary">Kabupaten Nganjuk</span></h6>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-4 mb-4 stretch-card transparent">
|
{{-- TOTAL TPS --}}
|
||||||
|
<div class="mb-4 col-12 col-sm-6 col-md-4 stretch-card transparent">
|
||||||
<div class="card card-light-green h-100">
|
<div class="card card-light-green h-100">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="mb-4">Today’s Bookings</p>
|
<p class="mb-2">Total TPS</p>
|
||||||
<p class="fs-30 mb-2">4006</p>
|
<p class="mb-1 fs-30 fw-bold">
|
||||||
<p>10.00% (30 days)</p>
|
{{ $totalTps }}
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
<small class="text-muted">
|
||||||
|
TPS terdaftar di sistem
|
||||||
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-4 mb-4 stretch-card transparent">
|
{{-- TOTAL ADUAN TPS --}}
|
||||||
|
<div class="mb-4 col-12 col-sm-6 col-md-4 stretch-card transparent">
|
||||||
<div class="card card-dark-green h-100">
|
<div class="card card-dark-green h-100">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="mb-4">Total Bookings</p>
|
<p class="mb-2">Total Aduan TPS</p>
|
||||||
<p class="fs-30 mb-2">61344</p>
|
<p class="mb-1 fs-30 fw-bold">
|
||||||
<p>22.00% (30 days)</p>
|
{{ $totalAduan }}
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
<small class="text-muted">
|
||||||
|
Aduan dari masyarakat
|
||||||
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-4 mb-4 stretch-card transparent">
|
{{-- DATA SAMPAH TERBARU --}}
|
||||||
|
<div class="mb-4 col-12 col-sm-6 col-md-4 stretch-card transparent">
|
||||||
<div class="card card-light-danger h-100">
|
<div class="card card-light-danger h-100">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="mb-4">Number of Meetings</p>
|
<p class="mb-2">Data Sampah Terbaru</p>
|
||||||
<p class="fs-30 mb-2">34040</p>
|
<p class="mb-1 fs-30 fw-bold">
|
||||||
<p>2.00% (30 days)</p>
|
{{ number_format($sampahTerbaru->total_sampah ?? 0, 0, ',', '.') }}
|
||||||
|
</p>
|
||||||
|
<small class="text-muted">
|
||||||
|
Total sampah (Ton) <br>
|
||||||
|
Update terakhir:
|
||||||
|
{{ $sampahTerbaru ? \Carbon\Carbon::parse($sampahTerbaru->created_at)->translatedFormat('d M Y') : '-' }}
|
||||||
|
</small>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<select id="pilih-tps" class="form-select">
|
<select id="pilih-tps" class="form-select">
|
||||||
<option value="">-- Pilih TPS --</option>
|
<option value="">Pilih TPS</option>
|
||||||
@foreach ($listTps as $item)
|
@foreach ($listTps as $item)
|
||||||
<option value="{{ $item->id_tps }}" data-nama="{{ $item->nama_tps }}"
|
<option value="{{ $item->id_tps }}" data-nama="{{ $item->nama_tps }}"
|
||||||
data-alamat="{{ $item->alamat_tps }}"
|
data-alamat="{{ $item->alamat_tps }}"
|
||||||
|
|
|
||||||
|
|
@ -1,168 +1,136 @@
|
||||||
@extends('user.template')
|
@extends('user.template')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Page Title -->
|
|
||||||
|
@php
|
||||||
|
function toDMS($decimal, $type = 'lat') {
|
||||||
|
$direction = $decimal < 0
|
||||||
|
? ($type === 'lat' ? 'LS' : 'BB')
|
||||||
|
: ($type === 'lat' ? 'LU' : 'BT');
|
||||||
|
|
||||||
|
$decimal = abs($decimal);
|
||||||
|
$degrees = floor($decimal);
|
||||||
|
$minutesFloat = ($decimal - $degrees) * 60;
|
||||||
|
$minutes = floor($minutesFloat);
|
||||||
|
$seconds = round(($minutesFloat - $minutes) * 60, 2);
|
||||||
|
|
||||||
|
return $degrees . '° ' . $minutes . "' " . $seconds . '" ' . $direction;
|
||||||
|
}
|
||||||
|
@endphp
|
||||||
|
|
||||||
<div class="page-title">
|
<div class="page-title">
|
||||||
<div class="container d-lg-flex justify-content-between align-items-center">
|
<div class="container d-lg-flex justify-content-between align-items-center">
|
||||||
<h1 class="mb-2 mb-lg-0">Detail TPS</h1>
|
<h1>Detail TPS</h1>
|
||||||
<nav class="breadcrumbs">
|
<nav class="breadcrumbs">
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="index.html">Beranda</a></li>
|
<li><a href="/">Beranda</a></li>
|
||||||
<li class="current">Sebaran TPS</li>
|
<li>Sebaran TPS</li>
|
||||||
<li class="current">Detail TPS</li>
|
<li class="current">Detail TPS</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- End Page Title -->
|
|
||||||
|
|
||||||
<section id="about" class="about section" style="padding-top: 0;">
|
|
||||||
<div class="container" data-aos="fade-up">
|
|
||||||
|
|
||||||
<div class="row g-4 g-lg-5" data-aos="fade-up" data-aos-delay="200">
|
|
||||||
|
|
||||||
<div class="col-lg-5">
|
|
||||||
<div class="about-img">
|
|
||||||
<img src="{{ $tps->foto_tps ? asset('storage/' . $tps->foto_tps) : asset('assets/user/img/about-portrait.jpg') }}"
|
|
||||||
class="img-fluid" alt="">
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
{{-- HERO TPS --}}
|
||||||
|
<div class="mb-4 border-0 shadow-sm card">
|
||||||
|
<div class="row g-0">
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<img src="{{ $tps->foto_tps ? asset('storage/'.$tps->foto_tps) : asset('assets/user/img/about-portrait.jpg') }}"
|
||||||
|
class="img-fluid h-100 w-100 rounded-start"
|
||||||
|
style="object-fit:cover">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-7">
|
<div class="col-lg-7">
|
||||||
<h3 class="pt-0 pt-lg-5">{{ $tps->nama_tps }}</h3>
|
<div class="p-4 card-body">
|
||||||
|
<h3 class="mb-1 fw-bold">{{ $tps->nama_tps }}</h3>
|
||||||
|
<p class="mb-3 text-muted">{{ $tps->alamat_tps }}</p>
|
||||||
|
|
||||||
<!-- Tab Content -->
|
<span class="mb-3 badge bg-success">
|
||||||
<div class="tab-content">
|
{{ $tps->status_tps ?? 'Tidak diketahui' }}
|
||||||
|
</span>
|
||||||
|
|
||||||
<div class="tab-pane fade show active" id="about-tab1">
|
{{-- INFO GRID --}}
|
||||||
|
<div class="mt-3 row">
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<small class="text-muted">Kategori TPS</small>
|
||||||
|
<div class="fw-semibold">
|
||||||
|
{{ $tps->kategori->nama_kategori ?? '-' }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p class="mb-4 fst-italic">
|
<div class="mb-3 col-md-6">
|
||||||
{{ $tps->alamat_tps }}
|
<small class="text-muted">Kapasitas</small>
|
||||||
</p>
|
<div class="fw-semibold">
|
||||||
|
{{ $tps->kapasitas_tps ?? '-' }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="table-responsive">
|
<div class="mb-3 col-md-6">
|
||||||
<table class="table align-middle table-borderless">
|
<small class="text-muted">Tahun Pembuatan</small>
|
||||||
<tbody>
|
<div class="fw-semibold">
|
||||||
<tr>
|
{{ $tps->tahun_pembuatan ?? '-' }}
|
||||||
<th width="40%">
|
</div>
|
||||||
<i class="bi bi-tags me-1"></i>
|
</div>
|
||||||
Kategori TPS
|
|
||||||
</th>
|
|
||||||
<td>{{ $tps->kategori->nama_kategori ?? '-' }}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<div class="mb-3 col-md-6">
|
||||||
<th>
|
<small class="text-muted">Koordinat</small>
|
||||||
<i class="bi bi-info-circle me-1"></i>
|
<div class="fw-semibold">
|
||||||
Status TPS
|
{{ toDMS($tps->latitude, 'lat') }} <br>
|
||||||
</th>
|
{{ toDMS($tps->longitude, 'lng') }}
|
||||||
<td>{{ $tps->status_tps ?? '-' }}</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<tr>
|
<a href="{{ route('user.aduan', ['tps_id' => $tps->id_tps]) }}"
|
||||||
<th>
|
class="mt-3 btn btn-danger">
|
||||||
<i class="bi bi-box me-1"></i>
|
|
||||||
Kapasitas TPS
|
|
||||||
</th>
|
|
||||||
<td>{{ $tps->kapasitas_tps ?? '-' }}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
<i class="bi bi-calendar me-1"></i>
|
|
||||||
Tahun Pembuatan
|
|
||||||
</th>
|
|
||||||
<td>{{ $tps->tahun_pembuatan ?? '-' }}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
<i class="bi bi-crosshair me-1"></i>
|
|
||||||
Koordinat
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
{{ $tps->latitude }}, {{ $tps->longitude }}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="mt-4 d-flex justify-content-between align-items-center">
|
|
||||||
<small class="text-muted">
|
|
||||||
Laporkan jika TPS bermasalah atau penuh
|
|
||||||
</small>
|
|
||||||
|
|
||||||
<a href="{{ route('user.aduan', ['tps_id' => $tps->id_tps]) }}" class="btn-aduan-tps">
|
|
||||||
Adukan TPS
|
Adukan TPS
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
{{-- ADUAN TPS --}}
|
||||||
|
<div class="border-0 shadow-sm card">
|
||||||
</div><!-- End Tab 1 Content -->
|
<div class="p-4 card-body">
|
||||||
|
<h5 class="mb-3 fw-bold">Aduan yang Telah Ditanggapi</h5>
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{{-- ===================== --}}
|
|
||||||
{{-- ADUAN TPS (DITANGGAPI) --}}
|
|
||||||
{{-- ===================== --}}
|
|
||||||
<section class="mt-4 section bg-light">
|
|
||||||
<div class="container">
|
|
||||||
|
|
||||||
<h5 class="mb-3 fw-semibold">Aduan yang Telah Ditanggapi</h5>
|
|
||||||
|
|
||||||
@if($aduanTps->count())
|
@if($aduanTps->count())
|
||||||
<div class="list-group list-group-flush">
|
|
||||||
|
|
||||||
@foreach($aduanTps as $aduan)
|
@foreach($aduanTps as $aduan)
|
||||||
<div class="px-3 py-3 mb-2 bg-white rounded shadow-sm list-group-item">
|
<div class="p-3 mb-3 rounded bg-light">
|
||||||
|
<div class="mb-1 d-flex justify-content-between">
|
||||||
{{-- HEADER --}}
|
<strong>{{ $aduan->nama_pelapor }}</strong>
|
||||||
<div class="mb-1 d-flex justify-content-between align-items-center">
|
|
||||||
<small class="fw-semibold text-dark">
|
|
||||||
{{ $aduan->nama_pelapor }}
|
|
||||||
</small>
|
|
||||||
|
|
||||||
<small class="text-muted">
|
<small class="text-muted">
|
||||||
{{ \Carbon\Carbon::parse($aduan->tanggal_aduan)->translatedFormat('d M Y') }}
|
{{ \Carbon\Carbon::parse($aduan->tanggal_aduan)->translatedFormat('d M Y') }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- ISI ADUAN --}}
|
<p class="mb-2 small text-secondary">
|
||||||
<p class="mb-2 text-secondary small">
|
|
||||||
{{ $aduan->isi_aduan }}
|
{{ $aduan->isi_aduan }}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{{-- TANGGAPAN --}}
|
<div class="border-start border-success ps-3">
|
||||||
<div class="border-start border-success ps-2">
|
|
||||||
<small class="text-success fw-semibold">
|
<small class="text-success fw-semibold">
|
||||||
Tanggapan Admin:
|
Tanggapan Admin
|
||||||
</small>
|
</small>
|
||||||
<div class="small text-dark">
|
<div class="small">
|
||||||
{{ $aduan->tanggapan_admin }}
|
{{ $aduan->tanggapan_admin }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
</div>
|
|
||||||
@else
|
@else
|
||||||
<small class="text-muted">
|
<small class="text-muted">
|
||||||
Belum ada aduan yang ditanggapi.
|
Belum ada aduan yang ditanggapi.
|
||||||
</small>
|
</small>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue