1b3a8b493e
deploy / deploy (push) Failing after 1m21s
Full rewrite of the portfolio site from Next.js 14 to .NET 10: - ASP.NET Core 10 Razor Pages, no Node.js dependency - EF Core 10 + SQLite (same schema as before — data survives upgrade) - Cookie authentication (same single-password model) - Resend contact form via HttpClient - Bilingual FA/EN via locale cookie + BasePageModel - All UI ported to Razor Pages with Tailwind CDN + custom CSS - Vanilla JS: particles, typewriter, cursor, animations, portfolio modal - Dockerfile: SDK 10.0-alpine → aspnet 10.0-alpine (no npm/Node needed) - CI/CD: dropped NPM_TOKEN, ADMIN_SESSION_SECRET — pure dotnet publish Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
57 lines
2.3 KiB
Plaintext
57 lines
2.3 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>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
theme: { extend: {
|
|
colors: { base:{DEFAULT:'#020510',800:'#050a1a'}, electric:'#38bdf8', violet:'#818cf8', magenta:'#e879f9', emerald:'#34d399' },
|
|
fontFamily: { sans:['Syne','system-ui','sans-serif'], mono:['SpaceMono','monospace'] }
|
|
}}
|
|
}
|
|
</script>
|
|
<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>
|