diff --git a/public/favicon.ico b/public/favicon.ico old mode 100644 new mode 100755 index 60c702a..a3cc0cf Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/app/admin/layout.tsx b/src/app/admin/layout.tsx index b8bc835..48f3e9e 100644 --- a/src/app/admin/layout.tsx +++ b/src/app/admin/layout.tsx @@ -34,6 +34,11 @@ interface LayoutInterface { unauthenticated: React.ReactNode } +export const metadata = { + title: "Admin", + description: "Admin portal", +} + export default async function Layout({ authenticated, unauthenticated, diff --git a/src/app/documents/layout.tsx b/src/app/documents/layout.tsx index aa8e205..416883a 100644 --- a/src/app/documents/layout.tsx +++ b/src/app/documents/layout.tsx @@ -3,6 +3,11 @@ import Link from "next/link" import logo from "@/images/logo-white.svg" +export const metadata = { + title: "Documents", + description: "Legal documents regarding Peoplez and Schrödinger Hat", +} + export default function LegalLayout({ children, }: { diff --git a/src/app/documents/legal/privacy-policy/page.tsx b/src/app/documents/legal/privacy-policy/page.tsx index 6630024..54b4cc2 100644 --- a/src/app/documents/legal/privacy-policy/page.tsx +++ b/src/app/documents/legal/privacy-policy/page.tsx @@ -1,3 +1,8 @@ +export const metadata = { + title: "Privacy Policy", + description: "Privacy Policy guidelines by Schrödinger Hat", +} + export default function PrivacyPolicyPage() { return ( <> diff --git a/src/app/documents/legal/statute/page.tsx b/src/app/documents/legal/statute/page.tsx index 4721188..ba13a34 100644 --- a/src/app/documents/legal/statute/page.tsx +++ b/src/app/documents/legal/statute/page.tsx @@ -1,3 +1,8 @@ +export const metadata = { + title: "Statute", + description: "Statute guidelines by Schrödinger Hat", +} + export default function StatutePage() { return ( <> diff --git a/src/app/documents/legal/terms-of-service/page.tsx b/src/app/documents/legal/terms-of-service/page.tsx index aab9e98..61ebb4f 100644 --- a/src/app/documents/legal/terms-of-service/page.tsx +++ b/src/app/documents/legal/terms-of-service/page.tsx @@ -1,3 +1,8 @@ +export const metadata = { + title: "Terms of Service", + description: "Terms of Service guidelines by Schrödinger Hat", +} + export default function TermsOfServicePage() { return ( <> diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 220b340..5e7969c 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -9,10 +9,35 @@ const inter = Inter({ variable: "--font-sans", }) +const BASIC_METADATA = { + NAME: "Peoplez", + DESCRIPTION: + "Peoplez is an open-source, self-hosted organisation management software that allows you to manage basic needs of your nonprofit organisation", + URL: "https://peoplez.schroedinger-hat.org", +} + export const metadata = { - description: "Generated by create-t3-app", + title: { default: "Homepage", template: `%s | ${BASIC_METADATA.NAME}` }, + description: BASIC_METADATA.DESCRIPTION, icons: [{ rel: "icon", url: "/favicon.ico" }], - title: "Create T3 App", + openGraph: { + // images: "Needs to be added" + description: BASIC_METADATA.DESCRIPTION, + siteName: BASIC_METADATA.NAME, + title: BASIC_METADATA.NAME, + type: "website", + url: BASIC_METADATA.URL, + }, + twitter: { + card: "summary_large_image", + creator: "@schrodinger_hat", + description: BASIC_METADATA.DESCRIPTION, + site: BASIC_METADATA.URL, + // images: { + // url: "http://needs-to-be-added.png", + // alt: "Schroedinger Hat Logo", + // }, + }, } interface LayoutInterface { diff --git a/src/app/members/@authenticated/page.tsx b/src/app/members/@authenticated/page.tsx index c02e78f..aaae755 100644 --- a/src/app/members/@authenticated/page.tsx +++ b/src/app/members/@authenticated/page.tsx @@ -18,6 +18,11 @@ function getData(userId: string | undefined) { }) } +export const metadata = { + title: "Welcome!", + description: "Welcome to the Peoplez portal", +} + export default async function MembershipPortalHomePage() { const session = await getServerAuthSession() const membership = await getData(session?.user.id) diff --git a/src/app/members/layout.tsx b/src/app/members/layout.tsx index 4b21e46..3d8730c 100644 --- a/src/app/members/layout.tsx +++ b/src/app/members/layout.tsx @@ -21,9 +21,8 @@ import { usernameToInitials } from "@/lib/utils" import { getServerAuthSession } from "@/server/auth" export const metadata = { - description: "Generated by create-t3-app", - icons: [{ rel: "icon", url: "/favicon.ico" }], - title: "Create T3 App", + title: "Members", + description: "Everything related membership status", } interface LayoutInterface { diff --git a/src/app/page.tsx b/src/app/page.tsx index 4313ff9..4c376a2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,6 +3,11 @@ import { redirect, RedirectType } from "next/navigation" import { DevPage } from "@/app/devPage" import { inDevEnvironment } from "@/lib/envs" +export const metadata = { + title: "Homepage", + description: "Main page of the website.", +} + export default async function HomePage() { if (inDevEnvironment) return else redirect("/members", RedirectType.replace) diff --git a/src/app/signup/page.tsx b/src/app/signup/page.tsx index 9cb6a19..f3815f9 100644 --- a/src/app/signup/page.tsx +++ b/src/app/signup/page.tsx @@ -1,6 +1,11 @@ import SignupForm from "@/app/signup/form" import { db } from "@/services/db" +export const metadata = { + title: "Sign Up", + description: "Sign up for a membership", +} + function getData() { return db.membershipTemplate.findMany({ orderBy: [