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;