mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-10-03 12:10:34 +00:00
Use newer APIs to optimize data loading and fix resolution of links in the TOC (#11)
* Update api@0.16.0 * Fetch pages and files independantly * Correctly resolve content ref in TOC * Format * Format * Cleanup
This commit is contained in:
@@ -1,14 +1,9 @@
|
||||
import {
|
||||
Collection,
|
||||
CustomizationSettings,
|
||||
Revision,
|
||||
RevisionPageDocument,
|
||||
Space,
|
||||
} from '@gitbook/api';
|
||||
import { Collection, CustomizationSettings, Space } from '@gitbook/api';
|
||||
import { Suspense } from 'react';
|
||||
|
||||
import { CONTAINER_MAX_WIDTH_NORMAL, CONTAINER_PADDING } from '@/components/layout';
|
||||
import { t } from '@/lib/intl';
|
||||
import { ContentRefContext } from '@/lib/references';
|
||||
import { tcls } from '@/lib/tailwind';
|
||||
|
||||
import { CollectionSpacesDropdown } from './CollectionSpacesDropdown';
|
||||
@@ -23,13 +18,11 @@ export function Header(props: {
|
||||
space: Space;
|
||||
collection: Collection | null;
|
||||
collectionSpaces: Space[];
|
||||
revision: Revision;
|
||||
page: RevisionPageDocument;
|
||||
context: ContentRefContext;
|
||||
asFullWidth: boolean;
|
||||
customization: CustomizationSettings;
|
||||
}) {
|
||||
const { space, collection, collectionSpaces, revision, page, asFullWidth, customization } =
|
||||
props;
|
||||
const { context, space, collection, collectionSpaces, asFullWidth, customization } = props;
|
||||
|
||||
return (
|
||||
<header
|
||||
@@ -93,13 +86,7 @@ export function Header(props: {
|
||||
)}
|
||||
>
|
||||
{customization.header.links.map((link, index) => (
|
||||
<HeaderLink
|
||||
key={index}
|
||||
link={link}
|
||||
space={space}
|
||||
revision={revision}
|
||||
page={page}
|
||||
/>
|
||||
<HeaderLink key={index} link={link} context={context} />
|
||||
))}
|
||||
</div>
|
||||
<div className={tcls('flex', 'basis-56', 'grow-0', 'shrink-0')}>
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
import {
|
||||
CustomizationContentLink,
|
||||
CustomizationHeaderLink,
|
||||
Revision,
|
||||
RevisionPageDocument,
|
||||
Space,
|
||||
} from '@gitbook/api';
|
||||
import { CustomizationContentLink, CustomizationHeaderLink } from '@gitbook/api';
|
||||
import Link from 'next/link';
|
||||
|
||||
import { resolveContentRef } from '@/lib/references';
|
||||
import { ContentRefContext, resolveContentRef } from '@/lib/references';
|
||||
import { tcls } from '@/lib/tailwind';
|
||||
|
||||
import {
|
||||
@@ -19,18 +13,12 @@ import {
|
||||
} from './Dropdown';
|
||||
|
||||
export async function HeaderLink(props: {
|
||||
space: Space;
|
||||
revision: Revision;
|
||||
page: RevisionPageDocument;
|
||||
context: ContentRefContext;
|
||||
link: CustomizationHeaderLink;
|
||||
}) {
|
||||
const { space, revision, page, link } = props;
|
||||
const { context, link } = props;
|
||||
|
||||
const target = await resolveContentRef(link.to, {
|
||||
space,
|
||||
revision,
|
||||
page,
|
||||
});
|
||||
const target = await resolveContentRef(link.to, context);
|
||||
|
||||
if (!target) {
|
||||
return null;
|
||||
@@ -73,18 +61,12 @@ export async function HeaderLink(props: {
|
||||
}
|
||||
|
||||
async function SubHeaderLink(props: {
|
||||
space: Space;
|
||||
revision: Revision;
|
||||
page: RevisionPageDocument;
|
||||
context: ContentRefContext;
|
||||
link: CustomizationContentLink;
|
||||
}) {
|
||||
const { space, revision, page, link } = props;
|
||||
const { context, link } = props;
|
||||
|
||||
const target = await resolveContentRef(link.to, {
|
||||
space,
|
||||
revision,
|
||||
page,
|
||||
});
|
||||
const target = await resolveContentRef(link.to, context);
|
||||
|
||||
if (!target) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user