33efeac98f
deploy / deploy (push) Successful in 37s
The runtime CDN (cdn.tailwindcss.com) is not production-grade: FOUC, no purging, and an external request that is slow/blocked from some networks. - Add Tailwind v3 build (package.json `npm run build`) with two scoped configs: public (accent + zinc) -> wwwroot/css/tailwind.css, and admin (dark base/ electric/violet/emerald, separate to avoid the emerald flat-vs-scale clash) -> wwwroot/css/tailwind-admin.css. Both minified + content-purged. - Layouts now link the built CSS instead of the CDN script; built artifacts are committed so Docker/CI need no Node step. node_modules stays ignored. - Verified: utilities (incl. arbitrary values like aspect-[16/9], grid-cols- [8rem_1fr]) resolve; public + admin render; no console errors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
2.1 KiB
Plaintext
50 lines
2.1 KiB
Plaintext
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>@ViewData["Title"] — Admin</title>
|
|
<style>
|
|
@@font-face { font-family:'Syne'; src:url('/fonts/Syne-Variable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
|
|
@@font-face { font-family:'SpaceMono'; src:url('/fonts/SpaceMono-Regular.woff2') format('woff2'); font-display:swap; }
|
|
</style>
|
|
<!-- Tailwind: prebuilt + purged admin stylesheet (`npm run build`). No runtime CDN. -->
|
|
<link rel="stylesheet" href="/css/tailwind-admin.css" />
|
|
<link rel="stylesheet" href="/css/site.css" />
|
|
</head>
|
|
<body class="min-h-screen bg-base text-slate-200 antialiased">
|
|
<div class="flex min-h-screen">
|
|
<!-- Sidebar -->
|
|
<aside class="hidden w-56 shrink-0 flex-col border-r border-white/5 bg-base-800 md:flex">
|
|
<div class="flex h-14 items-center gap-2 border-b border-white/5 px-4">
|
|
<img src="/logo-mark.svg" alt="" width="22" height="22" />
|
|
<span class="font-display text-sm font-semibold text-white">CMS</span>
|
|
</div>
|
|
<nav class="flex flex-1 flex-col gap-1 p-3 text-sm">
|
|
<a href="/Admin" class="admin-nav-link">Dashboard</a>
|
|
<a href="/Admin/Sections" class="admin-nav-link">Sections</a>
|
|
<a href="/Admin/Posts" class="admin-nav-link">Blog posts</a>
|
|
<div class="mt-auto pt-4">
|
|
<form method="post" action="/Admin/Logout">
|
|
<button class="admin-nav-link w-full text-start text-red-400 hover:text-red-300">Sign out</button>
|
|
</form>
|
|
</div>
|
|
</nav>
|
|
</aside>
|
|
|
|
<!-- Main -->
|
|
<div class="flex flex-1 flex-col">
|
|
<header class="flex h-14 items-center justify-between border-b border-white/5 bg-base-800 px-6 md:hidden">
|
|
<span class="font-display text-sm font-semibold text-white">CMS</span>
|
|
<form method="post" action="/Admin/Logout">
|
|
<button class="text-xs text-red-400">Sign out</button>
|
|
</form>
|
|
</header>
|
|
<main class="flex-1 overflow-auto p-6">
|
|
@RenderBody()
|
|
</main>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|