feat(website): add app dir (#8869)

Co-authored-by: iCrawl <buechler.noel@outlook.com>
This commit is contained in:
Suneet Tipirneni
2022-11-27 10:24:34 -05:00
committed by GitHub
parent decbce4010
commit 12553da135
49 changed files with 941 additions and 953 deletions

View File

@@ -1,7 +1,9 @@
'use client';
import type { ApiItemKind } from '@microsoft/api-extractor-model';
import { Dialog } from 'ariakit/dialog';
import { Command } from 'cmdk';
import { useRouter } from 'next/router';
import { usePathname, useRouter } from 'next/navigation';
import { useEffect, useMemo, useState } from 'react';
import {
VscArrowRight,
@@ -36,18 +38,16 @@ function resolveIcon(item: keyof typeof ApiItemKind) {
}
}
export function CmdKDialog({
currentPackageName,
currentVersion,
}: {
currentPackageName?: string | undefined;
currentVersion?: string | undefined;
}) {
export function CmdKDialog() {
const pathname = usePathname();
const router = useRouter();
const dialog = useCmdK();
const [search, setSearch] = useState('');
const [searchResults, setSearchResults] = useState<any[]>([]);
const packageName = pathname?.split('/').slice(3, 4)[0];
const branchName = pathname?.split('/').slice(4, 5)[0];
const searchResultItems = useMemo(
() =>
searchResults?.map((item) => (
@@ -55,7 +55,7 @@ export function CmdKDialog({
className="dark:border-dark-100 dark:hover:bg-dark-300 dark:active:bg-dark-200 [&[aria-selected]]:ring-blurple [&[aria-selected]]:ring-width-4 [&[aria-selected]]:ring my-1 flex transform-gpu cursor-pointer select-none appearance-none flex-row place-content-center rounded bg-transparent px-4 py-2 text-base font-semibold leading-none text-black outline-0 hover:bg-neutral-100 active:translate-y-px active:bg-neutral-200 dark:text-white"
key={item.id}
onSelect={() => {
void router.push(item.path);
router.push(item.path);
dialog!.setOpen(false);
}}
>
@@ -101,12 +101,12 @@ export function CmdKDialog({
useEffect(() => {
const searchDoc = async (searchString: string, version: string) => {
const res = await client.index(`${currentPackageName}-${version}`).search(searchString, { limit: 5 });
const res = await client.index(`${packageName}-${version}`).search(searchString, { limit: 5 });
setSearchResults(res.hits);
};
if (search && currentPackageName) {
void searchDoc(search, currentVersion?.replaceAll('.', '-') ?? 'main');
if (search && packageName) {
void searchDoc(search, branchName?.replaceAll('.', '-') ?? 'main');
} else {
setSearchResults([]);
}