layout.tsx 853 B

12345678910111213141516171819202122232425262728293031
  1. import type { Metadata } from 'next';
  2. import type { ReactNode } from 'react';
  3. import { appName, appTagline, siteUrl } from '@/lib/shared';
  4. // Global SEO defaults. The real <html>/<body> live in `app/[lang]/layout.tsx`
  5. // so we can set `lang`/`dir` per locale (RTL for fa); this root layout is a
  6. // pass-through that only carries site-wide metadata.
  7. export const metadata: Metadata = {
  8. metadataBase: new URL(siteUrl),
  9. title: {
  10. default: `${appName} — ${appTagline}`,
  11. template: `%s — ${appName}`,
  12. },
  13. description: appTagline,
  14. applicationName: appName,
  15. openGraph: {
  16. siteName: appName,
  17. type: 'website',
  18. },
  19. twitter: {
  20. card: 'summary_large_image',
  21. },
  22. icons: {
  23. icon: '/favicon.png',
  24. apple: '/icon.png',
  25. },
  26. };
  27. export default function RootLayout({ children }: { children: ReactNode }) {
  28. return children;
  29. }