Compare commits

...

11 Commits

33 changed files with 944 additions and 114 deletions

View File

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

View File

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

View File

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

View File

@ -0,0 +1,11 @@
@{
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

@ -0,0 +1,214 @@
@{
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

@ -0,0 +1,323 @@
@{
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 Bank Sampah
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="Nama Bank Sampah" value="Jakarta Timur" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Kategori Bank Sampah
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Kategori Bank Sampah</option>
<option value="Warga" selected>Warga</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">
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">
SK Penetapan
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="SK Penetapan" value="127.12.1222.1111" />
</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">
Penangung Jawab
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="Penangung Jawab" value="Ikhdan Maulana" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
No. HP Penanggung Jawab
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="No. HP Penanggung Jawab" 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">
Jumlah Pengurus
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input" placeholder="Jumlah Pengurus" value="67" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Badan Hukum
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Badan Hukum</option>
<option value="PT" selected>PT</option>
<option value="CV">CV</option>
<option value="UD">UD</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">
<span>Luas Lahan m<sup>2</sup></span>
<span class="text-red-500">*</span>
</legend>
<input type="number" min="1" class="input" placeholder="Luas Lahan m2" value="6128" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Status Lahan
<span class="text-red-500">*</span>
</legend>
<select class="select">
<option disabled>Pilih Status Lahan</option>
<option value="Pribadi" selected>Pribadi</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">
Tahun Berdiri
<span class="text-red-500">*</span>
</legend>
<input type="number" class="input" placeholder="Tahun Berdiri" value="2021" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
SK Penetapan PT
<span class="text-red-500">*</span>
</legend>
<input type="text" class="input" placeholder="Tahun Berdiri" value="12.340-327832.38.12" />
</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="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">
Latitude
</legend>
<input type="number" class="input" placeholder="Latitude" value="324242" />
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Longitude
</legend>
<input type="number" class="input" placeholder="Longitude" value="-371872" />
</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">
File SK
<span class="text-red-500">*</span>
</legend>
<input type="file" class="file-input" />
<label class="label">Ukuran Maksimal 5MB</label>
</fieldset>
</div>
<div class="flex flex-col">
<fieldset class="fieldset">
<legend class="fieldset-legend">
Logo Bank Sampah
<span class="text-red-500">*</span>
</legend>
<input type="file" class="file-input" />
<label class="label">Ukuran Maksimal 5MB</label>
</fieldset>
</div>
</div>
<div class="divider"></div>
<div class="card-actions">
<a href="@Url.Action("Index","Profil")" 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

@ -0,0 +1,160 @@
@{
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>
<a href="@Url.Action("Edit","Profil", 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 Bank Sampah</span>
<span class="text-sm">Jakarta Timur</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Kategori Bank Sampah</span>
<span class="text-sm">Warga</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">banksampahjaktim@gmail.com</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">SK Penetapan</span>
<span class="text-sm">127.12.1222.1111</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">Penangung Jawab</span>
<span class="text-sm">Ikhdan Maulana</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">No. HP Penanggung Jawab</span>
<span class="text-sm">089556728383</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">Jumlah Pengurus</span>
<span class="text-sm">67</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Badan Hukum</span>
<span class="text-sm">PT</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">Luas Lahan m<sup>2</sup></span>
<span class="text-sm">6128</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Status Lahan</span>
<span class="text-sm">Pribadi</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">Tahun Berdiri</span>
<span class="text-sm">2021</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">SK Penetapan PT</span>
<span class="text-sm">12.340-327832.38.12</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 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">Latitude</span>
<span class="text-sm">324242</span>
</div>
<div class="flex flex-col">
<span class="text-xs text-gray-500">Longitude</span>
<span class="text-sm">-371872</span>
</div>
</div>
</div>
</div>

View File

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

View File

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

View File

@ -41,14 +41,16 @@
<div class="drawer md:drawer-open">
<input id="my-drawer-2" type="checkbox" class="drawer-toggle" />
<div class="drawer-content">
@await Html.PartialAsync("_Navbar")
<!-- Navbar -->
<partial name="~/Areas/Shared/Layouts/App/_Navbar.cshtml" />
<!-- Page content here -->
<main class="container mx-auto p-6">
@RenderBody()
</main>
</div>
<div class="drawer-side z-50 lg:z-0">
@await Html.PartialAsync("_Sidebar")
<!-- Sidebar -->
<partial name="~/Areas/Shared/Layouts/App/_Sidebar.cshtml" />
</div>
</div>

View File

@ -0,0 +1,126 @@
<label class="drawer-overlay" for="my-drawer-2" aria-label="close sidebar"></label>
<aside class="bg-base-100 min-h-screen">
<!-- 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>
<ul class="menu menu-sidebar bg-base-100 text-base-content min-h-full w-64 p-4 text-gray-500">
<!-- Sidebar content here -->
@{
var currentArea = ViewContext.RouteData.Values["area"] as string;
var controller = ViewContext.RouteData.Values["controller"] as string;
}
@if (currentArea == "Sudin")
{
<li>
<a href="@Url.Action("Index","Dashboard")" class="w-full rounded-full @ViewData["DashboardActive"]">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a href="@Url.Action("Index","DataBankSampah")" class="rounded-full @ViewData["DataBankSampahActive"]">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<li>
<a class="rounded-full">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<li>
<a href="@Url.Action("Index","DataOfftaker")" class="rounded-full @ViewData["DataOfftakerActive"]">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<li>
<a href="@Url.Action("Index","TransaksiLaporan")" class="rounded-full @ViewData["TransaksiLaporanActive"]">
<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>
<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>Aktifitas</a></li>
<li><a>Harga Sampah</a></li>
<li><a asp-area="Bsi" asp-controller="DataOfftaker" asp-action="Index">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
{
}
</ul>
<div class="card absolute inset-x-0 bottom-0 m-3 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>
</aside>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
@{
Layout = "_LayoutApp";
ViewData["Title"] = "Dashboard";
ViewData["Role"] = "sudin";
ViewData["DashboardActive"] = "menu-active";
}

View File

@ -1,5 +1,4 @@
@{
Layout = "_LayoutApp";
ViewData["Title"] = "Data Bank Sampah";
ViewData["DataBankSampahActive"] = "menu-active";
}
@ -55,7 +54,7 @@
<div class="card bg-white">
<div class="card-body p-2">
@await Html.PartialAsync("Components/Table/_Control")
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
@ -190,6 +189,6 @@
</tbody>
</table>
</div>
@await Html.PartialAsync("Components/Table/_Pagination")
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,5 +1,4 @@
@{
Layout = "_LayoutApp";
ViewData["Title"] = "Data Offtaker";
ViewData["DataOfftakerActive"] = "menu-active";
}
@ -49,7 +48,7 @@
<div class="card bg-white">
<div class="card-body p-2">
@await Html.PartialAsync("Components/Table/_Control")
<partial name="~/Areas/Shared/Components/Table/_Control.cshtml" />
<div class="overflow-x-auto">
<table class="table-zebra table">
<!-- head -->
@ -181,6 +180,6 @@
</tbody>
</table>
</div>
@await Html.PartialAsync("Components/Table/_Pagination")
<partial name="~/Areas/Shared/Components/Table/_Pagination.cshtml" />
</div>
</div>

View File

@ -1,5 +1,4 @@
@{
Layout = "_LayoutApp";
ViewData["Title"] = "Transaksi Laporan";
ViewData["TransaksiLaporanActive"] = "menu-active";
}

View File

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

View File

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

View File

@ -34,4 +34,12 @@
<None Include=".gitlab\merge_request_templates\Default.md" />
</ItemGroup>
<ItemGroup>
<Folder Include="Areas\Bsi\Data\" />
<Folder Include="Areas\Bsi\Models\" />
<Folder Include="Areas\Shared\Layouts\LandingPage\" />
<Folder Include="Areas\Sudin\Data\" />
<Folder Include="Areas\Sudin\Models\" />
</ItemGroup>
</Project>

View File

@ -1,14 +0,0 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Controllers
{
public class DashboardController : Controller
{
// GET: DashboardController
public ActionResult Index()
{
return View();
}
}
}

View File

@ -116,8 +116,8 @@ app.UseAuthorization();
// Map routes with .NET 9 improvements
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
// Health check endpoint
app.MapGet("/health", () => Results.Ok(new {

View File

@ -63,7 +63,7 @@
</div>
<div class="navbar-end">
<a href="@Url.Action("Index","Dashboard")" class="btn bg-green-800 hover:bg-green-700 text-white border-none px-8 py-2.5 rounded-full font-semibold text-base font-jakarta">Login</a>
<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>
</div>
</header>

View File

@ -1,69 +0,0 @@
<label class="drawer-overlay" for="my-drawer-2" aria-label="close sidebar"></label>
<aside class="bg-base-100 min-h-screen">
<!-- 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>
<ul class="menu menu-sidebar bg-base-100 text-base-content min-h-full w-64 p-4">
<!-- Sidebar content here -->
<li>
<a href="@Url.Action("Index","Dashboard")" class="w-full rounded-full text-gray-500 @ViewData["DashboardActive"]">
<i class="ph ph-gauge me-2 text-lg"></i>
Dashboard
</a>
</li>
<li>
<a href="@Url.Action("Index","DataBankSampah")" class="rounded-full text-gray-500 @ViewData["DataBankSampahActive"]">
<i class="ph ph-house-line me-2 text-lg"></i>
Data Bank Sampah
</a>
</li>
<li>
<a class="rounded-full text-gray-500">
<i class="ph ph-users-four me-2 text-lg"></i>
Data Nasabah
</a>
</li>
<li>
<a href="@Url.Action("Index","DataOfftaker")" class="rounded-full text-gray-500 @ViewData["DataOfftakerActive"]">
<i class="ph ph-read-cv-logo me-2 text-lg"></i>
Data Offtaker
</a>
</li>
<li>
<a href="@Url.Action("Index","TransaksiLaporan")" class="rounded-full text-gray-500 @ViewData["TransaksiLaporanActive"]">
<i class="ph ph-database me-2 text-lg"></i>
Transaksi Laporan
</a>
</li>
</ul>
<div class="card absolute inset-x-0 bottom-0 m-3 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>
</aside>

View File

@ -7,7 +7,7 @@
"build": "tailwindcss -i ./wwwroot/css/input.css -o ./wwwroot/css/site.css --minify"
},
"devDependencies": {
"daisyui": "^5.1.29",
"daisyui": "^5.3.7",
"tailwindcss": "^4.1.14"
},
"dependencies": {

View File

@ -22,8 +22,8 @@ importers:
version: 0.6.14(prettier@3.6.2)
devDependencies:
daisyui:
specifier: ^5.1.29
version: 5.1.29
specifier: ^5.3.7
version: 5.3.7
tailwindcss:
specifier: ^4.1.14
version: 4.1.14
@ -239,8 +239,8 @@ packages:
engines: {node: '>=4'}
hasBin: true
daisyui@5.1.29:
resolution: {integrity: sha512-4eZhqCXO7CJVNGytTZEIQYJz3fah2gPleuqp4qUD4fD8WoEQIYzKwlOewi8nPaz6NX7vvSLZ+YSjt5Z5zqacGw==}
daisyui@5.3.7:
resolution: {integrity: sha512-0+8PaSGift0HlIQABCeZzWOBV5Nx/vsI2TihB9hbaEyZENPlZZz+se2JnAH5rz9gBYTyDLB7NJup8hkREr6WBw==}
detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
@ -639,7 +639,7 @@ snapshots:
cssesc@3.0.0: {}
daisyui@5.1.29: {}
daisyui@5.3.7: {}
detect-libc@1.0.3: {}

View File

@ -133,18 +133,18 @@
--color-bank-sampah-secondary-25: #FCDED3;
}
.menu-sidebar a:active,
.menu-sidebar a.menu-active,
.menu-sidebar details > summary:active,
.menu-sidebar a:hover,
.menu-sidebar details > summary:hover {
@apply bg-bank-sampah-primary-500 rounded-full text-white;
.menu-sidebar a,
.menu-sidebar summary {
@apply rounded-full transition-colors duration-200;
}
.menu-sidebar a:hover,
.menu-sidebar a:active,
.menu-sidebar a.menu-active,
.menu-sidebar details > summary:active {
@apply bg-bank-sampah-primary-500 rounded-full text-white shadow-none;
.menu-sidebar details > summary:hover,
.menu-sidebar details > summary:active,
.menu-sidebar details[open] > summary {
@apply bg-bank-sampah-primary-500 text-white shadow-none;
}
.badge {