fix: add page titles (#883)
This commit is contained in:
@@ -59,7 +59,6 @@ export const Editor = ({ page, workspace, setEditor }: Props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setEditor(editor);
|
setEditor(editor);
|
||||||
document.title = page.meta.title || 'Untitled';
|
|
||||||
return ret;
|
return ret;
|
||||||
}, [workspace, page, setEditor]);
|
}, [workspace, page, setEditor]);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
import NotfoundPage from '@/components/404';
|
import NotfoundPage from '@/components/404';
|
||||||
|
import Head from 'next/head';
|
||||||
|
|
||||||
export default function Custom404() {
|
export default function Custom404() {
|
||||||
return <NotfoundPage></NotfoundPage>;
|
return (
|
||||||
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>404 - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
|
<NotfoundPage></NotfoundPage>
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ const App = ({ Component, pageProps }: AppPropsWithLayout) => {
|
|||||||
sizes="180x180"
|
sizes="180x180"
|
||||||
href="/icons/apple-touch-icon.png"
|
href="/icons/apple-touch-icon.png"
|
||||||
/>
|
/>
|
||||||
|
<title>AFFiNE</title>
|
||||||
</Head>
|
</Head>
|
||||||
<Logger />
|
<Logger />
|
||||||
<ProviderComposer
|
<ProviderComposer
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import { useRouter } from 'next/router';
|
|||||||
import { usePageHelper } from '@/hooks/use-page-helper';
|
import { usePageHelper } from '@/hooks/use-page-helper';
|
||||||
import dynamic from 'next/dynamic';
|
import dynamic from 'next/dynamic';
|
||||||
import { EditorContainer } from '@blocksuite/editor';
|
import { EditorContainer } from '@blocksuite/editor';
|
||||||
|
import Head from 'next/head';
|
||||||
|
import { useTranslation } from '@affine/i18n';
|
||||||
const DynamicBlocksuite = dynamic(() => import('@/components/editor'), {
|
const DynamicBlocksuite = dynamic(() => import('@/components/editor'), {
|
||||||
ssr: false,
|
ssr: false,
|
||||||
});
|
});
|
||||||
@@ -25,8 +27,12 @@ const Page: NextPageWithLayout = () => {
|
|||||||
(editor: EditorContainer) => setEditor.current(editor),
|
(editor: EditorContainer) => setEditor.current(editor),
|
||||||
[setEditor]
|
[setEditor]
|
||||||
);
|
);
|
||||||
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>{currentPage?.meta?.title || t('Untitled')} - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
<EditorHeader />
|
<EditorHeader />
|
||||||
<MobileModal />
|
<MobileModal />
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import { ReactElement } from 'react';
|
|||||||
import WorkspaceLayout from '@/components/workspace-layout';
|
import WorkspaceLayout from '@/components/workspace-layout';
|
||||||
import { useTranslation } from '@affine/i18n';
|
import { useTranslation } from '@affine/i18n';
|
||||||
import { PageMeta, useAppState } from '@/providers/app-state-provider';
|
import { PageMeta, useAppState } from '@/providers/app-state-provider';
|
||||||
|
import Head from 'next/head';
|
||||||
|
|
||||||
const All = () => {
|
const All = () => {
|
||||||
const { currentWorkspace } = useAppState();
|
const { currentWorkspace } = useAppState();
|
||||||
const pageList = (currentWorkspace?.blocksuiteWorkspace?.meta.pageMetas ||
|
const pageList = (currentWorkspace?.blocksuiteWorkspace?.meta.pageMetas ||
|
||||||
@@ -12,6 +14,9 @@ const All = () => {
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>{t('All pages')} - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
<PageListHeader icon={<AllPagesIcon />}>{t('All pages')}</PageListHeader>
|
<PageListHeader icon={<AllPagesIcon />}>{t('All pages')}</PageListHeader>
|
||||||
<PageList
|
<PageList
|
||||||
pageList={pageList.filter(p => !p.trash)}
|
pageList={pageList.filter(p => !p.trash)}
|
||||||
|
|||||||
@@ -5,11 +5,15 @@ import { ReactElement } from 'react';
|
|||||||
import WorkspaceLayout from '@/components/workspace-layout';
|
import WorkspaceLayout from '@/components/workspace-layout';
|
||||||
import { useTranslation } from '@affine/i18n';
|
import { useTranslation } from '@affine/i18n';
|
||||||
import { useAppState } from '@/providers/app-state-provider';
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
|
import Head from 'next/head';
|
||||||
export const Favorite = () => {
|
export const Favorite = () => {
|
||||||
const { pageList } = useAppState();
|
const { pageList } = useAppState();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>{t('Favourites')} - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
<PageListHeader icon={<FavouritesIcon />}>
|
<PageListHeader icon={<FavouritesIcon />}>
|
||||||
{t('Favourites')}
|
{t('Favourites')}
|
||||||
</PageListHeader>
|
</PageListHeader>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import WorkspaceLayout from '@/components/workspace-layout';
|
|||||||
import { WorkspaceUnit } from '@affine/datacenter';
|
import { WorkspaceUnit } from '@affine/datacenter';
|
||||||
import { useTranslation } from '@affine/i18n';
|
import { useTranslation } from '@affine/i18n';
|
||||||
import { PageListHeader } from '@/components/header';
|
import { PageListHeader } from '@/components/header';
|
||||||
|
import Head from 'next/head';
|
||||||
|
|
||||||
const useTabMap = () => {
|
const useTabMap = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@@ -79,6 +80,9 @@ const WorkspaceSetting = () => {
|
|||||||
useTabMap();
|
useTabMap();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>{t('Settings')} - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
<StyledSettingContainer>
|
<StyledSettingContainer>
|
||||||
<PageListHeader icon={<SettingsIcon />}>{t('Settings')}</PageListHeader>
|
<PageListHeader icon={<SettingsIcon />}>{t('Settings')}</PageListHeader>
|
||||||
<StyledSettingSidebar>
|
<StyledSettingSidebar>
|
||||||
|
|||||||
@@ -5,11 +5,15 @@ import { ReactElement } from 'react';
|
|||||||
import WorkspaceLayout from '@/components/workspace-layout';
|
import WorkspaceLayout from '@/components/workspace-layout';
|
||||||
import { useTranslation } from '@affine/i18n';
|
import { useTranslation } from '@affine/i18n';
|
||||||
import { useAppState } from '@/providers/app-state-provider';
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
|
import Head from 'next/head';
|
||||||
export const Trash = () => {
|
export const Trash = () => {
|
||||||
const { pageList } = useAppState();
|
const { pageList } = useAppState();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>{t('Trash')} - AFFiNE</title>
|
||||||
|
</Head>
|
||||||
<PageListHeader icon={<TrashIcon />}>{t('Trash')}</PageListHeader>
|
<PageListHeader icon={<TrashIcon />}>{t('Trash')}</PageListHeader>
|
||||||
<PageList
|
<PageList
|
||||||
pageList={pageList.filter(p => p.trash)}
|
pageList={pageList.filter(p => p.trash)}
|
||||||
|
|||||||
Reference in New Issue
Block a user