layout.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import '@/styles/website.scss';
  2. import { creator, description, name, uiUrl } from '@/config/site';
  3. import PageProgress from '@/components/PageProgress';
  4. export const metadata = {
  5. title: {
  6. default: name,
  7. template: `%s - ${name}`,
  8. },
  9. description: description,
  10. keywords: [
  11. 'css',
  12. 'html',
  13. 'jekyll',
  14. 'sass',
  15. 'bootstrap',
  16. 'modular',
  17. 'html5',
  18. 'dashboard',
  19. 'sponsors',
  20. 'uikit',
  21. 'boilerplate-template',
  22. 'scss',
  23. 'admin-dashboard',
  24. 'themes',
  25. 'dashboards',
  26. 'ui-kit',
  27. 'adminpanel',
  28. 'dashboard-templates',
  29. 'bootstrap4-theme',
  30. 'bootstrap5',
  31. 'bootstrap',
  32. ],
  33. authors: [
  34. {
  35. name: creator,
  36. url: uiUrl,
  37. },
  38. ],
  39. creator: creator,
  40. themeColor: [
  41. { media: '(prefers-color-scheme: light)', color: 'white' },
  42. { media: '(prefers-color-scheme: dark)', color: 'black' },
  43. ],
  44. openGraph: {
  45. type: 'website',
  46. locale: 'en_US',
  47. url: uiUrl,
  48. siteName: name,
  49. },
  50. twitter: {
  51. card: 'summary_large_image',
  52. images: ['og.jpg'],
  53. creator: `@${creator}`,
  54. },
  55. icons: {
  56. icon: '/favicon.ico',
  57. shortcut: '/favicon-16x16.png',
  58. apple: '/apple-touch-icon.png',
  59. },
  60. };
  61. export default function RootLayout({ children, bodyClass }: { children: React.ReactNode; bodyClass?: string }) {
  62. return (
  63. <html lang="en">
  64. <head>
  65. {process.env.NODE_ENV !== 'development' && (
  66. <>
  67. <script defer data-api="/stats/api/event" data-domain="tabler.io,tabler" src="/stats/js/script.js" />
  68. <script>{'window.plausible=window.plausible||function(){(window.plausible.q=window.plausible.q||[]).push(arguments)}'}</script>
  69. </>
  70. )}
  71. </head>
  72. <body>
  73. {bodyClass}
  74. <PageProgress />
  75. {children}
  76. <link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
  77. <script src="https://assets.lemonsqueezy.com/lemon.js" defer />
  78. </body>
  79. </html>
  80. );
  81. }