/users: kullanıcı listesi, ekleme formu, silme (kendi hesabını veya son kalan tek kullanıcıyı silmeye izin verilmiyor). Nav'a link eklendi. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import type { Metadata } from "next";
|
||
import Link from "next/link";
|
||
import "./globals.css";
|
||
import { getSession } from "../lib/auth";
|
||
import { logout } from "./login/actions";
|
||
|
||
export const metadata: Metadata = {
|
||
title: "StreamClipper AI — Panel",
|
||
};
|
||
|
||
export default async function RootLayout({ children }: { children: React.ReactNode }) {
|
||
const session = await getSession();
|
||
|
||
return (
|
||
<html lang="tr">
|
||
<body>
|
||
{session && (
|
||
<nav className="nav">
|
||
<Link href="/">Kanal Durumu</Link>
|
||
<Link href="/segments">Segment & Aday Kütüphanesi</Link>
|
||
<Link href="/settings">Ayarlar</Link>
|
||
<Link href="/users">Kullanıcılar</Link>
|
||
<span style={{ marginLeft: "auto", display: "flex", gap: "1rem", alignItems: "center" }}>
|
||
<span className="mono">{session.username}</span>
|
||
<form action={logout}>
|
||
<button
|
||
type="submit"
|
||
style={{ background: "none", border: "none", color: "var(--muted)", cursor: "pointer", font: "inherit" }}
|
||
>
|
||
Çıkış Yap
|
||
</button>
|
||
</form>
|
||
</span>
|
||
</nav>
|
||
)}
|
||
<main>{children}</main>
|
||
</body>
|
||
</html>
|
||
);
|
||
}
|