main
Ilham Wara Nugroho 2026-07-23 14:50:18 +07:00
parent 5aeacc73cd
commit 715f9cfcb1
22 changed files with 250 additions and 9 deletions

View File

@ -0,0 +1,23 @@
using Microsoft.AspNetCore.Mvc;
using kehati.Models.View;
using kehati.Database;
using Microsoft.EntityFrameworkCore;
using System.Diagnostics;
namespace kehati.Controllers.Admin
{
[Route("admin/dashboard")]
[Area("Admin")]
public class DashboardController : Controller
{
private readonly ApplicationDbContext db;
public DashboardController(ApplicationDbContext context)
{
db = context;
}
public async Task<IActionResult> Index()
{
return View("~/Views/Admin/Modules/Dashboard/Index.cshtml");
}
}
}

View File

@ -0,0 +1,8 @@
@{
Layout = "~/Views/Admin/Shared/_Layouts.cshtml";
ViewData["Title"] = "Login";
}
<div>
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Corporis voluptates officiis provident tempora itaque, maiores nostrum culpa blanditiis sequi modi ipsa natus, commodi debitis magnam obcaecati inventore incidunt, id quas.</p>
</div>

View File

@ -0,0 +1,119 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>@ViewData["Title"] - Kehati Admin</title>
@* <link rel="stylesheet" href="~/css/site.css" asp-append-version="true" /> *@
<link rel="shortcut icon" href="https://adiwiyata.dinaslhdki.id/assets/logo-dinas.ico" type="image/x-icon" />
<link rel="stylesheet" href="~/css/app.css" />
<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=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
</head>
<body>
<div class="flex">
<!-- Sidebar -->
<aside class="hidden w-64 flex-col border-r border-border bg-card md:flex">
<div class="flex h-16 items-center gap-2.5 border-b border-border px-5">
<span class="flex h-9 w-9 items-center justify-center rounded-lg bg-primary text-primary-foreground shadow-sm">
<i data-lucide="leaf" class="h-5 w-5"></i>
</span>
<div class="leading-tight">
<div class="font-serif text-base font-semibold">
Kehati Admin
</div>
<div class="text-[10px] uppercase tracking-widest text-muted-foreground">
Dinas LH Jakarta
</div>
</div>
</div>
<nav class="flex-1 space-y-1 p-3">
<a asp-controller="Dashboard"
asp-action="Index"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="layout-dashboard" class="h-4 w-4"></i>
Dashboard
</a>
<a asp-controller="Lokasi"
asp-action="Index"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="map-pinned" class="h-4 w-4"></i>
Lokasi
</a>
<a asp-controller="Flora"
asp-action="Index"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="trees" class="h-4 w-4"></i>
Flora
</a>
<a asp-controller="Fauna"
asp-action="Index"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="bird" class="h-4 w-4"></i>
Fauna
</a>
<a asp-controller="Tumbuhan"
asp-action="Index"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="sprout" class="h-4 w-4"></i>
Tumbuhan
</a>
</nav>
<div class="space-y-1 border-t border-border p-3">
<a asp-controller="Home"
asp-action="Index"
target="_blank"
class="flex items-center gap-3 rounded-lg px-3 py-2.5 text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="external-link" class="h-4 w-4"></i>
Lihat Situs
</a>
<form asp-controller="Auth"
asp-action="Logout"
method="post">
<button
type="submit"
class="flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left text-sm font-medium hover:bg-secondary hover:text-foreground">
<i data-lucide="log-out" class="h-4 w-4"></i>
Keluar
</button>
</form>
</div>
</aside>
<!-- Content -->
<div class="flex flex-1 flex-col">
<header class="flex h-16 items-center justify-between border-b border-border bg-card px-4 md:px-8">
<div>
<h1 class="font-serif text-lg text-foreground">
@(ViewData["PageTitle"] ?? "Panel Admin")
</h1>
<p class="text-xs text-muted-foreground">
@User.Identity?.Name
</p>
</div>
<form asp-controller="Auth"
asp-action="Logout"
method="post"
class="md:hidden">
<button
class="inline-flex items-center gap-2 rounded-lg border border-input bg-background px-3 py-1.5 text-xs font-medium">
<i data-lucide="log-out" class="h-3.5 w-3.5"></i>
Keluar
</button>
</form>
</header>
<main class="flex-1 p-4 md:p-8">
@RenderBody()
</main>
</div>
</div>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/js/lucide.js"></script>
<script>
lucide.createIcons();
</script>
@RenderSection("Scripts", required: false)
</body>
</html>

View File

