Applique la police et l'icône console d'Admin aussi dans le menu
Build and deploy / deploy (push) Successful in 35s
Build and deploy / deploy (push) Successful in 35s
Partage la police JetBrains Mono (déjà utilisée sur /admin) via un module commun src/lib/fonts.ts, et l'applique à l'entrée "Admin" du menu déroulant. Remplace son icône générique par une nouvelle icône terminal (IconTerminal), cohérente avec la rupture volontaire de thème sur cette page technique.
This commit is contained in:
@@ -1,13 +1,8 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { JetBrains_Mono } from "next/font/google";
|
||||
import { createClient } from "@/lib/supabase/server";
|
||||
import { jetbrainsMono } from "@/lib/fonts";
|
||||
import { AdminMembersTable } from "./admin-members-table";
|
||||
|
||||
const jetbrainsMono = JetBrains_Mono({
|
||||
subsets: ["latin"],
|
||||
weight: ["500", "700"],
|
||||
});
|
||||
|
||||
export default async function AdminPage() {
|
||||
const supabase = await createClient();
|
||||
const {
|
||||
|
||||
@@ -7,10 +7,11 @@ import { createClient } from "@/lib/supabase/client";
|
||||
import { LaurelWreath } from "@/components/laurel-wreath";
|
||||
import { Avatar } from "@/components/avatar";
|
||||
import { AgoraLogo } from "@/components/agora-logo";
|
||||
import { jetbrainsMono } from "@/lib/fonts";
|
||||
import {
|
||||
IconScroll,
|
||||
IconPerson,
|
||||
IconColumn,
|
||||
IconTerminal,
|
||||
IconLogout,
|
||||
IconChevronDown,
|
||||
IconCalendar,
|
||||
@@ -22,6 +23,7 @@ type MenuEntry = {
|
||||
href: string;
|
||||
label: string;
|
||||
icon: React.ReactNode;
|
||||
labelClassName?: string;
|
||||
};
|
||||
|
||||
function MenuLink({
|
||||
@@ -42,7 +44,7 @@ function MenuLink({
|
||||
}`}
|
||||
>
|
||||
<span className={isActive ? "text-gold" : "text-text-mut"}>{entry.icon}</span>
|
||||
{entry.label}
|
||||
<span className={entry.labelClassName}>{entry.label}</span>
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
@@ -101,7 +103,8 @@ export function Header({
|
||||
entries.push({
|
||||
href: "/admin",
|
||||
label: "Admin",
|
||||
icon: <IconColumn />,
|
||||
icon: <IconTerminal />,
|
||||
labelClassName: jetbrainsMono.className,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,15 @@ export function IconColumn({ className = base }: IconProps) {
|
||||
);
|
||||
}
|
||||
|
||||
export function IconTerminal({ className = base }: IconProps) {
|
||||
return (
|
||||
<svg viewBox="0 0 24 24" className={className} fill="none" stroke="currentColor" strokeWidth={1.8} aria-hidden>
|
||||
<rect x="3" y="4.5" width="18" height="15" rx="2" />
|
||||
<path d="M7 9.5l3 3-3 3M12.5 15.5h4.5" strokeLinecap="round" strokeLinejoin="round" />
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
|
||||
export function IconLogout({ className = base }: IconProps) {
|
||||
return (
|
||||
<svg viewBox="0 0 24 24" className={className} fill="none" stroke="currentColor" strokeWidth={1.8} aria-hidden>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import { JetBrains_Mono } from "next/font/google";
|
||||
|
||||
// Police console/terminale, réservée à la page Admin (et son entrée de
|
||||
// menu) — rupture volontaire avec le thème grec pour cet outil technique.
|
||||
export const jetbrainsMono = JetBrains_Mono({
|
||||
subsets: ["latin"],
|
||||
weight: ["500", "700"],
|
||||
});
|
||||
Reference in New Issue
Block a user