refactor: areas to mvc pattern

main
Rohmad Eko Wahyudi 2025-11-10 17:30:00 +07:00
parent 1f6144bd81
commit bd51c6527a
No known key found for this signature in database
GPG Key ID: 4CCEDA68CB778BAF
99 changed files with 280 additions and 2721 deletions

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Bsi.Controllers
{
[Area("Bsi")]
public class DataOfftakerController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,11 +0,0 @@
@{
ViewData["Title"] = "Dashboard";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Dashboard
</span>
</div>
</div>

View File

@ -1,214 +0,0 @@
@{
ViewData["Title"] = "Data Offtaker";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Offtaker
</span>
</div>
<div class="flex flex-col gap-2 md:flex-row">
<button onclick="modal_add_offtaker.showModal()" class="btn btn-sm bg-bank-sampah-primary-500 max-w-full rounded-full text-white">
<i class="ph ph-plus"></i>
Tambah Offtaker
</button>
</div>
</div>
<!--Modal Add Offtaker-->
<dialog id="modal_add_offtaker" class="modal">
<div class="modal-box">
<h3 class="text-lg font-bold">
Tambah Offtaker
</h3>
<form action="#" method="post">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Nama Offtaker
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input w-full" placeholder="Nama Offtaker" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Email
<span class="text-red-500">*</span>
</legend>
<input type="email" class="input w-full" placeholder="Email" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Nomor HP
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input w-full" placeholder="Nomor HP" />
</fieldset>
<div class="grid grid-cols-1 md:grid-cols-2 md:gap-4">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Provinsi
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled selected>Pilih Provinsi</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kabupaten Kota
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled selected>Pilih Kabupaten Kota</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kecamatan
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled selected>Pilih Kecamatan</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kelurahan
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled selected>Pilih Kelurahan</option>
</select>
</fieldset>
</div>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Alamat
<span class="text-red-500">*</span>
</legend>
<textarea class="textarea h-24 w-full" placeholder="Alamat"></textarea>
</fieldset>
<div class="grid grid-cols-1 md:grid-cols-3 md:gap-4">
<fieldset class="fieldset">
<legend class="fieldset-legend">
RT
<span class="text-red-500">*</span>
</legend>
<input type="number" min="1" class="input w-full" placeholder="RT" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
RW
<span class="text-red-500">*</span>
</legend>
<input type="number" min="1" class="input w-full" placeholder="RW" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kode POS
<span class="text-red-500">*</span>
</legend>
<input type="number" min="1" class="input w-full" placeholder="Kode POS" />
</fieldset>
</div>
<div class="modal-action">
<button class="btn w-30 rounded-full bg-white" onclick="modal_add_offtaker.close()">Batal</button>
<button class="btn bg-bank-sampah-primary-500 w-30 rounded-full text-white">Simpan</button>
</div>
</form>
</div>
</dialog>
<!--/modal add offtaker-->
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Offtaker</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Andi Prabowo</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cipayung</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
</tr>
<tr>
<th>2</th>
<td>Siti Nurhaliza</td>
<td>Kota Adm Jakarta Timur</td>
<td>Matraman</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
</tr>
<tr>
<th>3</th>
<td>Budi Santoso</td>
<td>Kota Adm Jakarta Timur</td>
<td>Kramat Jati</td>
<td>
<div class="badge badge-warning badge-soft rounded-full">
Belum Disetujui
</div>
</td>
</tr>
<tr>
<th>4</th>
<td>Nina Sari</td>
<td>Kota Adm Jakarta Timur</td>
<td>Pulogadung</td>
<td>
<div class="badge badge-warning badge-soft rounded-full">
Belum Disetujui
</div>
</td>
</tr>
<tr>
<th>5</th>
<td>Dewi Lestasi</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cakung</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
</tr>
<tr>
<th>6</th>
<td>Rudi Hartono</td>
<td>Kota Adm Jakarta Timur</td>
<td>Jatinegara</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,3 +0,0 @@
@{
Layout = "/Areas/Shared/Layouts/App/_Layout.cshtml";
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
{
[Area("Dinas")]
public class DashboardController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
{
[Area("Dinas")]
public class TransaksiLaporanController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,2 +0,0 @@
@using BankSampahApp
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -1,3 +0,0 @@
@{
Layout = "/Areas/Shared/Layouts/App/_Layout.cshtml";
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Nasabah.Controllers
{
[Area("Nasabah")]
public class DashboardController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,18 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Nasabah.Controllers
{
[Area("Nasabah")]
public class ProfilController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult Edit(int id)
{
return View();
}
}
}

View File

@ -1,11 +0,0 @@
@{
ViewData["Title"] = "Dashboard";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Dashboard
</span>
</div>
</div>

View File

@ -1,189 +0,0 @@
@{
ViewData["Title"] = "Profil Bank Sampah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Profil Bank Sampah
</span>
</div>
</div>
<div class="h-6"></div>
<div class="flex flex-col items-center justify-between gap-4 rounded bg-white p-6 md:flex-row">
<div class="flex w-full flex-col items-center gap-4 md:flex-row">
<figure>
<img src="https://img.daisyui.com/images/stock/photo-1606107557195-0e29a4b5b4aa.webp"
alt="Shoes"
width="80"
height="80"
class="h-20 w-20 rounded bg-contain bg-center object-cover" />
</figure>
<div class="flex flex-col items-center md:items-start">
<h2 class="font-semibold">Jakarta Timur</h2>
<p>Bank Sampah Induk</p>
</div>
</div>
<div class="badge badge-soft badge-success">
Status Aktif
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body">
<div class="flex flex-row items-center justify-between">
<h2 class="card-title">
Informasi Biodata
</h2>
</div>
<form action="#" method="post">
<div class="divider"></div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4 md:space-x-6">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Nama Nasabah
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="Nama Nasabah" value="Ikhdan Nizar Maulana" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
NIK
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="NIK" value="1234567890123456" />
</fieldset>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4 md:space-x-6">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Email
<span class="text-red-500">*</span>
</legend>
<input type="email" class="input" placeholder="Email" value="banksampahjaktim@gmail.com" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
No. HP
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="No. HP" value="089556728383" />
</fieldset>
</div>
</div>
<div class="divider"></div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4 md:space-x-6">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Provinsi
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Provinsi</option>
<option value="DKI Jakarta" selected>DKI Jakarta</option>
</select>
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kota
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Kota</option>
<option value="Kota Adm. Jakarta Timur" selected>Kota Adm. Jakarta Timur</option>
</select>
</fieldset>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4 md:space-x-6">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kecamatan
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Kecamatan</option>
<option value="Pasarejo" selected>Pasarejo</option>
</select>
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Keluaran
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Keluaran</option>
<option value="Pasarejo" selected>Pasar Minggu</option>
</select>
</fieldset>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Alamat
<span class="text-red-500">*</span>
</legend>
<textarea class="textarea h-24 w-full" placeholder="Alamat">Jalan Raya Pasar Minggu No. 45 Jakarta Timur, DKI Jakarta</textarea>
</fieldset>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-6 md:space-x-6">
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
RT
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input" placeholder="RT" value="02" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
RW
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input" placeholder="RW" value="02" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kode Pos
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input" placeholder="Kode Pos" value="61374" />
</fieldset>
</div>
</div>
<div class="divider"></div>
<div class="card-actions">
<a asp-controller="Profil" asp-area="Nasabah" asp-action="Index" class="btn w-30 rounded-full bg-white">
Batal
</a>
<a href="#" class="btn bg-bank-sampah-primary-500 w-30 rounded-full text-white">
Simpan
</a>
</div>
</form>
</div>
</div>

View File

@ -1,119 +0,0 @@
@{
ViewData["Title"] = "Profil Bank Sampah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Profil Bank Sampah
</span>
</div>
</div>
<div class="h-6"></div>
<div class="flex flex-col items-center justify-between gap-4 rounded bg-white p-6 md:flex-row">
<div class="flex w-full flex-col items-center gap-4 md:flex-row">
<figure>
<img src="https://img.daisyui.com/images/stock/photo-1606107557195-0e29a4b5b4aa.webp"
alt="Shoes"
width="80"
height="80"
class="h-20 w-20 rounded bg-contain bg-center object-cover" />
</figure>
<div class="flex flex-col items-center md:items-start">
<h2 class="font-semibold">Ikhdan Nizar Maulana</h2>
<p>Nasabah</p>
</div>
</div>
<div class="badge badge-soft badge-success">
Status Aktif
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body">
<div class="flex flex-row items-center justify-between">
<h2 class="card-title">
Informasi Biodata
</h2>
<a asp-area="Nasabah" asp-controller="Profil" asp-action="Edit" asp-route-id="1" class="btn btn-sm rounded-full bg-white">
<i class="ph ph-note-pencil me-2"></i>
Edit Biodata
</a>
</div>
<div class="divider"></div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Nama Nasabah</span>
<span class="text-sm">Ikhdan Nizar Maulana</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">NIK</span>
<span class="text-sm">1234567890123456</span>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Email</span>
<span class="text-sm">ikhdan@gmail.com</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">No. HP</span>
<span class="text-sm">089556728383</span>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Nama Bank</span>
<span class="text-sm">Mandiri</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">No. Rekening</span>
<span class="text-sm">781274822</span>
</div>
</div>
<div class="divider"></div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Provinsi</span>
<span class="text-sm">DKI Jakarta</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Kota</span>
<span class="text-sm">Kota Adm Jakarta Timur</span>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Kecamatan</span>
<span class="text-sm">Pasarejo</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Kelurahan</span>
<span class="text-sm">Pasar Minggu</span>
</div>
</div>
<div class="grid grid-cols-1 space-y-2 md:grid-cols-4">
<div class="flex flex-col">
<span class="text-xs text-gray-500">Alamat</span>
<span class="text-sm">Jalan Raya Pasar Minggu No. 45 Jakarta Timur, DKI Jakarta</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">RT</span>
<span class="text-sm">02</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">RW</span>
<span class="text-sm">02</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Kode Pos</span>
<span class="text-sm">61374</span>
</div>
</div>
</div>
</div>

View File

@ -1,2 +0,0 @@
@using BankSampahApp
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -1,3 +0,0 @@
@{
Layout = "/Areas/Shared/Layouts/App/_Layout.cshtml";
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Satpel.Controllers
{
[Area("Satpel")]
public class DashboardController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Satpel.Controllers
{
[Area("Satpel")]
public class DataBankSampahController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Satpel.Controllers
{
[Area("Satpel")]
public class DataNasabahController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Satpel.Controllers
{
[Area("Satpel")]
public class DataOfftakerController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Satpel.Controllers
{
[Area("Satpel")]
public class TransaksiLaporanController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,171 +0,0 @@
@{
ViewData["Title"] = "Dashboard";
}
<div class="flex">
<div class="prose">
<span class="text-xl font-semibold text-black">Dashboard Satpel</span>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white md:bg-[url(/images/image-welcome-dashboard.png)] md:bg-local md:bg-right md:bg-no-repeat">
<div class="card-body gap-0">
<span class="text-gray-500">Selamat Datang</span>
<span class="bg-gradient-to-r from-[#089A7B] to-[#46C881] bg-clip-text text-2xl font-semibold text-transparent">Satpel Kota M. Fransisco</span>
</div>
</div>
<div class="h-6"></div>
<div class="grid grid-cols-1 gap-4 md:grid-cols-4">
<div class="card bg-gradient-to-tl from-[#88C293] to-[#247332] text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-building-office text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total BSI</span>
<span class="text-3xl">1203 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Verifikasi</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Verifikasi</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-indigo-200 to-blue-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-building-office text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total BSU</span>
<span class="text-3xl">1203 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Ditolak</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-amber-200 to-amber-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-factory text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total Offtaker</span>
<span class="text-3xl">39 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Ditolak</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-violet-200 to-violet-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-users-three text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total Nasabah</span>
<span class="text-3xl">2780 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="h-6"></div>
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah BSI</div>
<div class="stat-value">5,812 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah BSU</div>
<div class="stat-value">5,812 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah Offtaker</div>
<div class="stat-value">89.4 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
</div>

View File

@ -1,193 +0,0 @@
@{
ViewData["Title"] = "Data Bank Sampah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Bank Sampah
</span>
</div>
<div>
<button class="btn btn-sm rounded-full bg-white" onclick="modal_filter.showModal()">
<i class="ph ph-funnel-simple"></i>
Filter
</button>
</div>
</div>
<!-- Modal Filter -->
<dialog id="modal_filter" class="modal modal-bottom sm:modal-middle">
<div class="modal-box w-full sm:max-w-sm">
<h3 class="text-lg font-bold">Filter</h3>
<form action="#" method="get">
<fieldset class="fieldset">
<legend class="fieldset-legend">Jenis Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Kategori Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Status Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<div class="modal-action">
<button type="button" class="btn btn-outline rounded-full" onclick="modal_filter.close()">Tutup</button>
<button type="submit" class="btn bg-bank-sampah-primary-500 rounded-full text-white">Terapkan</button>
</div>
</form>
</div>
</dialog>
<!-- /modal filter -->
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Bank Sampah</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Kelurahan</th>
<th>Jenis Bank Sampah</th>
<th>Kategori Bank Sampah</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Bank Sampah Hijau Sej...</td>
<td>Kota Adm Jakar...</td>
<td>Cipayung</td>
<td>Kebon Jeruk</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Bank Sampah Cinta Lin...</td>
<td>Kota Adm Jakar...</td>
<td>Matraman</td>
<td>Pancoran</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Bank Sampah Bersih Ja...</td>
<td>Kota Adm Jakar...</td>
<td>Kramat Jati</td>
<td>Kembangan</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Bank Sampah Mandiri</td>
<td>Kota Adm Jakar...</td>
<td>Pulogadung</td>
<td>Sene</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Bank Sampah Roda Hij...</td>
<td>Kota Adm Jakar...</td>
<td>Cakung</td>
<td>Kebayoran Baru</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Bank Sampah Karya Be...</td>
<td>Kota Adm Jakar...</td>
<td>Jatinegara</td>
<td>Menteng</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,179 +0,0 @@
@{
ViewData["Title"] = "Data Nasabah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Nasabah
</span>
</div>
<div class="flex flex-col gap-2 md:flex-row">
<button class="btn btn-sm max-w-full rounded-full bg-white">
<i class="ph ph-download"></i>
Download
</button>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Nasabah</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Kelurahan</th>
<th>ID Bangunan</th>
<th>Jenis Nasabah</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Andi Prabowo</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cipayung</td>
<td>Kebon Jeruk</td>
<td>BSU 4567890</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Siti Nurhaliza</td>
<td>Kota Adm Jakarta Timur</td>
<td>Matraman</td>
<td>Pancoran</td>
<td>BSU 7654321</td>
<td>Organisasi</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Budi Santoso</td>
<td>Kota Adm Jakarta Timur</td>
<td>Kramat Jati</td>
<td>Kembangan</td>
<td>BSU 1234567</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Nina Sari</td>
<td>Kota Adm Jakarta Timur</td>
<td>Pulogadung</td>
<td>Senen</td>
<td>BSU 9876543</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Dewi Lestasi</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cakung</td>
<td>Kebayoran Baru</td>
<td>BSU 3456789</td>
<td>Perorangan</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Rudi Hartono</td>
<td>Kota Adm Jakarta Timur</td>
<td>Jatinegara</td>
<td>Menteng</td>
<td>BSU 2345678</td>
<td>Organisasi</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,184 +0,0 @@
@{
ViewData["Title"] = "Data Offtaker";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Offtaker
</span>
</div>
<div class="flex flex-col gap-2 md:flex-row">
<button class="btn btn-sm max-w-full rounded-full bg-white" onclick="modal_download.showModal()">
<i class="ph ph-download"></i>
Download
</button>
<button class="btn btn-sm bg-bank-sampah-primary-500 max-w-full rounded-full text-white">
<i class="ph ph-plus"></i>
Tambah Offtaker
</button>
</div>
</div>
<!-- Modal Download -->
<dialog id="modal_download" class="modal modal-bottom sm:modal-middle">
<div class="modal-box w-full sm:max-w-sm">
<form method="dialog">
<button class="btn btn-sm btn-circle btn-ghost absolute top-2 right-2">✕</button>
</form>
<h3 class="text-lg font-bold">Download Data</h3>
<form action="#" method="get">
<fieldset class="fieldset">
<legend class="fieldset-legend">Jumlah Nasabah</legend>
<select class="select w-full">
<option disabled selected>Semua</option>
</select>
</fieldset>
<div class="modal-action">
<button type="submit" class="btn bg-bank-sampah-primary-500 w-full rounded-full text-white">Download</button>
</div>
</form>
</div>
</dialog>
<!-- /modal download -->
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Offtaker</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Andi Prabowo</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cipayung</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Siti Nurhaliza</td>
<td>Kota Adm Jakarta Timur</td>
<td>Matraman</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Budi Santoso</td>
<td>Kota Adm Jakarta Timur</td>
<td>Kramat Jati</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Nina Sari</td>
<td>Kota Adm Jakarta Timur</td>
<td>Pulogadung</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Dewi Lestasi</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cakung</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Rudi Hartono</td>
<td>Kota Adm Jakarta Timur</td>
<td>Jatinegara</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,38 +0,0 @@
@{
ViewData["Title"] = "Transaksi Laporan";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Transaksi Laporan
</span>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body">
<form class="grid-col-1 grid items-end gap-4 md:grid-cols-4">
<fieldset class="fieldset">
<legend class="fieldset-legend">Tanggal Awal</legend>
<input type="date" class="input" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Tanggal Akhir</legend>
<input type="date" class="input" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Jenis Laporan</legend>
<select class="select">
<option disabled selected>Pilih Jenis Laporan</option>
</select>
</fieldset>
<button class="btn bg-bank-sampah-primary-500 w-full rounded-full text-white">
Download Excel
<i class="ph ph-download ms-2"></i>
</button>
</form>
</div>
</div>

View File

@ -1,2 +0,0 @@
@using BankSampahApp
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -1,3 +0,0 @@
@{
Layout = "/Areas/Shared/Layouts/App/_Layout.cshtml";
}

View File

@ -1,266 +0,0 @@
<label class="drawer-overlay" for="my-drawer-2" aria-label="close sidebar"></label>
<aside class="bg-base-100 flex min-h-screen w-64 flex-col">
<!-- Navbar -->
<div class="navbar sticky top-0 hidden items-center justify-center gap-2 bg-gray-50 px-4 py-2 font-bold lg:z-50 lg:flex">
<div class="avatar bg-white">
<div class="w-10 rounded-md p-1 shadow">
<img src="/images/logo.png" alt="Logo" width="48" />
</div>
</div>
<span class="font-jakarta-plus text-xl">e-Bank Sampah</span>
</div>
<!-- Sidebar content here -->
<div class="flex-1 overflow-y-auto">
<ul class="menu menu-sidebar bg-base-100 text-base-content min-h-full w-full overscroll-y-none p-4 text-gray-500">
@{
var currentArea = ViewContext.RouteData.Values["area"] as string;
var controller = ViewContext.RouteData.Values["controller"] as string;
}
@if (currentArea == "Sudin")
{
<li>
<a asp-area="Sudin" asp-action="Index" asp-controller="Dashboard" class="w-full rounded-full @(controller == "Dashboard" ? "menu-active" : "")">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a asp-area="Sudin" asp-action="Index" asp-controller="DataBankSampah" class="rounded-full @(controller == "DataBankSampah" ? "menu-active" : "")">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<li>
<a asp-area="Sudin" asp-action="Index" asp-controller="DataNasabah" class="rounded-full @(controller == "DataNasabah" ? "menu-active" : "")">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<li>
<a asp-area="Sudin" asp-action="Index" asp-controller="DataOfftaker" class="rounded-full @(controller == "DataOfftaker" ? "menu-active" : "")">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<li>
<a asp-area="Sudin" asp-action="Index" asp-controller="TransaksiLaporan" class="rounded-full @(controller == "TransaksiLaporan" ? "menu-active" : "")">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Laporan
</a>
</li>
}
else if (currentArea == "Bsi")
{
<li>
<a asp-area="Bsi" asp-controller="Dashboard" asp-action="Index" class="w-full rounded-full">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a asp-area="Bsi" asp-controller="Profil" asp-action="Index" class="w-full rounded-full @(controller == "Profil" ? "menu-active" : "")">
<i class="ph ph-user-square me-2 text-lg"></i>
Profil Bank Sampah
</a>
</li>
<li>
<details @(new[] { "Aktifitas", "DataOfftaker" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-database me-2 text-lg"></i>
Data
</summary>
<ul>
<li><a>Nasabah</a></li>
<li><a>Bank Sampah Induk</a></li>
<li><a asp-area="Bsi" asp-controller="Aktifitas" asp-action="Index" class="@(controller == "Aktifitas" ? "menu-active" : "")">Aktifitas</a></li>
<li><a>Harga Sampah</a></li>
<li><a asp-area="Bsi" asp-controller="DataOfftaker" asp-action="Index" class="@(controller == "DataOfftaker" ? "menu-active" : "")">Offtaker</a></li>
</ul>
</details>
</li>
<li>
<details>
<summary>
<i class="ph ph-cash-register me-2 text-lg"></i>
Transaksi
</summary>
<ul>
<li><a>Nasabah</a></li>
<li><a>Penarikan Tabungan</a></li>
<li><a>BSI</a></li>
<li><a>Offtaker</a></li>
<li><a>Laporan</a></li>
</ul>
</details>
</li>
}
else if (currentArea == "Nasabah")
{
<li>
<a asp-area="Nasabah" asp-controller="Dashboard" asp-action="Index" class="w-full rounded-full @(controller == "Dashboard" ? "menu-active" : "")">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a asp-area="Nasabah" asp-controller="Profil" asp-action="Index" class="w-full rounded-full @(controller == "Profil" ? "menu-active" : "")">
<i class="ph ph-user-square me-2 text-lg"></i>
Profil Nasabah
</a>
</li>
<li>
<a class="w-full rounded-full">
<i class="ph ph-house-line me-2 text-lg"></i>
Bank Sampah Saya
</a>
</li>
<li>
<a class="w-full rounded-full">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Saya
</a>
</li>
}
else if (currentArea == "Satpel")
{
<li>
<a asp-area="Satpel" asp-action="Index" asp-controller="Dashboard" class="w-full rounded-full @(controller == "Dashboard" ? "menu-active" : "")">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a asp-area="Satpel" asp-action="Index" asp-controller="DataBankSampah" class="rounded-full @(controller == "DataBankSampah" ? "menu-active" : "")">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<li>
<a asp-area="Satpel" asp-action="Index" asp-controller="DataNasabah" class="rounded-full @(controller == "DataNasabah" ? "menu-active" : "")">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<li>
<a asp-area="Satpel" asp-action="Index" asp-controller="DataOfftaker" class="rounded-full @(controller == "DataOfftaker" ? "menu-active" : "")">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<li>
<a asp-area="Satpel" asp-action="Index" asp-controller="TransaksiLaporan" class="rounded-full @(controller == "TransaksiLaporan" ? "menu-active" : "")">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Laporan
</a>
</li>
}
else if (currentArea == "Dinas")
{
<li>
<a asp-area="Dinas" asp-action="Index" asp-controller="Dashboard" class="w-full rounded-full @(controller == "Dashboard" ? "menu-active" : "")">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a asp-area="Dinas" asp-action="Index" asp-controller="DataBankSampah" class="rounded-full @(controller == "DataBankSampah" ? "menu-active" : "")">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<li>
<a asp-area="Dinas" asp-action="Index" asp-controller="DataNasabah" class="rounded-full @(controller == "DataNasabah" ? "menu-active" : "")">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<li>
<a asp-area="Dinas" asp-action="Index" asp-controller="DataOfftaker" class="rounded-full @(controller == "DataOfftaker" ? "menu-active" : "")">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<li>
<a asp-area="Dinas" asp-action="Index" asp-controller="TransaksiLaporan" class="rounded-full @(controller == "TransaksiLaporan" ? "menu-active" : "")">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Laporan
</a>
</li>
<li>
<details @(new[] { "Kota", "Kecamatan", "Kelurahan" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-map-trifold me-2 text-lg"></i>
Wilayah
</summary>
<ul>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Kota" class="@(controller == "Kota" ? "menu-active" : "")">Kota</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Kecamatan" class="@(controller == "Kecamatan" ? "menu-active" : "")">Kecamatan</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Kelurahan" class="@(controller == "Kelurahan" ? "menu-active" : "")">Kelurahan</a></li>
</ul>
</details>
</li>
<li>
<details @(new[] { "Aktivitas", "Artikel", "BadanHukum", "Fasilitas", "JenisBankSampah", "JenisNasabah", "JenisPengolahan", "Kategori", "KategoriFasilitas", "Mitra", "StatusLahan", "JenisSampah", "KategoriSampah", "SubKategoriSampah" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-database me-2 text-lg"></i>
Master Data
</summary>
<ul>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Aktivitas" class="@(controller == "Aktivitas" ? "menu-active" : "")">Aktivitas</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Artikel" class="@(controller == "Artikel" ? "menu-active" : "")">Artikel</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="BadanHukum" class="@(controller == "BadanHukum" ? "menu-active" : "")">Badan Hukum</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Fasilitas" class="@(controller == "Fasilitas" ? "menu-active" : "")">Fasilitas</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="JenisBankSampah" class="@(controller == "JenisBankSampah" ? "menu-active" : "")">Jenis Bank Sampah</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="JenisNasabah" class="@(controller == "JenisNasabah" ? "menu-active" : "")">Jenis Nasabah</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="JenisPengolahan" class="@(controller == "JenisPengolahan" ? "menu-active" : "")">Jenis Pengolahan</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Kategori" class="@(controller == "Kategori" ? "menu-active" : "")">Kategori</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="KategoriFasilitas" class="@(controller == "KategoriFasilitas" ? "menu-active" : "")">Kategori Fasilitas</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="Mitra" class="@(controller == "Mitra" ? "menu-active" : "")">Mitra</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="StatusLahan" class="@(controller == "StatusLahan" ? "menu-active" : "")">Status Lahan</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="JenisSampah" class="@(controller == "JenisSampah" ? "menu-active" : "")">Jenis Sampah</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="KategoriSampah" class="@(controller == "KategoriSampah" ? "menu-active" : "")">Kategori Sampah</a></li>
<li><a asp-area="Dinas" asp-action="Index" asp-controller="SubKategoriSampah" class="@(controller == "SubKategoriSampah" ? "menu-active" : "")">Sub Kategori Sampah</a></li>
</ul>
</details>
</li>
<li>
<a class="rounded-full">
<i class="ph ph-gear me-2 text-lg"></i>
Manajemen User
</a>
</li>
}
else
{
}
</ul>
</div>
<!-- Card Help Desk -->
<div class="bg-base-100 sticky bottom-0 px-4 pb-4">
<div class="card w-fit bg-gradient-to-tl from-[#FFDBAC] to-[#F79009] text-white">
<div class="card-body px-2 py-4">
<div class="card-title">
<i class="ph ph-whatsapp-logo text-lg"></i>
Help Desk
</div>
<hr class="text-white/30" />
<div class="flex flex-col gap-0">
<span>Senin s.d Jumat</span>
<span>08.00 - 15.00 WIB</span>
</div>
<hr class="text-white/30" />
<div class="flex flex-col gap-0">
<span class="font-semibold text-[10px]">
Bidang Pengurangan dan Penanganan Sampah Dinas Lingkungan Hidup Provinsi DKI Jakarta
</span>
<span class="text-[10px]">
Jl.Mandala V Cililitan Kramatjati Jakarta Timur
</span>
</div>
</div>
</div>
</div>
</aside>

View File

@ -1,2 +0,0 @@
@using BankSampahApp
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Sudin.Controllers
{
[Area("Sudin")]
public class DashboardController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Sudin.Controllers
{
[Area("Sudin")]
public class DataBankSampahController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Sudin.Controllers
{
[Area("Sudin")]
public class DataNasabahController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,13 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Sudin.Controllers
{
[Area("Sudin")]
public class DataOfftakerController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,171 +0,0 @@
@{
ViewData["Title"] = "Dashboard";
}
<div class="flex">
<div class="prose">
<span class="text-xl font-semibold text-black">Dashboard Administrator</span>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white md:bg-[url(/images/image-welcome-dashboard.png)] md:bg-local md:bg-right md:bg-no-repeat">
<div class="card-body gap-0">
<span class="text-gray-500">Selamat Datang</span>
<span class="bg-gradient-to-r from-[#089A7B] to-[#46C881] bg-clip-text text-2xl font-semibold text-transparent">Sudin Kota M. Fransisco</span>
</div>
</div>
<div class="h-6"></div>
<div class="grid grid-cols-1 gap-4 md:grid-cols-4">
<div class="card bg-gradient-to-tl from-[#88C293] to-[#247332] text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-building-office text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total BSI</span>
<span class="text-3xl">1203 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Verifikasi</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Verifikasi</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-indigo-200 to-blue-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-building-office text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total BSU</span>
<span class="text-3xl">1203 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Ditolak</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-amber-200 to-amber-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-factory text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total Offtaker</span>
<span class="text-3xl">39 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Ditolak</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
<div class="card bg-gradient-to-tl from-violet-200 to-violet-700 text-white">
<div class="card-body">
<div class="card-title">
<i class="ph ph-users-three text-2xl"></i>
</div>
<div class="flex">
<div class="flex w-3/5 flex-col gap-0 self-end">
<span>Total Nasabah</span>
<span class="text-3xl">2780 Unit</span>
</div>
<div class="divider divider-horizontal before:bg-white after:bg-white"></div>
<div class="grid w-2/5 grid-rows-3 gap-2 text-[12px]">
<div class="flex flex-col">
<span class="font-semibold">Sudah Aktif</span>
<span>145 Unit</span>
</div>
<div class="flex flex-col">
<span class="font-semibold">Belum Aktif</span>
<span>5432 Unit</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="h-6"></div>
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah BSI</div>
<div class="stat-value">5,812 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah BSU</div>
<div class="stat-value">5,812 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
<div class="stats bg-white">
<div class="stat">
<div class="stat-title">Total Sampah Offtaker</div>
<div class="stat-value">89.4 Kg</div>
<div class="stat-desc">
<span class="text-green-600">
<i class="ph ph-arrow-up"></i>
40%
</span>
vs bulan kemarin
</div>
</div>
</div>
</div>

View File

@ -1,194 +0,0 @@
@{
ViewData["Title"] = "Data Bank Sampah";
ViewData["DataBankSampahActive"] = "menu-active";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Bank Sampah
</span>
</div>
<div>
<button class="btn btn-sm rounded-full bg-white" onclick="modal_filter.showModal()">
<i class="ph ph-funnel-simple"></i>
Filter
</button>
</div>
</div>
<!-- Modal Filter -->
<dialog id="modal_filter" class="modal modal-bottom sm:modal-middle">
<div class="modal-box w-full sm:max-w-sm">
<h3 class="text-lg font-bold">Filter</h3>
<form action="#" method="get">
<fieldset class="fieldset">
<legend class="fieldset-legend">Jenis Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Kategori Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Status Bank Sampah</legend>
<select class="select w-full">
<option disabled selected>Pilih salah satu</option>
</select>
</fieldset>
<div class="modal-action">
<button type="button" class="btn btn-outline rounded-full" onclick="modal_filter.close()">Tutup</button>
<button type="submit" class="btn bg-bank-sampah-primary-500 rounded-full text-white">Terapkan</button>
</div>
</form>
</div>
</dialog>
<!-- /modal filter -->
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Bank Sampah</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Kelurahan</th>
<th>Jenis Bank Sampah</th>
<th>Kategori Bank Sampah</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Bank Sampah Hijau Sej...</td>
<td>Kota Adm Jakar...</td>
<td>Cipayung</td>
<td>Kebon Jeruk</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Bank Sampah Cinta Lin...</td>
<td>Kota Adm Jakar...</td>
<td>Matraman</td>
<td>Pancoran</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Bank Sampah Bersih Ja...</td>
<td>Kota Adm Jakar...</td>
<td>Kramat Jati</td>
<td>Kembangan</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Bank Sampah Mandiri</td>
<td>Kota Adm Jakar...</td>
<td>Pulogadung</td>
<td>Sene</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Bank Sampah Roda Hij...</td>
<td>Kota Adm Jakar...</td>
<td>Cakung</td>
<td>Kebayoran Baru</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Bank Sampah Karya Be...</td>
<td>Kota Adm Jakar...</td>
<td>Jatinegara</td>
<td>Menteng</td>
<td>BSU</td>
<td>Warga</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,179 +0,0 @@
@{
ViewData["Title"] = "Data Nasabah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Nasabah
</span>
</div>
<div class="flex flex-col gap-2 md:flex-row">
<button class="btn btn-sm max-w-full rounded-full bg-white">
<i class="ph ph-download"></i>
Download
</button>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Nasabah</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Kelurahan</th>
<th>ID Bangunan</th>
<th>Jenis Nasabah</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Andi Prabowo</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cipayung</td>
<td>Kebon Jeruk</td>
<td>BSU 4567890</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Siti Nurhaliza</td>
<td>Kota Adm Jakarta Timur</td>
<td>Matraman</td>
<td>Pancoran</td>
<td>BSU 7654321</td>
<td>Organisasi</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Budi Santoso</td>
<td>Kota Adm Jakarta Timur</td>
<td>Kramat Jati</td>
<td>Kembangan</td>
<td>BSU 1234567</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Nina Sari</td>
<td>Kota Adm Jakarta Timur</td>
<td>Pulogadung</td>
<td>Senen</td>
<td>BSU 9876543</td>
<td>Perorangan</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Aktif
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Dewi Lestasi</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cakung</td>
<td>Kebayoran Baru</td>
<td>BSU 3456789</td>
<td>Perorangan</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Rudi Hartono</td>
<td>Kota Adm Jakarta Timur</td>
<td>Jatinegara</td>
<td>Menteng</td>
<td>BSU 2345678</td>
<td>Organisasi</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Tidak Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,185 +0,0 @@
@{
ViewData["Title"] = "Data Offtaker";
ViewData["DataOfftakerActive"] = "menu-active";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Data Offtaker
</span>
</div>
<div class="flex flex-col gap-2 md:flex-row">
<button class="btn btn-sm max-w-full rounded-full bg-white" onclick="modal_download.showModal()">
<i class="ph ph-download"></i>
Download
</button>
<button class="btn btn-sm bg-bank-sampah-primary-500 max-w-full rounded-full text-white">
<i class="ph ph-plus"></i>
Tambah Offtaker
</button>
</div>
</div>
<!-- Modal Download -->
<dialog id="modal_download" class="modal modal-bottom sm:modal-middle">
<div class="modal-box w-full sm:max-w-sm">
<form method="dialog">
<button class="btn btn-sm btn-circle btn-ghost absolute top-2 right-2">✕</button>
</form>
<h3 class="text-lg font-bold">Download Data</h3>
<form action="#" method="get">
<fieldset class="fieldset">
<legend class="fieldset-legend">Jumlah Nasabah</legend>
<select class="select w-full">
<option disabled selected>Semua</option>
</select>
</fieldset>
<div class="modal-action">
<button type="submit" class="btn bg-bank-sampah-primary-500 w-full rounded-full text-white">Download</button>
</div>
</form>
</div>
</dialog>
<!-- /modal download -->
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body p-2">
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
<thead>
<tr>
<th></th>
<th>Nama Offtaker</th>
<th>Kabupaten</th>
<th>Kecamatan</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Andi Prabowo</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cipayung</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>2</th>
<td>Siti Nurhaliza</td>
<td>Kota Adm Jakarta Timur</td>
<td>Matraman</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>3</th>
<td>Budi Santoso</td>
<td>Kota Adm Jakarta Timur</td>
<td>Kramat Jati</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>4</th>
<td>Nina Sari</td>
<td>Kota Adm Jakarta Timur</td>
<td>Pulogadung</td>
<td>
<div class="badge badge-success badge-soft rounded-full">
Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>5</th>
<td>Dewi Lestasi</td>
<td>Kota Adm Jakarta Timur</td>
<td>Cakung</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
<tr>
<th>6</th>
<td>Rudi Hartono</td>
<td>Kota Adm Jakarta Timur</td>
<td>Jatinegara</td>
<td>
<div class="badge badge-error badge-soft rounded-full">
Belum Disetujui
</div>
</td>
<td>
<a href="#" class="btn btn-circle btn-primary btn-sm">
<i class="ph ph-eye"></i>
</a>
<a href="#" class="btn btn-circle btn-error btn-sm text-white">
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,39 +0,0 @@
@{
ViewData["Title"] = "Transaksi Laporan";
ViewData["TransaksiLaporanActive"] = "menu-active";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-black">
Transaksi Laporan
</span>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white">
<div class="card-body">
<form class="grid-col-1 grid items-end gap-4 md:grid-cols-4">
<fieldset class="fieldset">
<legend class="fieldset-legend">Tanggal Awal</legend>
<input type="date" class="input" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Tanggal Akhir</legend>
<input type="date" class="input" />
</fieldset>
<fieldset class="fieldset">
<legend class="fieldset-legend">Jenis Laporan</legend>
<select class="select">
<option disabled selected>Pilih Jenis Laporan</option>
</select>
</fieldset>
<button class="btn bg-bank-sampah-primary-500 w-full rounded-full text-white">
Download Excel
<i class="ph ph-download ms-2"></i>
</button>
</form>
</div>
</div>

View File

@ -1,2 +0,0 @@
@using BankSampahApp
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -1,3 +0,0 @@
@{
Layout = "/Areas/Shared/Layouts/App/_Layout.cshtml";
}

View File

@ -35,17 +35,19 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Areas\Bsi\Data\" />
<Folder Include="Areas\Bsi\Models\" />
<Folder Include="Areas\Dinas\Data\" />
<Folder Include="Areas\Dinas\Models\" />
<Folder Include="Areas\Nasabah\Data\" />
<Folder Include="Areas\Nasabah\Models\" />
<Folder Include="Areas\Satpel\Data\" />
<Folder Include="Areas\Satpel\Models\" />
<Folder Include="Areas\Shared\Layouts\LandingPage\" />
<Folder Include="Areas\Sudin\Data\" />
<Folder Include="Areas\Sudin\Models\" />
<Folder Include="Data\" />
<Folder Include="Domain\Entities\" />
<Folder Include="Domain\Interfaces\" />
<Folder Include="Helpers\" />
<Folder Include="Utilities\" />
</ItemGroup>
<ItemGroup>
<!-- Exclude old Areas folder from compilation -->
<Compile Remove="Areas\**" />
<Content Remove="Areas\**" />
<EmbeddedResource Remove="Areas\**" />
<None Remove="Areas\**" />
</ItemGroup>
</Project>

View File

@ -1,8 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Bsi.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Bsi")]
public class AktifitasController : Controller
{
public IActionResult Index()

View File

@ -1,8 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Bsi.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Bsi")]
public class DashboardController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class DataBankSampahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class DataNasabahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class DataOfftakerController : Controller
{
public IActionResult Index()

View File

@ -1,8 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Bsi.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Bsi")]
public class ProfilController : Controller
{
public IActionResult Index()

View File

@ -1,8 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Sudin.Controllers
namespace BankSampahApp.Controllers.Main
{
[Area("Sudin")]
public class TransaksiLaporanController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class AktivitasController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class ArtikelController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class BadanHukumController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class FasilitasController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class JenisBankSampahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class JenisNasabahController : Controller
{
public IActionResult Index()

View File

@ -1,8 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
public class JenisPengolahanController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class JenisSampahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KategoriController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KategoriFasilitasController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KategoriSampahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class MitraController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class StatusLahanController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Master
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class SubKategoriSampahController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Wilayah
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KecamatanController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Wilayah
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KelurahanController : Controller
{
public IActionResult Index()

View File

@ -1,9 +1,7 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Areas.Dinas.Controllers
namespace BankSampahApp.Controllers.Wilayah
{
[Area("Dinas")]
[Route("Dinas/[controller]/[action]")]
public class KotaController : Controller
{
public IActionResult Index()

View File

@ -115,9 +115,28 @@ app.UseAntiforgery();
app.UseAuthorization();
// Map routes with .NET 9 improvements
// Master data routes
app.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
name: "master",
pattern: "Master/{controller}/{action=Index}/{id?}",
defaults: new { area = "" });
// Wilayah routes
app.MapControllerRoute(
name: "wilayah",
pattern: "Wilayah/{controller}/{action=Index}/{id?}",
defaults: new { area = "" });
// Main application routes
app.MapControllerRoute(
name: "main",
pattern: "Main/{controller}/{action=Index}/{id?}",
defaults: new { area = "" });
// Default route (Home controller only)
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
// Health check endpoint
app.MapGet("/health", () => Results.Ok(new {

View File

@ -1,97 +1,62 @@
<!DOCTYPE html>
<html lang="id" data-theme="emerald">
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Bank Sampah Digital</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewData["Title"] - E-Bank Sampah</title>
<!-- Meta tags untuk SEO -->
<meta name="description" content="Aplikasi Bank Sampah Digital untuk mengelola sampah dan mendapatkan reward">
<meta name="description" content="Aplikasi E-Bank Sampah untuk mengelola sampah dan mendapatkan reward">
<meta name="keywords" content="bank sampah, recycle, environment, go green, sampah">
<meta name="author" content="Bank Sampah Digital">
<meta name="author" content="E-Bank Sampah">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="@ViewData["Title"] - Bank Sampah Digital">
<meta property="og:title" content="@ViewData[" Title"] - E-Bank Sampah">
<meta property="og:description" content="Kelola sampah Anda dengan mudah dan dapatkan reward!">
<meta property="og:type" content="website">
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap"
rel="stylesheet">
<!-- Phosphor Icons -->
<link rel="stylesheet" type="text/css"
href="https://cdn.jsdelivr.net/npm/@@phosphor-icons/web@2.1.2/src/regular/style.css" />
<link rel="stylesheet" type="text/css"
href="https://cdn.jsdelivr.net/npm/@@phosphor-icons/web@2.1.2/src/fill/style.css" />
<!-- Material Icon -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
<!-- CSS -->
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="~/favicon.ico">
</head>
<body class="min-h-screen bg-base-100">
<!-- Navigation Bar - Overlay on Hero -->
<header class="absolute top-0 left-0 right-0 z-50 bg-transparent">
<div class="navbar px-4 lg:px-28 py-6">
<div class="navbar-start">
<div class="dropdown">
<div tabindex="0" role="button" class="btn btn-ghost lg:hidden text-white">
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h8m-8 6h16" />
</svg>
</div>
<ul tabindex="0" class="menu menu-sm dropdown-content mt-3 z-[1] p-2 shadow bg-base-100 rounded-box w-52">
<li><a asp-controller="Home" asp-action="Index">Beranda</a></li>
<li><a>Tentang</a></li>
<li><a>Publikasi</a></li>
<li><a>Regulasi</a></li>
<li><a>Lokasi</a></li>
<li><a>Helpdesk</a></li>
</ul>
</div>
<a asp-controller="Home" asp-action="Index" class="btn btn-ghost text-white text-xl font-bold">
<img class="w-11 h-10" src="/images/logo.png" alt="Logo" />
</a>
</div>
<div class="navbar-center hidden lg:flex">
<ul class="menu menu-horizontal px-1 gap-2">
<li><a asp-controller="Home" asp-action="Index" class="btn btn-ghost text-white font-semibold text-base font-jakarta">Beranda</a></li>
<li><a class="btn btn-ghost text-gray-300 font-semibold text-base font-jakarta">Tentang</a></li>
<li><a class="btn btn-ghost text-gray-300 font-semibold text-base font-jakarta">Publikasi</a></li>
<li><a class="btn btn-ghost text-gray-300 font-semibold text-base font-jakarta">Regulasi</a></li>
<li><a class="btn btn-ghost text-gray-300 font-semibold text-base font-jakarta">Lokasi</a></li>
<li><a class="btn btn-ghost text-gray-300 font-semibold text-base font-jakarta">Helpdesk</a></li>
</ul>
</div>
<div class="navbar-end">
<a asp-area="Sudin" asp-controller="Dashboard" asp-action="Index" class="btn font-jakarta rounded-full border-none bg-green-800 px-8 py-2.5 text-base font-semibold text-white hover:bg-green-700">Login</a>
</div>
<body class="min-h-dvh bg-gray-100 font-sans antialiased">
<div class="drawer md:drawer-open">
<input id="my-drawer-2" type="checkbox" class="drawer-toggle" />
<div class="drawer-content">
<!-- Navbar -->
<partial name="~/Areas/Shared/Layouts/App/_Navbar.cshtml" />
<!-- Page content here -->
<main class="container mx-auto p-6">
@RenderBody()
</main>
</div>
</header>
<!-- Main Content -->
<main role="main">
@RenderBody()
</main>
<!-- Footer -->
<footer class="px-4 lg:px-28 py-20 bg-white">
<div class="max-w-[1280px] mx-auto h-14 flex flex-col justify-between items-center">
<div class="w-full flex flex-col justify-start items-center gap-8">
<div class="w-full h-px bg-gray-200"></div>
<div class="w-full flex flex-col lg:flex-row justify-between items-center gap-4">
<div class="text-gray-500 text-sm font-normal leading-tight text-center lg:text-left">
Jalan Mandala V No. 67, Cililitan Besar, Kramatjati, DKI Jakarta Telp. (021) 8092744 Fax. (021) 8091056
</div>
<div class="text-gray-500 text-sm font-normal leading-tight">
DLH © @DateTime.Now.Year. e-Bank Sampah.
</div>
</div>
</div>
<div class="drawer-side z-50 lg:z-0">
<!-- Sidebar -->
<partial name="~/Areas/Shared/Layouts/App/_Sidebar.cshtml" />
</div>
</footer>
</div>
<!-- Scripts -->
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>

View File

@ -1,18 +1,22 @@
<!DOCTYPE html>
<html lang="en" data-theme="light">
@{
var currentController = ViewContext.RouteData.Values["controller"]?.ToString();
var currentAction = ViewContext.RouteData.Values["action"]?.ToString();
}
<!DOCTYPE html>
<html lang="id" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewData["Title"] - E-Bank Sampah</title>
<title>@ViewData["Title"] - E-Bank Sampah Jakarta</title>
<!-- Meta tags untuk SEO -->
<meta name="description" content="Aplikasi E-Bank Sampah untuk mengelola sampah dan mendapatkan reward">
<meta name="keywords" content="bank sampah, recycle, environment, go green, sampah">
<meta name="author" content="E-Bank Sampah">
<meta name="keywords" content="bank sampah, recycle, environment, go green, sampah, jakarta">
<meta name="author" content="Dinas Lingkungan Hidup Provinsi DKI Jakarta">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="@ViewData[" Title"] - E-Bank Sampah">
<meta property="og:title" content="@ViewData["Title"] - E-Bank Sampah Jakarta">
<meta property="og:description" content="Kelola sampah Anda dengan mudah dan dapatkan reward!">
<meta property="og:type" content="website">
@ -32,7 +36,6 @@
<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
<!-- CSS -->
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
</head>
@ -42,15 +45,18 @@
<input id="my-drawer-2" type="checkbox" class="drawer-toggle" />
<div class="drawer-content">
<!-- Navbar -->
<partial name="~/Areas/Shared/Layouts/App/_Navbar.cshtml" />
<partial name="_NavbarApp" />
<!-- Page content here -->
<main class="container mx-auto p-6">
@RenderBody()
</main>
</div>
<div class="drawer-side z-50 lg:z-0">
<label class="drawer-overlay" for="my-drawer-2" aria-label="close sidebar"></label>
<!-- Sidebar -->
<partial name="~/Areas/Shared/Layouts/App/_Sidebar.cshtml" />
<partial name="_SidebarUnified" />
</div>
</div>
@ -59,4 +65,4 @@
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>
</html>

View File

@ -0,0 +1,153 @@
@{
var controller = ViewContext.RouteData.Values["controller"] as string;
}
<label class="drawer-overlay" for="my-drawer-2" aria-label="close sidebar"></label>
<aside class="bg-base-100 flex min-h-screen w-64 flex-col">
<!-- Navbar -->
<div class="navbar sticky top-0 hidden items-center justify-center gap-2 bg-gray-50 px-4 py-2 font-bold lg:z-50 lg:flex">
<div class="avatar bg-white">
<div class="w-10 rounded-md p-1 shadow">
<img src="/images/logo.png" alt="Logo" width="48" />
</div>
</div>
<span class="font-jakarta-plus text-xl">e-Bank Sampah</span>
</div>
<!-- Sidebar content here -->
<div class="flex-1 overflow-y-auto">
<ul class="menu menu-sidebar bg-base-100 text-base-content min-h-full w-full overscroll-y-none p-4 text-gray-500">
<!-- Dashboard -->
<li>
<a href="/Main/Dashboard" class="w-full rounded-full @(controller == "Dashboard" ? "menu-active" : "")">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<!-- Data Bank Sampah -->
<li>
<a href="/Main/DataBankSampah" class="rounded-full @(controller == "DataBankSampah" ? "menu-active" : "")">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<!-- Data Nasabah -->
<li>
<a href="/Main/DataNasabah" class="rounded-full @(controller == "DataNasabah" ? "menu-active" : "")">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<!-- Data Offtaker -->
<li>
<a href="/Main/DataOfftaker" class="rounded-full @(controller == "DataOfftaker" ? "menu-active" : "")">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<!-- Transaksi Laporan -->
<li>
<a href="/Main/TransaksiLaporan" class="rounded-full @(controller == "TransaksiLaporan" ? "menu-active" : "")">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Laporan
</a>
</li>
<!-- Wilayah -->
<li>
<details @(new[] { "Kota", "Kecamatan", "Kelurahan" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-map-trifold me-2 text-lg"></i>
Wilayah
</summary>
<ul>
<li><a href="/Wilayah/Kota" class="@(controller == "Kota" ? "menu-active" : "")">Kota</a></li>
<li><a href="/Wilayah/Kecamatan" class="@(controller == "Kecamatan" ? "menu-active" : "")">Kecamatan</a></li>
<li><a href="/Wilayah/Kelurahan" class="@(controller == "Kelurahan" ? "menu-active" : "")">Kelurahan</a></li>
</ul>
</details>
</li>
<!-- Master Data -->
<li>
<details @(new[] { "Aktivitas", "Artikel", "BadanHukum", "Fasilitas", "JenisBankSampah", "JenisNasabah", "JenisPengolahan", "Kategori", "KategoriFasilitas", "Mitra", "StatusLahan", "JenisSampah", "KategoriSampah", "SubKategoriSampah" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-database me-2 text-lg"></i>
Master Data
</summary>
<ul>
<li><a href="/Master/Aktivitas" class="@(controller == "Aktivitas" ? "menu-active" : "")">Aktivitas</a></li>
<li><a href="/Master/Artikel" class="@(controller == "Artikel" ? "menu-active" : "")">Artikel</a></li>
<li><a href="/Master/BadanHukum" class="@(controller == "BadanHukum" ? "menu-active" : "")">Badan Hukum</a></li>
<li><a href="/Master/Fasilitas" class="@(controller == "Fasilitas" ? "menu-active" : "")">Fasilitas</a></li>
<li><a href="/Master/JenisBankSampah" class="@(controller == "JenisBankSampah" ? "menu-active" : "")">Jenis Bank Sampah</a></li>
<li><a href="/Master/JenisNasabah" class="@(controller == "JenisNasabah" ? "menu-active" : "")">Jenis Nasabah</a></li>
<li><a href="/Master/JenisPengolahan" class="@(controller == "JenisPengolahan" ? "menu-active" : "")">Jenis Pengolahan</a></li>
<li><a href="/Master/Kategori" class="@(controller == "Kategori" ? "menu-active" : "")">Kategori</a></li>
<li><a href="/Master/KategoriFasilitas" class="@(controller == "KategoriFasilitas" ? "menu-active" : "")">Kategori Fasilitas</a></li>
<li><a href="/Master/Mitra" class="@(controller == "Mitra" ? "menu-active" : "")">Mitra</a></li>
<li><a href="/Master/StatusLahan" class="@(controller == "StatusLahan" ? "menu-active" : "")">Status Lahan</a></li>
<li><a href="/Master/JenisSampah" class="@(controller == "JenisSampah" ? "menu-active" : "")">Jenis Sampah</a></li>
<li><a href="/Master/KategoriSampah" class="@(controller == "KategoriSampah" ? "menu-active" : "")">Kategori Sampah</a></li>
<li><a href="/Master/SubKategoriSampah" class="@(controller == "SubKategoriSampah" ? "menu-active" : "")">Sub Kategori Sampah</a></li>
</ul>
</details>
</li>
<!-- Profil -->
<li>
<a href="/Main/Profil" class="rounded-full @(controller == "Profil" ? "menu-active" : "")">
<i class="ph ph-user-square me-2 text-lg"></i>
Profil
</a>
</li>
<!-- Aktifitas -->
<li>
<a href="/Main/Aktifitas" class="rounded-full @(controller == "Aktifitas" ? "menu-active" : "")">
<i class="ph ph-activity me-2 text-lg"></i>
Aktifitas
</a>
</li>
<!-- Manajemen User -->
<li>
<a class="rounded-full">
<i class="ph ph-gear me-2 text-lg"></i>
Manajemen User
</a>
</li>
</ul>
</div>
<!-- Card Help Desk -->
<div class="bg-base-100 sticky bottom-0 px-4 pb-4">
<div class="card w-fit bg-gradient-to-tl from-[#FFDBAC] to-[#F79009] text-white">
<div class="card-body px-2 py-4">
<div class="card-title">
<i class="ph ph-whatsapp-logo text-lg"></i>
Help Desk
</div>
<hr class="text-white/30" />
<div class="flex flex-col gap-0">
<span>Senin s.d Jumat</span>
<span>08.00 - 15.00 WIB</span>
</div>
<hr class="text-white/30" />
<div class="flex flex-col gap-0">
<span class="font-semibold text-[10px]">
Bidang Pengurangan dan Penanganan Sampah Dinas Lingkungan Hidup Provinsi DKI Jakarta
</span>
<span class="text-[10px]">
Jl.Mandala V Cililitan Kramatjati Jakarta Timur
</span>
</div>
</div>
</div>
</div>
</aside>

View File

@ -1,3 +1,15 @@
@{
Layout = "_Layout";
// Tentukan layout berdasarkan controller
var controller = ViewContext.RouteData.Values["controller"]?.ToString();
// Landing page menggunakan layout yang berbeda
if (controller == "Home")
{
Layout = "_Layout";
}
else
{
// Semua halaman aplikasi menggunakan layout dengan sidebar
Layout = "_LayoutApp";
}
}