feat(kelengkapanNasabah): Page Kelengkapan Nasabah

main
Kevin Hendrawan 2025-12-02 13:15:36 +07:00 committed by kevin
parent 5a7d5cc85c
commit bc10f51003
4 changed files with 282 additions and 0 deletions

View File

@ -0,0 +1,19 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Controllers.Biodata{
[Route("[controller]/[action]")]
public class BiodataController : Controller{
private readonly ILogger<BiodataController> _logger;
public BiodataController(ILogger<BiodataController> logger)
{
_logger = logger;
}
[HttpGet]
public IActionResult BioNasabah()
{
return View("~/Views/Biodata/Nasabah.cshtml");
}
}
}

View File

@ -0,0 +1,186 @@
@{
ViewData["Title"] = "Bio Nasabah";
Layout = "~/Views/Shared/_LayoutAppWithoutNavbar.cshtml";
}
<div class="min-h-screen flex items-center justify-center py-8 px-4">
<div class="w-full max-w-4xl">
<div class="flex flex-col gap-2 md:flex-row md:justify-center md:gap-0 mb-6">
<div class="prose">
<span class="text-xl font-semibold text-gray-900 font-['Plus_Jakarta_Sans']">
Lengkapi Biodata Anda
</span>
</div>
</div>
<!-- Alert Box with DaisyUI -->
<div class="alert border-blue-200 bg-blue-50 rounded-lg mb-6">
<div>
<h3 class="font-semibold text-blue-800">Selamat Datang!</h3>
<div class="text-sm text-blue-600">Silakan lengkapi biodata Anda untuk dapat menggunakan layanan e-Bank Sampah. Form ini hanya akan muncul sekali.</div>
</div>
</div>
<!-- Form -->
<form class="space-y-6">
<!-- Informasi Biodata Section 1 -->
<div class="bg-white rounded-lg shadow-sm p-6">
<h3 class="text-lg font-medium text-gray-700 mb-4">Informasi Biodata</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<!-- Nama Nasabah -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Nama Nasabah <span class="text-red-500">*</span>
</label>
<input
type="text"
value="Ikhdan Nizar Maulana"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
<!-- Email -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Email <span class="text-red-500">*</span>
</label>
<input
type="email"
value="banksampahjaktim@gmail.com"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
<!-- No. HP -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
No. HP <span class="text-red-500">*</span>
</label>
<input
type="tel"
placeholder="Masukkan nomor HP"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
<!-- No. KTP -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
No. KTP <span class="text-red-500">*</span>
</label>
<input
type="text"
placeholder="Masukkan No KTP (16 digit)"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
</div>
</div>
<!-- Informasi Biodata Section 2 -->
<div class="bg-white rounded-lg shadow-sm p-6">
<h3 class="text-lg font-medium text-gray-700 mb-4">Informasi Biodata</h3>
<!-- Alamat -->
<div class="mb-4">
<label class="block text-sm font-medium text-gray-700 mb-2">
Alamat <span class="text-red-500">*</span>
</label>
<textarea
rows="4"
placeholder="Masukkan alamat lengkap"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition resize-none"
></textarea>
</div>
<!-- RT, RW, Kode Pos -->
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
RT <span class="text-red-500">*</span>
</label>
<input
type="text"
placeholder="Masukkan RT"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
RW <span class="text-red-500">*</span>
</label>
<input
type="text"
placeholder="Masukkan RW"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Kode Pos <span class="text-red-500">*</span>
</label>
<input
type="text"
placeholder="Masukkan Kode Pos"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition"
/>
</div>
</div>
<!-- Provinsi, Kota -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Provinsi <span class="text-red-500">*</span>
</label>
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition bg-white">
<option>Pilih Provinsi</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Kota <span class="text-red-500">*</span>
</label>
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition bg-white">
<option>Pilih Provinsi</option>
</select>
</div>
</div>
<!-- Kecamatan, Kelurahan -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Kecamatan <span class="text-red-500">*</span>
</label>
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition bg-white">
<option>Pilih Provinsi</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">
Kelurahan <span class="text-red-500">*</span>
</label>
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition bg-white">
<option>Pilih Provinsi</option>
</select>
</div>
</div>
<div class="divider"></div>
<!-- Submit Button -->
<div class="flex justify-end">
<button type="submit"
class="px-8 py-2.5 bg-green-800 rounded-full text-white text-base font-semibold font-['Plus_Jakarta_Sans'] leading-6 hover:bg-green-900 w-full sm:w-auto">
Simpan dan Lanjutkan
</button>
</div>
</div>
</form>
</div>
</div>

View File

@ -0,0 +1,72 @@
@{
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 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, 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 Jakarta">
<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">
<!-- 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" />
<link rel="stylesheet" href="https://cdn.datatables.net/2.3.4/css/dataTables.tailwindcss.css" />
@await RenderSectionAsync("Styles", required: false)
<!-- Select2 -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
</head>
<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="_NavbarApp" />
<!-- Page content here -->
<main class="container mx-auto p-6">
@RenderBody()
</main>
</div>
</div>
<!-- Scripts -->
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script src="https://cdn.datatables.net/2.3.4/js/dataTables.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="/plugins/datatables/dataTables.tailwindcss.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>

View File

@ -12,6 +12,11 @@
{ {
Layout = "_LayoutRegistrasi"; Layout = "_LayoutRegistrasi";
} }
else if (controller == "Bildata")
{
Layout = "_LayoutAppWithoutNavbar";
}
else else
{ {
// Semua halaman aplikasi menggunakan layout dengan sidebar // Semua halaman aplikasi menggunakan layout dengan sidebar