Versi1
This commit is contained in:
parent
16c4d07fc4
commit
9748568c17
127
admin/index.php
Normal file
127
admin/index.php
Normal file
@ -0,0 +1,127 @@
|
||||
<?php include 'partials/header.php'; ?>
|
||||
|
||||
<!-- Page Content Wrapper -->
|
||||
<div id="page-content-wrapper">
|
||||
<?php include 'partials/sidebar.php'; ?>
|
||||
|
||||
<div class="container-fluid px-4">
|
||||
<div class="row my-5">
|
||||
<h3 class="fs-4 mb-3">Dashboard</h3>
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
<!-- KPI Card 1 -->
|
||||
<div class="col-lg-3 col-md-6 mb-4">
|
||||
<div class="card-kpi">
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<p class="mb-0 text-secondary">Total Users</p>
|
||||
<h4 class="mb-0">1,250</h4>
|
||||
</div>
|
||||
<div class="icon-circle bg-primary text-white">
|
||||
<i class="bi bi-people"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- KPI Card 2 -->
|
||||
<div class="col-lg-3 col-md-6 mb-4">
|
||||
<div class="card-kpi">
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<p class="mb-0 text-secondary">Total Orders</p>
|
||||
<h4 class="mb-0">350</h4>
|
||||
</div>
|
||||
<div class="icon-circle bg-success text-white">
|
||||
<i class="bi bi-receipt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- KPI Card 3 -->
|
||||
<div class="col-lg-3 col-md-6 mb-4">
|
||||
<div class="card-kpi">
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<p class="mb-0 text-secondary">Pending Payment</p>
|
||||
<h4 class="mb-0">15</h4>
|
||||
</div>
|
||||
<div class="icon-circle bg-warning text-white">
|
||||
<i class="bi bi-hourglass-split"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- KPI Card 4 -->
|
||||
<div class="col-lg-3 col-md-6 mb-4">
|
||||
<div class="card-kpi">
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<p class="mb-0 text-secondary">Website Aktif</p>
|
||||
<h4 class="mb-0">320</h4>
|
||||
</div>
|
||||
<div class="icon-circle bg-info text-white">
|
||||
<i class="bi bi-globe"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mb-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<i class="bi bi-bar-chart-line me-1"></i>
|
||||
Statistik Order Bulanan
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<canvas id="orderChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 mb-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<i class="bi bi-bell me-1"></i>
|
||||
Aktivitas Terbaru
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h6 class="mb-1">Order Baru #1234</h6>
|
||||
<small>5 menit lalu</small>
|
||||
</div>
|
||||
<p class="mb-1">Paket Website UKM oleh Budi.</p>
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h6 class="mb-1">User Baru</h6>
|
||||
<small>15 menit lalu</small>
|
||||
</div>
|
||||
<p class="mb-1">Siti mendaftar.</p>
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h6 class="mb-1">Pembayaran Diterima #1233</h6>
|
||||
<small>1 jam lalu</small>
|
||||
</div>
|
||||
<p class="mb-1">Pembayaran dari Ahmad dikonfirmasi.</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include 'partials/footer.php'; ?>
|
||||
11
admin/partials/footer.php
Normal file
11
admin/partials/footer.php
Normal file
@ -0,0 +1,11 @@
|
||||
</div>
|
||||
<!-- /#wrapper -->
|
||||
|
||||
<!-- Bootstrap Bundle with Popper -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- Chart.js -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.2/dist/chart.umd.min.js"></script>
|
||||
<!-- Custom JS -->
|
||||
<script src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
19
admin/partials/header.php
Normal file
19
admin/partials/header.php
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="id">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Admin Panel</title>
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<!-- Bootstrap Icons -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
|
||||
<!-- Google Fonts (Poppins) -->
|
||||
<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=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<!-- Custom CSS -->
|
||||
<link rel="stylesheet" href="../assets/css/custom.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="d-flex" id="wrapper">
|
||||
27
admin/partials/sidebar.php
Normal file
27
admin/partials/sidebar.php
Normal file
@ -0,0 +1,27 @@
|
||||
<!-- Sidebar -->
|
||||
<div class="bg-white" id="sidebar-wrapper">
|
||||
<div class="sidebar-heading text-center py-4 fs-4 fw-bold text-uppercase border-bottom">
|
||||
<i class="bi bi-shield-lock me-2"></i>Admin Panel
|
||||
</div>
|
||||
<div class="list-group list-group-flush my-3">
|
||||
<a href="/admin/" class="list-group-item list-group-item-action active">
|
||||
<i class="bi bi-speedometer2 me-2"></i>Dashboard
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<i class="bi bi-people me-2"></i>Manajemen User
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<i class="bi bi-box-seam me-2"></i>Manajemen Produk
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<i class="bi bi-receipt me-2"></i>Manajemen Order
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">
|
||||
<i class="bi bi-gear me-2"></i>Pengaturan
|
||||
</a>
|
||||
<a href="/" class="list-group-item list-group-item-action bg-light">
|
||||
<i class="bi bi-box-arrow-left me-2"></i>Kembali ke Situs
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /#sidebar-wrapper -->
|
||||
76
assets/css/custom.css
Normal file
76
assets/css/custom.css
Normal file
@ -0,0 +1,76 @@
|
||||
:root {
|
||||
--primary-color: #0050A0;
|
||||
--secondary-color: #F2B705;
|
||||
--bg-light: #F8F9FA;
|
||||
--surface-white: #FFFFFF;
|
||||
--text-dark: #212529;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Poppins', sans-serif;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#sidebar-wrapper {
|
||||
min-height: 100vh;
|
||||
width: 250px;
|
||||
transition: margin .25s ease-out;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
|
||||
#sidebar-wrapper .sidebar-heading {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
#sidebar-wrapper .list-group-item {
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
color: #555;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#sidebar-wrapper .list-group-item.active {
|
||||
background-color: var(--primary-color);
|
||||
color: var(--surface-white);
|
||||
border-left: 5px solid var(--secondary-color);
|
||||
}
|
||||
|
||||
#sidebar-wrapper .list-group-item:hover:not(.active) {
|
||||
background-color: var(--bg-light);
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
#page-content-wrapper {
|
||||
flex: 1;
|
||||
background-color: var(--bg-light);
|
||||
}
|
||||
|
||||
.card-kpi {
|
||||
border: none;
|
||||
border-radius: 0.75rem;
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
|
||||
transition: transform .2s;
|
||||
}
|
||||
|
||||
.card-kpi:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.card-kpi .icon-circle {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.card.shadow-sm {
|
||||
border-radius: 0.75rem;
|
||||
border: none;
|
||||
}
|
||||
33
assets/js/main.js
Normal file
33
assets/js/main.js
Normal file
@ -0,0 +1,33 @@
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const ctx = document.getElementById('orderChart');
|
||||
if (ctx) {
|
||||
new Chart(ctx, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ags', 'Sep', 'Okt', 'Nov', 'Des'],
|
||||
datasets: [{
|
||||
label: 'Jumlah Order',
|
||||
data: [12, 19, 3, 5, 2, 3, 7, 8, 10, 15, 9, 11],
|
||||
backgroundColor: 'rgba(0, 80, 160, 0.7)',
|
||||
borderColor: 'rgba(0, 80, 160, 1)',
|
||||
borderWidth: 1,
|
||||
borderRadius: 5
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
scales: {
|
||||
y: {
|
||||
beginAtZero: true
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
124
index.php
124
index.php
@ -35,116 +35,54 @@ $projectImageUrl = $_SERVER['PROJECT_IMAGE_URL'] ?? '';
|
||||
<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=Inter:wght@400;700&display=swap" rel="stylesheet">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-color-start: #6a11cb;
|
||||
--bg-color-end: #2575fc;
|
||||
--text-color: #ffffff;
|
||||
--card-bg-color: rgba(255, 255, 255, 0.01);
|
||||
--card-border-color: rgba(255, 255, 255, 0.1);
|
||||
--primary-color: #0050A0;
|
||||
--secondary-color: #F2B705;
|
||||
--bg-light: #F8F9FA;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: 'Inter', sans-serif;
|
||||
background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
|
||||
color: var(--text-color);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 100vh;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
background-color: var(--bg-light);
|
||||
}
|
||||
.hero {
|
||||
background: linear-gradient(45deg, var(--primary-color), #007bff);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
body::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M-10 10L110 10M10 -10L10 110" stroke-width="1" stroke="rgba(255,255,255,0.05)"/></svg>');
|
||||
animation: bg-pan 20s linear infinite;
|
||||
z-index: -1;
|
||||
}
|
||||
@keyframes bg-pan {
|
||||
0% { background-position: 0% 0%; }
|
||||
100% { background-position: 100% 100%; }
|
||||
}
|
||||
main {
|
||||
padding: 2rem;
|
||||
}
|
||||
.card {
|
||||
background: var(--card-bg-color);
|
||||
border: 1px solid var(--card-border-color);
|
||||
border-radius: 16px;
|
||||
padding: 2rem;
|
||||
backdrop-filter: blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.loader {
|
||||
margin: 1.25rem auto 1.25rem;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border: 3px solid rgba(255, 255, 255, 0.25);
|
||||
border-top-color: #fff;
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
@keyframes spin {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
.hint {
|
||||
opacity: 0.9;
|
||||
}
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px; height: 1px;
|
||||
padding: 0; margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap; border: 0;
|
||||
}
|
||||
h1 {
|
||||
font-size: 3rem;
|
||||
.hero h1 {
|
||||
font-weight: 700;
|
||||
margin: 0 0 1rem;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
p {
|
||||
margin: 0.5rem 0;
|
||||
font-size: 1.1rem;
|
||||
.btn-admin {
|
||||
background-color: var(--secondary-color);
|
||||
border-color: var(--secondary-color);
|
||||
color: var(--text-dark);
|
||||
font-weight: 600;
|
||||
}
|
||||
code {
|
||||
background: rgba(0,0,0,0.2);
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||||
}
|
||||
footer {
|
||||
position: absolute;
|
||||
bottom: 1rem;
|
||||
font-size: 0.8rem;
|
||||
opacity: 0.7;
|
||||
.btn-admin:hover {
|
||||
background-color: #d9a404;
|
||||
border-color: #d9a404;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<div class="card">
|
||||
<h1>Analyzing your requirements and generating your website…</h1>
|
||||
<div class="loader" role="status" aria-live="polite" aria-label="Applying initial changes">
|
||||
<span class="sr-only">Loading…</span>
|
||||
</div>
|
||||
<p class="hint"><?= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWizzy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.</p>
|
||||
<p class="hint">This page will update automatically as the plan is implemented.</p>
|
||||
<p>Runtime: PHP <code><?= htmlspecialchars($phpVersion) ?></code> — UTC <code><?= htmlspecialchars($now) ?></code></p>
|
||||
<div class="hero">
|
||||
<div class="container">
|
||||
<h1 class="display-4">Manajemen User & Domain</h1>
|
||||
<p class="lead">Selamat datang di panel manajemen Anda. Klik tombol di bawah untuk masuk ke dashboard admin.</p>
|
||||
<a href="/admin/" class="btn btn-admin btn-lg mt-3">Masuk ke Admin Panel</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container text-center py-5">
|
||||
<p>Runtime: PHP <code><?= htmlspecialchars($phpVersion) ?></code> — UTC <code><?= htmlspecialchars($now) ?></code></p>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
<footer class="text-center text-muted py-3">
|
||||
Page updated: <?= htmlspecialchars($now) ?> (UTC)
|
||||
</footer>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user