refactor admin CSS: replace utility classes with semantic styles

Replace Tailwind utility soup across admin templates with semantic
CSS classes. Add layout primitives (stack, row, cluster, grid),
extract JS transition helpers into transitions.css, and refactor
core_components, layouts, settings, newsletter, order_show, providers,
and theme editor templates.

Utility occurrences reduced from 290+ to 127 across admin files.
All 1679 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-03-01 17:15:25 +00:00
parent edef628214
commit b7ec41b0cf
13 changed files with 2661 additions and 1643 deletions

View File

@@ -1,4 +1,4 @@
<div class="admin-layout h-full">
<div class="admin-layout">
<input id="admin-drawer" type="checkbox" class="admin-layout-toggle" />
<%!-- main content area --%>
@@ -23,15 +23,15 @@
<.icon name="hero-exclamation-triangle" class="size-5 shrink-0" />
<p>
Email delivery isn't set up yet — customers won't receive order confirmations or shipping updates.
<.link navigate={~p"/admin/settings/email"} class="underline font-medium">
<.link navigate={~p"/admin/settings/email"} class="admin-link">
Configure email
</.link>
</p>
</div>
<%!-- page content --%>
<main class="flex-1 p-4 sm:p-6 lg:p-8">
<div class="mx-auto max-w-5xl">
<main class="admin-main">
<div class="admin-container">
{@inner_content}
</div>
</main>
@@ -42,17 +42,17 @@
<label for="admin-drawer" class="admin-sidebar-overlay" aria-label="Close navigation"></label>
<aside class="admin-sidebar">
<%!-- sidebar header --%>
<div class="p-4 border-b border-base-300">
<.link navigate={~p"/admin"} class="text-lg font-bold tracking-tight">
<div class="admin-sidebar-header">
<.link navigate={~p"/admin"} class="admin-brand">
Berrypod
</.link>
<p class="text-xs text-base-content/60 mt-0.5 truncate">
<p class="admin-text-secondary truncate" style="margin-top: 0.125rem;">
{@current_scope.user.email}
</p>
</div>
<%!-- nav links --%>
<nav class="flex-1 p-2" aria-label="Admin navigation">
<nav class="admin-sidebar-nav" aria-label="Admin navigation">
<div class="admin-nav-group">
<span class="admin-nav-heading">Shop</span>
<ul class="admin-nav">
@@ -191,7 +191,7 @@
</nav>
<%!-- sidebar footer --%>
<div class="p-2 border-t border-base-300">
<div class="admin-sidebar-footer">
<ul class="admin-nav">
<li>
<.link href={~p"/"}>