Ship K-design admin with multi-channel support and polish.
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>
This commit is contained in:
Rafał MiczekandCursor committed 2026-10-17 13:46:21 +02:00
1 parent 1890b50e0d
commit da85370936
102 files changed
+20282 -2153

No files matched your search

+181
View File
@@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Reviews — 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" 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 is-active" 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>Reviews</h1>
<p class="page-purpose">Queue-first moderation — protect trust on the storefront.</p>
</div>
<div class="page-actions">
<button type="button" class="btn btn-secondary" disabled>Bulk approve (0)</button>
</div>
</div>
<div class="card">
<div class="toolbar">
<select class="select">
<option selected>Pending</option>
<option>Approved</option>
<option>Rejected</option>
<option>All</option>
</select>
<select class="select">
<option>All stars</option>
<option>5</option>
<option>4</option>
<option>3</option>
<option>1–2</option>
</select>
<div class="search-wrap">
<span class="search-icon">⌕</span>
<input class="input" type="search" placeholder="Search content or author…" />
</div>
<div class="toolbar-spacer"></div>
<span class="badge badge-warning">4 pending</span>
</div>
<div class="section-block">
<div class="flex gap-12 items-center" style="align-items: flex-start">
<input type="checkbox" class="check" style="margin-top: 4px" />
<div class="thumb thumb-lg"></div>
<div style="flex: 1; min-width: 0">
<div class="flex justify-between gap-12" style="flex-wrap: wrap">
<div>
<div class="cell-strong">Lampa LED Black</div>
<div class="cell-muted">Anna K. · 16 Oct 2026</div>
</div>
<div class="stars">★★★★☆</div>
</div>
<p style="margin: 10px 0 0; font-size: 14px">
Światło jest świetne, montaż łatwy. Paczka doszła szybko. Polecam!
</p>
<div class="field mt-16">
<label>Public reply (optional)</label>
<textarea class="textarea" style="min-height: 64px" placeholder="Dziękujemy za opinię…"></textarea>
</div>
<div class="flex gap-8 mt-16">
<button type="button" class="btn btn-primary btn-sm">Approve</button>
<button type="button" class="btn btn-danger btn-sm">Reject</button>
<button type="button" class="btn btn-secondary btn-sm">Approve + reply</button>
</div>
</div>
</div>
</div>
<div class="section-block">
<div class="flex gap-12 items-center" style="align-items: flex-start">
<input type="checkbox" class="check" style="margin-top: 4px" />
<div class="thumb thumb-lg"></div>
<div style="flex: 1; min-width: 0">
<div class="flex justify-between gap-12" style="flex-wrap: wrap">
<div>
<div class="cell-strong">LED Strip 5m</div>
<div class="cell-muted">Marek W. · 15 Oct 2026</div>
</div>
<div class="stars">★★★☆☆</div>
</div>
<p style="margin: 10px 0 0; font-size: 14px">
Kolory OK, instrukcja mogłaby być jaśniejsza. Działa jak trzeba.
</p>
<div class="flex gap-8 mt-16">
<button type="button" class="btn btn-primary btn-sm">Approve</button>
<button type="button" class="btn btn-danger btn-sm">Reject</button>
<button type="button" class="btn btn-secondary btn-sm">Reply</button>
</div>
</div>
</div>
</div>
<div class="section-block">
<div class="flex gap-12 items-center" style="align-items: flex-start">
<input type="checkbox" class="check" style="margin-top: 4px" />
<div class="thumb thumb-lg"></div>
<div style="flex: 1; min-width: 0">
<div class="flex justify-between gap-12" style="flex-wrap: wrap">
<div>
<div class="cell-strong">Lampa LED Gold</div>
<div class="cell-muted">Ola · 14 Oct 2026</div>
</div>
<div class="stars">★★★★★</div>
</div>
<p style="margin: 10px 0 0; font-size: 14px">
Piękny kolor złota, idealna na biurko. Kupię drugą.
</p>
<div class="flex gap-8 mt-16">
<button type="button" class="btn btn-primary btn-sm">Approve</button>
<button type="button" class="btn btn-danger btn-sm">Reject</button>
</div>
</div>
</div>
</div>
<div class="pagination">
<span>Showing 1–3 of 4 pending</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>
</main>
</div>
</div>
<script src="assets/admin-k.js"></script>
</body>
</html>