generated from nhcarrigan/template
feat: set up announcements page
This commit is contained in:
+50
-20
@@ -1,34 +1,64 @@
|
||||
/**
|
||||
* @copyright nhcarrigan
|
||||
* @license Naomi's Public License
|
||||
* @author Naomi Carrigan
|
||||
*/
|
||||
import { Inter } from "next/font/google";
|
||||
import Script from "next/script";
|
||||
import type { Metadata } from "next";
|
||||
import { Geist, Geist_Mono } from "next/font/google";
|
||||
import type { JSX, ReactNode } from "react";
|
||||
// eslint-disable-next-line import/no-unassigned-import -- Import global styles.
|
||||
import "./globals.css";
|
||||
|
||||
const geistSans = Geist({
|
||||
variable: "--font-geist-sans",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
// eslint-disable-next-line new-cap -- This is a function call.
|
||||
const inter = Inter({ subsets: [ "latin" ] });
|
||||
|
||||
const geistMono = Geist_Mono({
|
||||
variable: "--font-geist-mono",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App",
|
||||
description: "Generated by create next app",
|
||||
const metadata: Metadata = {
|
||||
description:
|
||||
"This page tells you everything you could ever want to know about Naomi and her consulting firm nhcarrigan.",
|
||||
openGraph: {
|
||||
images: "https://cdn.nhcarrigan.com/og-image.png",
|
||||
},
|
||||
title: "NHCarrigan Announcements",
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
images: "https://cdn.nhcarrigan.com/og-image.png",
|
||||
site: "@naomi_lgbt",
|
||||
},
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
/**
|
||||
* The top-level wrapper for the React application.
|
||||
* Handles mounting the shadow DOM.
|
||||
* @param opts - The rendering options.
|
||||
* @param opts.children - The children elements to render.
|
||||
* @returns A JSX element.
|
||||
*/
|
||||
const RootLayout = ({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
children: ReactNode;
|
||||
}>): JSX.Element => {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body
|
||||
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
||||
>
|
||||
<Script
|
||||
async={true}
|
||||
defer={true}
|
||||
src="https://cdn.nhcarrigan.com/headers/index.js"
|
||||
strategy={"afterInteractive"}
|
||||
type="text/javascript"
|
||||
></Script>
|
||||
<link
|
||||
href="https://cdn.nhcarrigan.com/logo.png"
|
||||
rel="icon"
|
||||
sizes="any"
|
||||
/>
|
||||
<body className={inter.className}>
|
||||
{children}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export { metadata };
|
||||
export default RootLayout;
|
||||
|
||||
Reference in New Issue
Block a user