Port AtomCMS atom theme faithfully (Tailwind v4 + real CSS/assets + shell)
Make the template match the atom theme, not just approximate it: - Add Tailwind v4 (+forms/typography plugins, postcss) and port the real atom CSS (global.css + atom app.css) into globals.css: nav-item underline, currency + navigation icon classes, site-bg, card-base/hover-lift, text utils — asset paths adapted to /assets. - Copy the real theme assets (backgrounds, icons/currency/navigation, profile, leaderboards) into public/assets. - Rebuild the shell 1:1 from the atom Blade: TopHeader (currency pills + user/admin dropdowns, auth-only), SiteHeader (header image + black/50 overlay, logo+online+Nitro client / guest Login+Create-account CTA), Navigation (white bar, nav-item + Community/Assistance dropdowns), Footer. ThemeVars injects the DB-driven CSS custom properties into :root like app.blade.php. Layout uses the atom body/site-bg + grid-cols-12 max-w-7xl content wrapper. Verified: tsc 0, next build exit 0; curl confirms the atom markup, compiled CSS references the assets, and background-light.jpg + currency/navigation icons all serve 200.
This commit is contained in:
1 parent
e668fa85ec
commit
e19debb795
337 files changed
+1172
-398
No files matched your search
@@ -0,0 +1,94 @@
|
||||
import Link from "next/link";
|
||||
import { auth } from "@/lib/auth";
|
||||
|
||||
export async function Navigation() {
|
||||
const session = await auth();
|
||||
const isStaff = (session?.user?.rank ?? 0) >= 7;
|
||||
|
||||
return (
|
||||
<nav className="relative shadow-sm" style={{ backgroundColor: "var(--color-navbar)" }}>
|
||||
<div className="max-w-7xl min-h-[60px] px-4 flex items-center gap-x-6 md:gap-x-8 mx-auto flex-wrap">
|
||||
<Link href="/" className="nav-item">
|
||||
<i className="navigation-icon home mr-1 hidden lg:inline-flex" />
|
||||
Home
|
||||
</Link>
|
||||
|
||||
<details className="relative">
|
||||
<summary className="nav-item list-none cursor-pointer [&::-webkit-details-marker]:hidden">
|
||||
<i className="navigation-icon community mr-1 hidden lg:inline-flex" />
|
||||
Community
|
||||
</summary>
|
||||
<div
|
||||
className="absolute left-0 mt-1 min-w-[190px] rounded-md shadow-lg z-50 py-1"
|
||||
style={{ backgroundColor: "var(--color-dropdown)" }}
|
||||
>
|
||||
<Link href="/news" className="dropdown-item">
|
||||
Articles
|
||||
</Link>
|
||||
<Link href="/photos" className="dropdown-item">
|
||||
Photos
|
||||
</Link>
|
||||
<Link href="/staff" className="dropdown-item">
|
||||
Staff
|
||||
</Link>
|
||||
<Link href="/rankings" className="dropdown-item">
|
||||
Rankings
|
||||
</Link>
|
||||
<Link href="/guilds" className="dropdown-item">
|
||||
Guilds
|
||||
</Link>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<Link href="/leaderboard" className="nav-item">
|
||||
<i className="navigation-icon leaderboards mr-1 hidden lg:inline-flex" />
|
||||
Leaderboards
|
||||
</Link>
|
||||
<Link href="/rares" className="nav-item">
|
||||
Rare values
|
||||
</Link>
|
||||
<Link href="/shop" className="nav-item">
|
||||
<i className="navigation-icon shop mr-1 hidden lg:inline-flex" />
|
||||
Shop
|
||||
</Link>
|
||||
<Link href="/marketplace" className="nav-item">
|
||||
Market
|
||||
</Link>
|
||||
|
||||
<details className="relative">
|
||||
<summary className="nav-item list-none cursor-pointer [&::-webkit-details-marker]:hidden">
|
||||
<i className="navigation-icon rules mr-1 hidden lg:inline-flex" />
|
||||
Assistance
|
||||
</summary>
|
||||
<div
|
||||
className="absolute left-0 mt-1 min-w-[190px] rounded-md shadow-lg z-50 py-1"
|
||||
style={{ backgroundColor: "var(--color-dropdown)" }}
|
||||
>
|
||||
<Link href="/help" className="dropdown-item">
|
||||
Help center
|
||||
</Link>
|
||||
{session?.user ? (
|
||||
<Link href="/help/tickets" className="dropdown-item">
|
||||
My tickets
|
||||
</Link>
|
||||
) : null}
|
||||
<Link href="/badges" className="dropdown-item">
|
||||
Badges
|
||||
</Link>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
{session?.user ? (
|
||||
<Link href="/friends" className="nav-item">
|
||||
Friends
|
||||
</Link>
|
||||
) : null}
|
||||
{isStaff ? (
|
||||
<Link href="/admin" className="nav-item">
|
||||
Admin
|
||||
</Link>
|
||||
) : null}
|
||||
</div>
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user