From 6a23c4f2bb4dfe6fac2b34067932f9ef468d6b1d Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Wed, 25 May 2022 21:41:37 +0300 Subject: [PATCH] Add titles via meta tag --- app/routes/plus/index.tsx | 15 +++++++++++++-- app/routes/u.$identifier.tsx | 11 +++++++++-- app/utils/remix.ts | 4 ++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/routes/plus/index.tsx b/app/routes/plus/index.tsx index b92859024..e08bfa260 100644 --- a/app/routes/plus/index.tsx +++ b/app/routes/plus/index.tsx @@ -1,11 +1,15 @@ -import type { LinksFunction, LoaderFunction } from "@remix-run/node"; +import type { + LinksFunction, + LoaderFunction, + MetaFunction, +} from "@remix-run/node"; import { json } from "@remix-run/node"; import { useLoaderData } from "@remix-run/react"; import { upcomingVoting } from "~/core/plus"; import { db } from "~/db"; import type * as plusSuggestions from "~/db/models/plusSuggestions.server"; import { useUser } from "~/hooks/useUser"; -import { requireUser } from "~/utils/remix"; +import { makeTitle, requireUser } from "~/utils/remix"; import styles from "~/styles/plus.css"; import { Catcher } from "~/components/Catcher"; import * as React from "react"; @@ -20,6 +24,13 @@ export const links: LinksFunction = () => { return [{ rel: "stylesheet", href: styles }]; }; +export const meta: MetaFunction = () => { + return { + title: makeTitle("Plus Server suggestions"), + description: "This month's suggestions for +1, +2 and +3.", + }; +}; + interface PlusLoaderData { suggestions?: plusSuggestions.FindResult; suggestedForTiers: number[]; diff --git a/app/routes/u.$identifier.tsx b/app/routes/u.$identifier.tsx index 1cff848ff..f18b7bd00 100644 --- a/app/routes/u.$identifier.tsx +++ b/app/routes/u.$identifier.tsx @@ -1,4 +1,4 @@ -import type { LoaderFunction } from "@remix-run/node"; +import type { LoaderFunction, MetaFunction } from "@remix-run/node"; import { json } from "@remix-run/node"; import { Outlet, useLoaderData } from "@remix-run/react"; import { countries } from "countries-list"; @@ -8,7 +8,14 @@ import { SubNav, SubNavLink } from "~/components/SubNav"; import { db } from "~/db"; import type { User } from "~/db/types"; import { useUser } from "~/hooks/useUser"; -import { notFoundIfFalsy } from "~/utils/remix"; +import { makeTitle, notFoundIfFalsy } from "~/utils/remix"; +import { discordFullName } from "~/utils/strings"; + +export const meta: MetaFunction = ({ data }: { data: UserPageLoaderData }) => { + return { + title: makeTitle(discordFullName(data)), + }; +}; export const userParamsSchema = z.object({ identifier: z.string() }); diff --git a/app/utils/remix.ts b/app/utils/remix.ts index c185c2888..4c94ab00d 100644 --- a/app/utils/remix.ts +++ b/app/utils/remix.ts @@ -64,3 +64,7 @@ export async function getUser(request: Request) { return db.users.findByIdentifier(userId); } + +export function makeTitle(title: string) { + return `${title} | sendou.ink`; +}