Introduce a footer-triggered Version History drawer with categorized release notes, hardcoded release data, and semver tracking at v0.3.0. Also ships blog blockquote/table styling, site-wide typography, home page image updates, header refinements, and related bug fixes. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import type { Metadata } from "next";
|
|
import "./globals.css";
|
|
import { ConditionalLayout } from "@/components/conditional-layout";
|
|
import { ThemeProvider } from "@/components/theme-provider";
|
|
import { TopProgressBar } from "@/components/top-progress-bar";
|
|
import { getChangelog } from "@/lib/changelog.server";
|
|
|
|
|
|
const SITE_NAME = "فیپ";
|
|
const DEFAULT_DESCRIPTION =
|
|
"فیپ یک سامانه برای ایجاد و طراحی راهکارهای مناسب برای کسب و کار شما است.";
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
default: `${SITE_NAME} | راهکارهای یکپارچه و هوشمند برای کسبوکار`,
|
|
template: `%s | ${SITE_NAME}`,
|
|
},
|
|
description: DEFAULT_DESCRIPTION,
|
|
icons: {
|
|
icon: "/favicon.svg",
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
const changelogReleases = getChangelog();
|
|
|
|
return (
|
|
<html lang="fa" dir="rtl" suppressHydrationWarning>
|
|
<body
|
|
className={`antialiased`}
|
|
>
|
|
<ThemeProvider>
|
|
<TopProgressBar />
|
|
<ConditionalLayout changelogReleases={changelogReleases}>
|
|
{children}
|
|
</ConditionalLayout>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|