@ -1,4 +1,87 @@
@{
Layout = "_AuthLayout";
ViewData["Title"] = "Login";
}
}
<div class="flex max-w-2xl mx-auto min-h-screen items-center justify-center bg-gradient-to-br from-secondary/40 via-background to-accent/20 px-4 py-12">
<div class="w-full max-w-md">
<a asp-controller="Home" asp-action="Index" class="mb-8 flex items-center justify-center gap-2.5">
<span class="flex h-10 w-10 items-center justify-center rounded-lg bg-white text-primary-foreground shadow-sm">
<img src="https://adiwiyata.dinaslhdki.id/assets/logo-dinas.ico" alt="" width="35">
</span>
<span class="flex flex-col leading-tight">
<span class="font-serif text-lg font-semibold text-foreground">
Keanekaragaman Hayati
</span>
<span class="text-[10px] uppercase tracking-widest text-muted-foreground">
Panel Admin
</span>
</span>
</a>
<div class="rounded-2xl border border-border bg-card p-8 shadow-lg mt-3">
<h1 class="font-serif text-2xl text-foreground">
Masuk Admin
</h1>
<p class="mt-1 text-sm text-muted-foreground">
Masukkan kredensial admin Anda untuk melanjutkan.
</p>
<form asp-action="Login" asp-controller="Auth" method="post" class="mt-6 space-y-4">
<div class="mb-2">
<label class="text-sm font-medium text-foreground">
Email
</label>
<input
type="email"
name="Email"
class="mt-1.5 w-full rounded-lg border border-input bg-background px-3.5 py-2.5 text-sm outline-none focus:ring-2 ring-ring/50"
placeholder="admin@dlh.jakarta.go.id"
required />
</div>
<div class="mb-2">
<label class="text-sm font-medium text-foreground">
Kata Sandi
</label>
<input
type="password"
name="Password"
class="mt-1.5 w-full rounded-lg border border-input bg-background px-3.5 py-2.5 text-sm outline-none focus:ring-2 ring-ring/50"
placeholder="••••••••"
minlength="6"
required />
</div>
<button
type="submit"
class="flex w-full items-center justify-center gap-2 rounded-lg bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground shadow-sm transition-colors hover:bg-primary/90">
<i data-lucide="log-in" class="h-4 w-4"></i>
Masuk
</button>
</form>
@* <div class="mt-6 text-center text-sm text-muted-foreground">
Belum punya akun?
<a asp-action="Register"
asp-controller="Auth"
class="font-medium text-primary hover:underline">
Daftar
</a>
</div> *@
</div>
<p class="mt-6 text-center text-xs text-muted-foreground">
<a asp-controller="Home"
asp-action="Index"
class="hover:text-foreground">
← Kembali ke situs
</a>
</p>
</div>
</div>

View File

@ -1,5 +1,5 @@
@{
ViewData["Title"] = "Detail Katalog";
ViewData["Title"] = @ViewBag.data.Name;
}
<div class="mx-auto max-w-6xl px-4 py-12 sm:px-6 lg:px-8">

View File

@ -1,5 +1,5 @@
@{
ViewData["Title"] = "Detail @ViewBag.data.Name";
ViewData["Title"] = @ViewBag.data.Name;
}
<div class="mx-auto max-w-6xl px-4 py-12 sm:px-6 lg:px-8">

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("kehati")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+56be7efdaf5c50100d6c5c1ae997b30938254917")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5aeacc73cd42714120318c9ad688c888e26387eb")]
[assembly: System.Reflection.AssemblyProductAttribute("kehati")]
[assembly: System.Reflection.AssemblyTitleAttribute("kehati")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
27429a71fbcc6eccf882414b1dd32a7bf9ce6d2b36a5a7ee3b98067b960c1bc5
a44c00d4f1ba9963a230ee1033769a137e647d248dddaaac98e20487a3e5d6e8

View File

@ -28,6 +28,14 @@ build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =
[/Applications/MAMP/htdocs/kehati/Views/Admin/Modules/Dashboard/Index.cshtml]
build_metadata.AdditionalFiles.TargetPath = Vmlld3MvQWRtaW4vTW9kdWxlcy9EYXNoYm9hcmQvSW5kZXguY3NodG1s
build_metadata.AdditionalFiles.CssScope =
[/Applications/MAMP/htdocs/kehati/Views/Admin/Shared/_Layouts.cshtml]
build_metadata.AdditionalFiles.TargetPath = Vmlld3MvQWRtaW4vU2hhcmVkL19MYXlvdXRzLmNzaHRtbA==
build_metadata.AdditionalFiles.CssScope =
[/Applications/MAMP/htdocs/kehati/Views/Auth/Login.cshtml]
build_metadata.AdditionalFiles.TargetPath = Vmlld3MvQXV0aC9Mb2dpbi5jc2h0bWw=
build_metadata.AdditionalFiles.CssScope =

View File

@ -1 +1 @@
2aa414e5f0c16ea07a1df50d4b47ec5e8c134cd12f4762a9d39ad7bd1b4d8b0c
5619cdcaf785d1aa3d9af3625c3bf14e46dd567fb825e760cb14612961ee183a

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long