tldraw/apps/docs/components/Breadcrumb.tsx
Lu Wilson c5fe399842
[docs] Separate some pages out of the Docs section (#1626)
This PR changes the structure of the docs site's sidebar.


![image](https://github.com/tldraw/tldraw/assets/15892272/ffe1e152-c921-43f0-9ba2-d084bda5e1e3)

I think this signposts more clearly what the different pages are for.
And it also paves the way for some work I want to do on
expanding+refining the Editor docs.

This PR also simplifies URL for all sidebar links.
It's a bit scrappy, but I think it feels simple enough to work with, and
easy-enough to change in the future.
> But hey! I've been doing this a couple times recently. Maybe we should
refactor? Or maybe we should keep going with what we've got and focus on
getting these docs *done*.

### Change Type

- [x] `documentation` — Changes to the documentation only[^2]

[^1]: publishes a `patch` release, for devDependencies use `internal`
[^2]: will not publish a new version

### Test Plan

1. Check that all the sidebar links go to where you expect.
2. Check that old URLs redirect to the right pages, eg: `/docs/usage`
should go to the usage page.


### Release Notes

- Documentation: Restructured the sidebar for clarity.
2023-06-23 09:53:22 +00:00

44 lines
858 B
TypeScript

import { Article, Category, Section } from '@/types/content-types'
import Link from 'next/link'
export function Breadcrumb({
section,
category,
article,
}: {
section?: Section
category?: Category
article?: Article
}) {
return (
<div className="breadcrumb">
<Link href={`/`}>tldraw</Link>
{section && (
<>
{section.title && (
<>
{` / `}
<Link href={`/${section.id}`}>{section.title}</Link>
</>
)}
{category && (
<>
{category.id === 'ucg' ? null : (
<>
{` / `}
<Link href={`/${section.id}/${category.id}`}>{category.title}</Link>
</>
)}
{article && (
<>
{` / `}
<Link href={`/${section.id}/${category.id}/${article.id}`}>{article.title}</Link>
</>
)}
</>
)}
</>
)}
</div>
)
}