Files
soroushasadi/Pages/Shared/_AdminLayout.cshtml
T
soroush.asadi 33efeac98f
deploy / deploy (push) Successful in 37s
Replace Tailwind Play CDN with a prebuilt, purged stylesheet
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>
2026-06-26 03:06:24 +03:30

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>