diff --git a/apps/web/components/Organization/Wrapper/OrganizationWrapper.tsx b/apps/web/components/Organization/Wrapper/OrganizationWrapper.tsx index b0720718d9f8..9616fd095eea 100644 --- a/apps/web/components/Organization/Wrapper/OrganizationWrapper.tsx +++ b/apps/web/components/Organization/Wrapper/OrganizationWrapper.tsx @@ -1146,6 +1146,7 @@ export const OrganizationWrapper: React.FC< type="button" variant="text" truncate + unfocusable > {backLink.text} diff --git a/apps/web/screens/Manual/Manual.css.ts b/apps/web/screens/Manual/Manual.css.ts index 1fa72d0ff04a..50ec164869b1 100644 --- a/apps/web/screens/Manual/Manual.css.ts +++ b/apps/web/screens/Manual/Manual.css.ts @@ -13,7 +13,3 @@ export const inputContainer = style({ }, }), }) - -export const smallLink = style({ - fontSize: '14px', -}) diff --git a/apps/web/screens/Manual/ManualChangelog.tsx b/apps/web/screens/Manual/ManualChangelog.tsx index f628126ccaad..f3936f655c4c 100644 --- a/apps/web/screens/Manual/ManualChangelog.tsx +++ b/apps/web/screens/Manual/ManualChangelog.tsx @@ -50,12 +50,13 @@ const ManualChangelog: ManualScreen = ({ manual, namespace }) => { namespace={namespace} socialTitle={generateOgTitle(manual?.title, manualChangelogTitle)} > - + {n( 'manualFrontpage', @@ -63,7 +64,7 @@ const ManualChangelog: ManualScreen = ({ manual, namespace }) => { )} - + {manualChangelogTitle} @@ -94,7 +95,7 @@ const ManualChangelog: ManualScreen = ({ manual, namespace }) => { )} {changelog?.length > 0 && ( - + {changelog.map(({ year, dates }) => ( { initialScrollHasHappened.current = true }, [selectedItemId]) + const { previousChapterUrl, nextChapterUrl } = useMemo(() => { + if (!manual?.slug || !manualChapter?.id) { + return { + previousChapterUrl: '', + nextChapterUrl: '', + } + } + + const index = manual.chapters.findIndex( + (chapter) => chapter.id === manualChapter?.id, + ) + + if (index < 0) { + return { + previousChapterUrl: '', + nextChapterUrl: '', + } + } + + const nextChapterSlug = manual.chapters[index + 1]?.slug + + if (index === 0) { + return { + previousChapterUrl: '', + nextChapterUrl: nextChapterSlug + ? linkResolver('manualchapter', [manual.slug, nextChapterSlug]).href + : '', + } + } + + const previousChapterSlug = manual.chapters[index - 1]?.slug + + return { + previousChapterUrl: previousChapterSlug + ? linkResolver('manualchapter', [manual.slug, previousChapterSlug]).href + : '', + nextChapterUrl: nextChapterSlug + ? linkResolver('manualchapter', [manual.slug, nextChapterSlug]).href + : '', + } + }, [linkResolver, manual?.chapters, manual?.slug, manualChapter?.id]) + return ( { socialTitle={generateOgTitle(manual?.title, manualChapter?.title)} > {manualChapter && ( - + {n( 'manualFrontpage', @@ -111,7 +156,7 @@ const ManualChapter: ManualScreen = ({ manual, manualChapter, namespace }) => { )} - + {manualChapter.title} @@ -122,7 +167,7 @@ const ManualChapter: ManualScreen = ({ manual, manualChapter, namespace }) => { {manualChapter && ( - + {manualChapter.chapterItems.map((item) => ( { ))} )} + {(Boolean(previousChapterUrl) || Boolean(nextChapterUrl)) && ( + + + + {previousChapterUrl && ( + + + + )} + + + {nextChapterUrl && ( + + + + )} + + + + )} ) diff --git a/apps/web/screens/Manual/components/ManualWrapper.tsx b/apps/web/screens/Manual/components/ManualWrapper.tsx index 72f2274419a1..933ac3087971 100644 --- a/apps/web/screens/Manual/components/ManualWrapper.tsx +++ b/apps/web/screens/Manual/components/ManualWrapper.tsx @@ -33,7 +33,7 @@ export const ManualWrapper = ({ paddingTop={0} sidebarContent={null} > - + {children}