continuous-integration/drone/push Build is passing
Replace placeholder admin pages with the design system, add analytics/customers/categories/inventory/settings, channel pricing and order sources, plus skeleton loaders and clean motion. Co-authored-by: Cursor <cursoragent@cursor.com>
201 lines
9.6 KiB
HTML
201 lines
9.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>Customers — iLED Admin</title>
|
||
<link rel="stylesheet" href="assets/admin-k.css" />
|
||
</head>
|
||
<body>
|
||
<div class="sidebar-backdrop" data-menu-close></div>
|
||
<div class="app">
|
||
<aside class="sidebar" id="sidebar">
|
||
<div class="sidebar-brand">
|
||
<span class="mark"><svg class="ico" aria-hidden="true"><use href="#i-bulb"></use></svg></span>
|
||
<span>iLED Admin</span>
|
||
</div>
|
||
<nav class="sidebar-nav" aria-label="Main">
|
||
<div class="nav-group">
|
||
<div class="nav-group-label">Ops</div>
|
||
<a class="nav-link" href="02-dashboard.html"><svg class="ico" aria-hidden="true"><use href="#i-dashboard"></use></svg> Dashboard</a>
|
||
<a class="nav-link" href="05-orders.html"><svg class="ico" aria-hidden="true"><use href="#i-orders"></use></svg> Orders</a>
|
||
<a class="nav-link" href="12-inventory.html"><svg class="ico" aria-hidden="true"><use href="#i-inventory"></use></svg> Inventory</a>
|
||
</div>
|
||
<div class="nav-group">
|
||
<div class="nav-group-label">Catalog</div>
|
||
<a class="nav-link" href="03-products.html"><svg class="ico" aria-hidden="true"><use href="#i-products"></use></svg> Products</a>
|
||
<a class="nav-link" href="11-categories.html"><svg class="ico" aria-hidden="true"><use href="#i-categories"></use></svg> Categories</a>
|
||
</div>
|
||
<div class="nav-group">
|
||
<div class="nav-group-label">People</div>
|
||
<a class="nav-link is-active" href="10-customers.html"><svg class="ico" aria-hidden="true"><use href="#i-customers"></use></svg> Customers</a>
|
||
</div>
|
||
<div class="nav-group">
|
||
<div class="nav-group-label">Marketing</div>
|
||
<a class="nav-link" href="07-promotions.html"><svg class="ico" aria-hidden="true"><use href="#i-promotions"></use></svg> Promotions</a>
|
||
<a class="nav-link" href="08-newsletter.html"><svg class="ico" aria-hidden="true"><use href="#i-newsletter"></use></svg> Newsletter</a>
|
||
<a class="nav-link" href="09-reviews.html"><svg class="ico" aria-hidden="true"><use href="#i-reviews"></use></svg> Reviews</a>
|
||
</div>
|
||
<div class="nav-group">
|
||
<div class="nav-group-label">System</div>
|
||
<a class="nav-link" href="13-settings.html"><svg class="ico" aria-hidden="true"><use href="#i-settings"></use></svg> Settings</a>
|
||
</div>
|
||
</nav>
|
||
<div class="sidebar-foot"><a class="btn btn-secondary w-full" href="01-login.html">Log out</a></div>
|
||
</aside>
|
||
|
||
<div class="main">
|
||
<header class="topbar">
|
||
<div class="topbar-left">
|
||
<button type="button" class="menu-btn" data-menu-toggle aria-label="Open menu"><svg class="ico" aria-hidden="true"><use href="#i-menu"></use></svg></button>
|
||
<a href="index.html" class="muted" style="font-size: 12.5px; font-weight: 600">Mocks</a>
|
||
</div>
|
||
<div class="topbar-right">
|
||
<div class="locale"><button type="button" class="is-active">PL</button><button type="button">EN</button><button type="button">DE</button><button type="button">CS</button></div>
|
||
<div class="admin-chip"><span class="avatar">AK</span> Anna K.</div>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="content">
|
||
<div class="page-header">
|
||
<div>
|
||
<h1>Customers</h1>
|
||
<p class="page-purpose">Find buyers and see order history — CRM light for shop ops.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="split">
|
||
<div class="card">
|
||
<div class="toolbar">
|
||
<div class="search-wrap">
|
||
<span class="search-icon">⌕</span>
|
||
<input class="input" type="search" placeholder="Email, name, phone…" />
|
||
</div>
|
||
<select class="select"><option>All</option><option>Active</option><option>Blocked</option></select>
|
||
</div>
|
||
<div class="table-wrap">
|
||
<table class="data">
|
||
<thead>
|
||
<tr>
|
||
<th>Customer</th>
|
||
<th>Orders</th>
|
||
<th>LTV</th>
|
||
<th>Last order</th>
|
||
<th>Status</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="is-selected" style="cursor: pointer">
|
||
<td>
|
||
<div class="cell-strong">Jan Nowak</div>
|
||
<div class="cell-muted">jan.nowak@mail.pl</div>
|
||
</td>
|
||
<td>5</td>
|
||
<td class="cell-strong">2 140 zł</td>
|
||
<td class="cell-muted">17 Oct</td>
|
||
<td><span class="badge badge-success">Active</span></td>
|
||
</tr>
|
||
<tr style="cursor: pointer">
|
||
<td>
|
||
<div class="cell-strong">Anna Kowalska</div>
|
||
<div class="cell-muted">anna.kowalska@mail.pl</div>
|
||
</td>
|
||
<td>2</td>
|
||
<td class="cell-strong">628 zł</td>
|
||
<td class="cell-muted">17 Oct</td>
|
||
<td><span class="badge badge-success">Active</span></td>
|
||
</tr>
|
||
<tr style="cursor: pointer">
|
||
<td>
|
||
<div class="cell-strong">Maria Wiśniewska</div>
|
||
<div class="cell-muted">m.wisniewska@mail.pl</div>
|
||
</td>
|
||
<td>1</td>
|
||
<td class="cell-strong">149 zł</td>
|
||
<td class="cell-muted">16 Oct</td>
|
||
<td><span class="badge badge-success">Active</span></td>
|
||
</tr>
|
||
<tr style="cursor: pointer">
|
||
<td>
|
||
<div class="cell-strong">Spam Account</div>
|
||
<div class="cell-muted">spam@example.com</div>
|
||
</td>
|
||
<td>0</td>
|
||
<td class="cell-muted">0 zł</td>
|
||
<td class="cell-muted">—</td>
|
||
<td><span class="badge badge-danger">Blocked</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="pagination">
|
||
<span>Showing 1–4 of 842</span>
|
||
<div class="pagination-btns">
|
||
<button type="button" class="btn btn-secondary btn-sm" disabled>Prev</button>
|
||
<button type="button" class="btn btn-secondary btn-sm">Next</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="stack" style="gap: 16px">
|
||
<div class="card">
|
||
<div class="card-head">
|
||
<h2>Jan Nowak</h2>
|
||
<button type="button" class="btn btn-danger btn-sm">Block</button>
|
||
</div>
|
||
<div class="section-block">
|
||
<div class="cell-muted">Email</div>
|
||
<div class="cell-strong">jan.nowak@mail.pl</div>
|
||
<div class="cell-muted mt-16">Phone</div>
|
||
<div>+48 600 100 200</div>
|
||
<div class="cell-muted mt-16">Joined</div>
|
||
<div>03 Mar 2025</div>
|
||
</div>
|
||
<div class="section-block">
|
||
<h3>Addresses</h3>
|
||
<div class="cell-strong">Billing</div>
|
||
<div class="cell-muted">ul. Krótka 4 / 12, 00-001 Warszawa</div>
|
||
<div class="cell-strong mt-16">Shipping default</div>
|
||
<div class="cell-muted">Same as billing · prefers InPost</div>
|
||
</div>
|
||
<div class="section-block">
|
||
<h3>Notes</h3>
|
||
<textarea class="textarea" style="min-height: 72px">VIP — often buys desk lamps. Prefers DHL.</textarea>
|
||
<button type="button" class="btn btn-secondary btn-sm mt-16">Save note</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="card-head"><h2>Order history</h2></div>
|
||
<div class="table-wrap">
|
||
<table class="data">
|
||
<thead><tr><th>Order</th><th>Total</th><th>Status</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><a class="cell-strong" href="06-order-detail.html">#ILED-1041</a></td>
|
||
<td>478,00 zł</td>
|
||
<td><span class="badge badge-info">Ready to pick</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><a class="cell-strong" href="06-order-detail.html">#ILED-0988</a></td>
|
||
<td>329,00 zł</td>
|
||
<td><span class="badge badge-success">Completed</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><a class="cell-strong" href="06-order-detail.html">#ILED-0912</a></td>
|
||
<td>598,00 zł</td>
|
||
<td><span class="badge badge-success">Completed</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
</div>
|
||
</div>
|
||
<script src="assets/admin-k.js"></script>
|
||
</body>
|
||
</html>
|