diff --git a/app/head.jsx b/app/head.jsx deleted file mode 100644 index 089b765e..00000000 --- a/app/head.jsx +++ /dev/null @@ -1,60 +0,0 @@ -const title = 'React Three Next Starter' -const url = 'https://react-three-next.vercel.app/' -const description = 'The easiest and fastest way to create a 3D website using React Three Fiber and NextJS' -const author = 'Author' -const twitter = '@pmndrs' - -export default function Head() { - return ( - <> - {/* Recommended Meta Tags */} - - - - - - - - {/* Search Engine Optimization Meta Tags */} - {title} - - - - - {/* - Facebook Open Graph meta tags - documentation: https://developers.facebook.com/docs/sharing/opengraph */} - - - - - - - - - - - - - - - - {/* Meta Tags for HTML pages on Mobile */} - {/* - */} - - - - - {/* - Twitter Summary card - documentation: https://dev.twitter.com/cards/getting-started - Be sure validate your Twitter card markup on the documentation site. */} - - - - ) -} diff --git a/app/layout.jsx b/app/layout.jsx index b121862d..3c7a812d 100644 --- a/app/layout.jsx +++ b/app/layout.jsx @@ -1,9 +1,55 @@ import { Layout } from '@/components/dom/Layout' import '@/global.css' +const title = 'React Three Next Starter' +const url = process.env.NODE_ENV ==="development" ? 'http://localhost:3000' : 'https://react-three-next.vercel.app' +const description = 'The easiest and fastest way to create a 3D website using React Three Fiber and NextJS' +const author = 'Poimandres' +const twitter = '@pmndrs' + +/** + * @type {import('next').Viewport} + */ +export const viewport = { + themeColor: 'black', +} + +/** + * @type {import('next').Metadata} + */ export const metadata = { - title: 'Next.js + Three.js', - description: 'A minimal starter for Nextjs + React-three-fiber and Threejs.', + title: title, + description: description, + authors: [{ name: author, url: 'https://docs.pmnd.rs' }], + publisher: author, + keywords: 'Software Engineer,Product Manager,Project Manager,Data Scientist,Computer Scientist', + robots: 'index,follow', + metadataBase: url, + openGraph: { + title: title, + type: 'website', + url: url, + images: [{ url: '/icons/share.png', width: 800, height: 800 }], + siteName: title, + description: description, + }, + twitter: { + card: 'summary', + site: twitter, + }, + manifest: '/manifest.json', + formatDetection: { email: true, telephone: true }, + icons: { + icon: [{ url: '/icons/favicon.ico' }, { url: '/icons/favicon-32x32.png', type: 'image/png' }], + shortcut: ['/icons/apple-touch-icon.png'], + apple: [ + { url: '/icons/apple-touch-icon.png' }, + { url: '/icons/favicon-16x16.png', sizes: '16x16', type: 'image/png' }, + { url: '/icons/favicon-32x32.png', sizes: '32x32', type: 'image/png' }, + { url: '/icons/apple-touch-icon.png', sizes: '180x180', type: 'image/png' }, + ], + other: [{ rel: 'mask-icon', url: '/icons/safari-pinned-tab.svg', color: '#000000' }], + }, } export default function RootLayout({ children }) { diff --git a/package.json b/package.json index 6907035d..f565b633 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "license": "MIT", "private": true, "engines": { - "node": ">=14" + "node": ">=18" }, "scripts": { "lint": "next lint --fix --dir app",