mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 19:43:29 +01:00
feat: redirect to old docs for main documentation
This commit is contained in:
@@ -72,18 +72,33 @@ export function SidebarLayout({
|
|||||||
setAsPathWithoutQueryAndAnchor(router.asPath.split('?')[0]?.split('#')[0]?.split(':')[0] ?? '');
|
setAsPathWithoutQueryAndAnchor(router.asPath.split('?')[0]?.split('#')[0]?.split(':')[0] ?? '');
|
||||||
}, [router.asPath]);
|
}, [router.asPath]);
|
||||||
|
|
||||||
const packageMenuItems = PACKAGES.map((pkg) => (
|
const packageMenuItems = useMemo(
|
||||||
<Link key={pkg} href={`/docs/packages/${pkg}/main`} passHref prefetch={false}>
|
() => [
|
||||||
<MenuItem
|
<a key="discord.js" href="https://discord.js.org/#/docs/discord.js">
|
||||||
className="hover:bg-light-700 active:bg-light-800 dark:bg-dark-600 dark:hover:bg-dark-500 dark:active:bg-dark-400 rounded bg-white p-3 text-sm"
|
<MenuItem
|
||||||
as="a"
|
className="hover:bg-light-700 active:bg-light-800 dark:bg-dark-600 dark:hover:bg-dark-500 dark:active:bg-dark-400 rounded bg-white p-3 text-sm"
|
||||||
state={packageMenu}
|
state={packageMenu}
|
||||||
onClick={() => packageMenu.setOpen(false)}
|
onClick={() => packageMenu.setOpen(false)}
|
||||||
>
|
>
|
||||||
{pkg}
|
discord.js
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Link>
|
</a>,
|
||||||
));
|
...PACKAGES.map((pkg) => (
|
||||||
|
<Link key={pkg} href={`/docs/packages/${pkg}/main`} passHref prefetch={false}>
|
||||||
|
<MenuItem
|
||||||
|
className="hover:bg-light-700 active:bg-light-800 dark:bg-dark-600 dark:hover:bg-dark-500 dark:active:bg-dark-400 rounded bg-white p-3 text-sm"
|
||||||
|
as="a"
|
||||||
|
state={packageMenu}
|
||||||
|
onClick={() => packageMenu.setOpen(false)}
|
||||||
|
>
|
||||||
|
{pkg}
|
||||||
|
</MenuItem>
|
||||||
|
</Link>
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
[],
|
||||||
|
);
|
||||||
|
|
||||||
const versionMenuItems = useMemo(
|
const versionMenuItems = useMemo(
|
||||||
() =>
|
() =>
|
||||||
|
|||||||
@@ -2,6 +2,10 @@ import { NextResponse, type NextRequest } from 'next/server';
|
|||||||
import { PACKAGES } from './util/constants';
|
import { PACKAGES } from './util/constants';
|
||||||
|
|
||||||
export default async function middleware(request: NextRequest) {
|
export default async function middleware(request: NextRequest) {
|
||||||
|
if (request.nextUrl.pathname.includes('discord.js')) {
|
||||||
|
return NextResponse.redirect('https://discord.js.org/#/docs/discord.js');
|
||||||
|
}
|
||||||
|
|
||||||
if (PACKAGES.some((pkg) => request.nextUrl.pathname.includes(pkg))) {
|
if (PACKAGES.some((pkg) => request.nextUrl.pathname.includes(pkg))) {
|
||||||
const packageName = /\/docs\/packages\/([^/]+)\/.*/.exec(request.nextUrl.pathname)?.[1] ?? 'builders';
|
const packageName = /\/docs\/packages\/([^/]+)\/.*/.exec(request.nextUrl.pathname)?.[1] ?? 'builders';
|
||||||
const res = await fetch(`https://docs.discordjs.dev/api/info?package=${packageName}`);
|
const res = await fetch(`https://docs.discordjs.dev/api/info?package=${packageName}`);
|
||||||
@@ -17,5 +21,5 @@ export default async function middleware(request: NextRequest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const config = {
|
export const config = {
|
||||||
matcher: ['/docs', '/docs/packages/:package/stable/:member*'],
|
matcher: ['/docs', '/docs/packages/discord.js(.*)?', '/docs/packages/:package/stable/:member*'],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -62,6 +62,20 @@ export default function PackagesRoute(props: Partial<PackageProps> & { error?: s
|
|||||||
<div className="min-w-xs sm:w-md mx-auto flex h-full flex-row place-content-center place-items-center gap-8 py-0 px-4 lg:py-0 lg:px-6">
|
<div className="min-w-xs sm:w-md mx-auto flex h-full flex-row place-content-center place-items-center gap-8 py-0 px-4 lg:py-0 lg:px-6">
|
||||||
<div className="flex grow flex-col place-content-center gap-4">
|
<div className="flex grow flex-col place-content-center gap-4">
|
||||||
<h1 className="text-2xl font-semibold">Select a package:</h1>
|
<h1 className="text-2xl font-semibold">Select a package:</h1>
|
||||||
|
<a
|
||||||
|
className="dark:bg-dark-400 dark:border-dark-100 dark:hover:bg-dark-300 dark:active:bg-dark-200 flex h-11 transform-gpu cursor-pointer select-none appearance-none place-content-between rounded border border-neutral-300 bg-transparent p-4 text-base font-semibold leading-none text-black hover:bg-neutral-100 active:translate-y-px active:bg-neutral-200 dark:text-white"
|
||||||
|
href="https://discord.js.org/#/docs/discord.js"
|
||||||
|
>
|
||||||
|
<div className="flex grow flex-row place-content-between place-items-center gap-4">
|
||||||
|
<div className="flex grow flex-row place-content-between place-items-center gap-4">
|
||||||
|
<div className="flex flex-row place-content-between place-items-center gap-4">
|
||||||
|
<VscPackage size={25} />
|
||||||
|
<h2 className="font-semibold">discord.js</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<VscArrowRight size={20} />
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
{PACKAGES.map((pkg) => (
|
{PACKAGES.map((pkg) => (
|
||||||
<Link key={pkg} href={`/docs/packages/${pkg}/${findLatestVersion(pkg)?.version ?? 'main'}`} prefetch={false}>
|
<Link key={pkg} href={`/docs/packages/${pkg}/${findLatestVersion(pkg)?.version ?? 'main'}`} prefetch={false}>
|
||||||
<a className="dark:bg-dark-400 dark:border-dark-100 dark:hover:bg-dark-300 dark:active:bg-dark-200 flex h-11 transform-gpu cursor-pointer select-none appearance-none place-content-between rounded border border-neutral-300 bg-transparent p-4 text-base font-semibold leading-none text-black hover:bg-neutral-100 active:translate-y-px active:bg-neutral-200 dark:text-white">
|
<a className="dark:bg-dark-400 dark:border-dark-100 dark:hover:bg-dark-300 dark:active:bg-dark-200 flex h-11 transform-gpu cursor-pointer select-none appearance-none place-content-between rounded border border-neutral-300 bg-transparent p-4 text-base font-semibold leading-none text-black hover:bg-neutral-100 active:translate-y-px active:bg-neutral-200 dark:text-white">
|
||||||
|
|||||||
Reference in New Issue
Block a user