7f69f4019d
- app/ klasörü src/app altına taşındı, @/* alias'ı src/'yi gösteriyor - tsconfig: noUncheckedIndexedAccess - shadcn/ui (Radix, Nova) başlatıldı - Better Auth, MongoDB 7.7, Mongoose 9, zod 4, react-hook-form, next-themes, sonner, TanStack Table - next.config: standalone çıktı, poweredByHeader kapalı - Geçici /api/health, i18n/tr.ts, Türkçe layout - Prompt docs/PROMPT.md olarak taşındı ve Faz 0 kararları işlendi Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
943 B
TypeScript
35 lines
943 B
TypeScript
import type { Metadata, Viewport } from "next";
|
||
import { Geist, Geist_Mono } from "next/font/google";
|
||
import { tr } from "@/i18n/tr";
|
||
import "./globals.css";
|
||
|
||
// Türkçe karakterler (ğ, ş, ı, İ) latin-ext alt kümesinde.
|
||
const geistSans = Geist({
|
||
variable: "--font-sans",
|
||
subsets: ["latin", "latin-ext"],
|
||
});
|
||
|
||
const geistMono = Geist_Mono({
|
||
variable: "--font-geist-mono",
|
||
subsets: ["latin", "latin-ext"],
|
||
});
|
||
|
||
export const metadata: Metadata = {
|
||
title: { default: tr.app.name, template: `%s · ${tr.app.name}` },
|
||
description: tr.app.tagline,
|
||
applicationName: tr.app.name,
|
||
};
|
||
|
||
export const viewport: Viewport = {
|
||
width: "device-width",
|
||
initialScale: 1,
|
||
};
|
||
|
||
export default function RootLayout({ children }: LayoutProps<"/">) {
|
||
return (
|
||
<html lang="tr" className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}>
|
||
<body className="flex min-h-full flex-col">{children}</body>
|
||
</html>
|
||
);
|
||
}
|