Skip to content

Commit 6582c1d

Browse files
committed
refactor ternaries
1 parent 3854128 commit 6582c1d

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

app/[[...path]]/page.tsx

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {Home} from 'sentry-docs/components/home';
1111
import {Include} from 'sentry-docs/components/include';
1212
import {PlatformContent} from 'sentry-docs/components/platformContent';
1313
import {
14+
DocNode,
1415
getCurrentPlatformOrGuide,
1516
getDocsRootNode,
1617
getNextNode,
@@ -26,6 +27,7 @@ import {
2627
} from 'sentry-docs/mdx';
2728
import {mdxComponents} from 'sentry-docs/mdxComponents';
2829
import {setServerContext} from 'sentry-docs/serverContext';
30+
import {PaginationNavNode} from 'sentry-docs/types/paginationNavNode';
2931
import {stripVersion} from 'sentry-docs/versioning';
3032

3133
export async function generateStaticParams() {
@@ -78,25 +80,28 @@ export default async function Page({params}: {params: {path?: string[]}}) {
7880
}
7981

8082
// gather previous and next page that will be displayed in the bottom pagination
81-
let previousPage = pageNode?.frontmatter?.previousPage;
82-
let nextPage = pageNode?.frontmatter?.nextPage;
83-
84-
if (!nextPage || !('path' in nextPage) || !('title' in nextPage)) {
85-
const nextNode = pageNode ? getNextNode(pageNode) : undefined;
86-
nextPage = nextNode
87-
? {path: nextNode.path, title: nextNode.frontmatter.title}
88-
: undefined;
89-
}
83+
const getPaginationDetails = (
84+
getNode: (node: DocNode) => DocNode | undefined | 'root',
85+
page: PaginationNavNode | undefined
86+
) => {
87+
if (page && 'path' in page && 'title' in page) {
88+
return page;
89+
}
9090

91-
if (!previousPage || !('path' in previousPage) || !('title' in previousPage)) {
92-
const previousNode = pageNode ? getPreviousNode(pageNode) : undefined;
93-
previousPage =
94-
previousNode === 'root'
95-
? {path: '', title: 'Welcome to Sentry'}
96-
: previousNode
97-
? {path: previousNode.path, title: previousNode.frontmatter.title}
98-
: undefined;
99-
}
91+
const node = getNode(pageNode);
92+
93+
if (node === 'root') {
94+
return {path: '', title: 'Welcome to Sentry'};
95+
}
96+
97+
return node ? {path: node.path, title: node.frontmatter.title} : undefined;
98+
};
99+
100+
const previousPage = getPaginationDetails(
101+
getPreviousNode,
102+
pageNode?.frontmatter?.previousPage
103+
);
104+
const nextPage = getPaginationDetails(getNextNode, pageNode?.frontmatter?.nextPage);
100105

101106
if (isDeveloperDocs) {
102107
// get the MDX for the current doc and render it

0 commit comments

Comments
 (0)