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

+208
View File
@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Edit product — 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 is-active" 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" 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" data-tabs-host>
<div class="page-header">
<div>
<h1>Edit product</h1>
<p class="page-purpose">Lampa LED Black · LED-BLK-01 — sectioned editor for faster edits.</p>
</div>
<div class="page-actions">
<a class="btn btn-secondary" href="03-products.html">Cancel</a>
<button type="button" class="btn btn-primary">Save product</button>
</div>
</div>
<div class="tabs" data-tabs role="tablist">
<button type="button" class="tab is-active" data-tab="basics">Basics</button>
<button type="button" class="tab" data-tab="locales">Locales</button>
<button type="button" class="tab" data-tab="media">Media</button>
<button type="button" class="tab" data-tab="stock">Stock</button>
<button type="button" class="tab" data-tab="seo">SEO</button>
</div>
<div class="tab-panel is-active" data-panel="basics">
<div class="card">
<div class="section-block">
<h3>Identity</h3>
<div class="grid grid-2">
<div class="field"><label>Slug</label><input class="input" value="lampa-led-black" /></div>
<div class="field"><label>Model</label><input class="input" value="ILED-BLK" /></div>
<div class="field"><label>Product code</label><input class="input" value="LED-BLK-01" /></div>
<div class="field"><label>EAN</label><input class="input" value="5901234567890" /></div>
</div>
</div>
<div class="section-block">
<h3>Pricing &amp; catalog</h3>
<div class="grid grid-2">
<div class="field"><label>Price (PLN)</label><input class="input" type="number" value="299" /></div>
<div class="field"><label>30-day lowest price</label><input class="input" type="number" value="279" /></div>
<div class="field">
<label>Group</label>
<select class="select"><option>Desk lamps</option><option>Strips</option></select>
</div>
<div class="field">
<label>Category</label>
<select class="select"><option>Lamps › Desk</option><option>Strips › RGB</option></select>
<span class="field-hint">Wired to Categories (new).</span>
</div>
<div class="field"><label>Delivery hours</label><input class="input" type="number" value="48" /></div>
</div>
<div class="flex gap-12 mt-16" style="flex-wrap: wrap">
<label class="flex items-center gap-8"><input type="checkbox" class="check" checked /> Active</label>
<label class="flex items-center gap-8"><input type="checkbox" class="check" checked /> Bestseller</label>
<label class="flex items-center gap-8"><input type="checkbox" class="check" /> New</label>
</div>
</div>
</div>
</div>
<div class="tab-panel" data-panel="locales">
<div class="card">
<div class="section-block">
<h3>Polish (PL)</h3>
<div class="stack">
<div class="field"><label>Name</label><input class="input" value="Lampa LED Black" /></div>
<div class="field"><label>Short description</label><textarea class="textarea" style="min-height: 72px">Elegancka lampa biurkowa LED w czarnej obudowie.</textarea></div>
<div class="field"><label>Full description</label><textarea class="textarea">Pełny opis produktu…</textarea></div>
</div>
</div>
<div class="section-block">
<h3>English (EN)</h3>
<div class="stack">
<div class="field"><label>Name</label><input class="input" value="LED Lamp Black" /></div>
<div class="field"><label>Short description</label><textarea class="textarea" style="min-height: 72px">Elegant black LED desk lamp.</textarea></div>
</div>
</div>
<div class="card-pad"><span class="field-hint">DE / CS follow the same pattern (collapsed in mock).</span></div>
</div>
</div>
<div class="tab-panel" data-panel="media">
<div class="card">
<div class="card-head">
<h2>Images</h2>
<button type="button" class="btn btn-primary btn-sm">Upload</button>
</div>
<div class="card-pad">
<div class="grid grid-3">
<div class="card" style="padding: 12px">
<div class="thumb" style="width: 100%; height: 140px; border-radius: 8px"></div>
<div class="field mt-16"><label>Alt text (PL)</label><input class="input" value="Lampa LED Black — widok front" /></div>
<label class="flex items-center gap-8 mt-16"><input type="checkbox" class="check" checked /> Primary</label>
</div>
<div class="card" style="padding: 12px; border-style: dashed">
<div class="state-box" style="padding: 48px 12px">
<strong>Add image</strong>
Drop file or paste URL
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-panel" data-panel="stock">
<div class="card">
<div class="section-block">
<h3>Per warehouse</h3>
<div class="table-wrap">
<table class="data">
<thead><tr><th>Warehouse</th><th>Quantity</th><th>Reserved</th><th>Available</th></tr></thead>
<tbody>
<tr>
<td class="cell-strong">Warszawa Central (WH1)</td>
<td><input class="input" type="number" value="1" style="width: 100px; height: 32px" /></td>
<td class="cell-muted">1</td>
<td>0</td>
</tr>
<tr>
<td class="cell-strong">Kraków Hub (WH2)</td>
<td><input class="input" type="number" value="1" style="width: 100px; height: 32px" /></td>
<td class="cell-muted">0</td>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section-block">
<div class="field" style="max-width: 200px">
<label>Low-stock threshold</label>
<input class="input" type="number" value="5" />
<span class="field-hint">Overrides store default from Settings.</span>
</div>
</div>
</div>
</div>
<div class="tab-panel" data-panel="seo">
<div class="card section-block">
<h3>Search &amp; sharing</h3>
<div class="stack">
<div class="field"><label>Meta title (PL)</label><input class="input" value="Lampa LED Black | iLED" /></div>
<div class="field"><label>Meta description (PL)</label><textarea class="textarea" style="min-height: 80px">Kup lampę LED Black w sklepie iLED. Szybka dostawa.</textarea></div>
</div>
</div>
</div>
</main>
</div>
</div>
<script src="assets/admin-k.js"></script>
</body>
</html>