From 9a3c68eae52f30d7b7641ca9c1e903d55f771326 Mon Sep 17 00:00:00 2001 From: Priec Date: Thu, 18 Jun 2026 10:51:07 +0200 Subject: [PATCH] port of the new penguinui placing --- assets/views/admin/base.html | 2 +- assets/views/base.html | 2 +- assets/views/macros/ui.html | 2 +- assets/views/partials/settings_dropdown.html | 2 +- assets/views/shop/_card.html | 2 +- assets/views/shop/_sidebar.html | 2 +- hardcoded-inventory.md | 67 ++++++++++++-------- 7 files changed, 47 insertions(+), 32 deletions(-) diff --git a/assets/views/admin/base.html b/assets/views/admin/base.html index 5ae45fc..cbef20d 100644 --- a/assets/views/admin/base.html +++ b/assets/views/admin/base.html @@ -59,7 +59,7 @@ class="fixed inset-y-0 left-0 z-40 flex w-60 flex-col border-r border-outline bg-surface-alt transition-transform duration-300 md:translate-x-0 dark:border-outline-dark dark:bg-surface-dark-alt"> {# Sidebar nav links — adapted from the vendored Penguin UI component - assets/views/penguinui/sidebar/simple-sidebar.html: Penguin's link + penguinui-components/sidebar/simple-sidebar.html: Penguin's link treatment (hover:bg-primary/5, focus-visible:underline) with the active state (bg-primary/10 + text-on-surface-strong) mapped onto our data-nav / aria-current so markActiveNav() keeps driving it. #} diff --git a/assets/views/base.html b/assets/views/base.html index 1cc2e50..23f9e4e 100644 --- a/assets/views/base.html +++ b/assets/views/base.html @@ -153,7 +153,7 @@
` quote bugs fixed) - The global `toast('message')` JS helper now dispatches the component's @@ -58,7 +73,7 @@ and then use it (instead of hand-rolling): ## 2. Sidebar (Admin) — ✅ DONE **Penguin UI: `sidebar/simple-sidebar.html`** -- Exact upstream mirror at `assets/views/penguinui/sidebar/simple-sidebar.html` (reference only) +- Exact upstream mirror at `penguinui-components/sidebar/simple-sidebar.html` (reference only) - Adapted at use-site in `assets/views/admin/base.html`: the nav links + bottom exit/logout now use Penguin's link treatment (`hover:bg-primary/5`, `underline-offset-2 focus-visible:underline focus:outline-hidden`) and the @@ -73,7 +88,7 @@ and then use it (instead of hand-rolling): ## 3. Sidebar (Category Accordion) — ✅ DONE **Penguin UI: `sidebar/sidebar-with-collapsible-menus.html`** -- Exact upstream mirror at `assets/views/penguinui/sidebar/sidebar-with-collapsible-menus.html` (reference only) +- Exact upstream mirror at `penguinui-components/sidebar/sidebar-with-collapsible-menus.html` (reference only) - Adapted at use-site in `assets/views/shop/_sidebar.html`: Penguin link treatment + active state + chevron-down rotation (`rotate-180`); child items now sit in a bordered/indented list instead of the old `padding-left:28px` + `↳`. Kept our @@ -90,7 +105,7 @@ and then use it (instead of hand-rolling): ## 4. Dropdown (Settings) — ✅ DONE **Penguin UI: `dropdowns/dropdown-with-click.html`** -- Exact upstream mirror at `assets/views/penguinui/dropdowns/dropdown-with-click.html` (reference only) +- Exact upstream mirror at `penguinui-components/dropdowns/dropdown-with-click.html` (reference only) - **De-duplicated**: the ~103-line copy-paste is now one shared partial `assets/views/partials/settings_dropdown.html`, included by both `base.html` and `admin/base.html` (each host keeps its own positioning wrapper @@ -125,7 +140,7 @@ and then use it (instead of hand-rolling): ## 6. Product Card — ✅ DONE **Penguin UI: `card/ecommerce-product-card.html`** -- Exact upstream mirror at `assets/views/penguinui/card/ecommerce-product-card.html` (reference only) +- Exact upstream mirror at `penguinui-components/card/ecommerce-product-card.html` (reference only) - Adapted/rendered copy is `assets/views/shop/_card.html`: `
` shell + Penguin image/title/price layout and the cart-icon add-to-cart button, wired to our product data + i18n + htmx `hx-post` add-to-cart + `toast()`. Demo-only rating stars, @@ -171,7 +186,7 @@ and then use it (instead of hand-rolling): ## 9. Checkbox — ✅ DONE **Penguin UI: `checkbox/default-checkbox.html`** -- Exact upstream mirror at `assets/views/penguinui/checkbox/default-checkbox.html` (reference only) +- Exact upstream mirror at `penguinui-components/checkbox/default-checkbox.html` (reference only) - `ui::checkbox(name, label, id, value="on", checked, attrs)` macro in `macros/ui.html` (full Penguin control: custom box + check-icon + label, `has-checked:`/`peer` variants). - Adopted: product/category "Published" + shipping "Enabled". @@ -179,7 +194,7 @@ and then use it (instead of hand-rolling): ## 10. Text Input — ✅ DONE **Penguin UI: `text-input/default-text-input.html`** -- Exact upstream mirror at `assets/views/penguinui/text-input/default-text-input.html` (reference only) +- Exact upstream mirror at `penguinui-components/text-input/default-text-input.html` (reference only) - `ui::input(name, type, id, value, placeholder, required, autocomplete, attrs, extra, width="w-full")` macro — **verbatim** Penguin classes (`bg-surface-alt`, `focus-visible:outline-*`). Adopted at every text/email/number/password input: login (2), checkout (email, @@ -193,14 +208,14 @@ and then use it (instead of hand-rolling): ## 11. Textarea — ✅ DONE **Penguin UI: `text-area/default-textarea.html`** -- Exact upstream mirror at `assets/views/penguinui/text-area/default-textarea.html` (reference only) +- Exact upstream mirror at `penguinui-components/text-area/default-textarea.html` (reference only) - `ui::textarea(name, id, value, rows, placeholder, required, attrs, extra)` macro. - Adopted: checkout note, product & category description. ## 12. Select/Dropdown (Native) — ✅ DONE **Penguin UI: `select/default-select.html`** -- Exact upstream mirror at `assets/views/penguinui/select/default-select.html` (reference only) +- Exact upstream mirror at `penguinui-components/select/default-select.html` (reference only) - Adopted inline (3 sites: product category, category parent, order status) — Penguin `appearance-none` select on `bg-surface-alt` wrapped in `relative` with the chevron SVG. Inline rather than a macro because the `