From f4ceaaf01c43204e17371b49af370ff544d8f15e Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:12:08 +0530 Subject: [PATCH] [WEB-1574] chore: page head (#4773) * chore: page head component refactor * chore: page head component refactor --- packages/ui/src/hooks/index.ts | 1 + packages/ui/src/hooks/use-page-title.tsx | 13 +++++++++++++ packages/ui/src/index.ts | 1 + web/core/components/core/page-title.tsx | 10 +++------- web/core/hooks/use-page-title.tsx | 22 ---------------------- 5 files changed, 18 insertions(+), 29 deletions(-) create mode 100644 packages/ui/src/hooks/index.ts create mode 100644 packages/ui/src/hooks/use-page-title.tsx delete mode 100644 web/core/hooks/use-page-title.tsx diff --git a/packages/ui/src/hooks/index.ts b/packages/ui/src/hooks/index.ts new file mode 100644 index 000000000..cc1450686 --- /dev/null +++ b/packages/ui/src/hooks/index.ts @@ -0,0 +1 @@ +export * from "./use-page-title"; diff --git a/packages/ui/src/hooks/use-page-title.tsx b/packages/ui/src/hooks/use-page-title.tsx new file mode 100644 index 000000000..79fb6857e --- /dev/null +++ b/packages/ui/src/hooks/use-page-title.tsx @@ -0,0 +1,13 @@ +import { useEffect } from "react"; + +interface IUseHeadParams { + title?: string; +} + +export const useHead = ({ title }: IUseHeadParams) => { + useEffect(() => { + if (title) { + document.title = title ?? "Plane | Simple, extensible, open-source project management tool."; + } + }, [title]); +}; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 05adddfb0..e0bb66c33 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -17,3 +17,4 @@ export * from "./drag-handle"; export * from "./typography"; export * from "./drop-indicator"; export * from "./sortable"; +export * from "./hooks"; diff --git a/web/core/components/core/page-title.tsx b/web/core/components/core/page-title.tsx index f9f4e94b2..554a2e0f1 100644 --- a/web/core/components/core/page-title.tsx +++ b/web/core/components/core/page-title.tsx @@ -1,4 +1,4 @@ -import Head from "next/head"; +import { useHead } from "@plane/ui"; type PageHeadTitleProps = { title?: string; @@ -8,11 +8,7 @@ type PageHeadTitleProps = { export const PageHead: React.FC = (props) => { const { title } = props; - if (!title) return null; + useHead({ title }); - return ( - - {title} - - ); + return null; }; diff --git a/web/core/hooks/use-page-title.tsx b/web/core/hooks/use-page-title.tsx deleted file mode 100644 index 4732862f6..000000000 --- a/web/core/hooks/use-page-title.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useEffect } from "react"; -import Head from "next/head"; - -interface IUseHeadParams { - title?: string; -} - -const useHead = ({ title }: IUseHeadParams) => { - useEffect(() => { - if (title) { - document.title = title; - } - }, [title]); - - return ( - - {title || "Plane | Simple, extensible, open-source project management tool."} - - ); -}; - -export default useHead;