diff --git a/app/Nav.tsx b/app/Nav.tsx index 7693da8..adea363 100644 --- a/app/Nav.tsx +++ b/app/Nav.tsx @@ -2,7 +2,9 @@ import styles from "../styles/modules/Nav.module.scss"; import Image from "next/image"; import Link from "next/link"; -import { useEffect } from "react"; +import { MutableRefObject, useEffect, useRef, useState } from "react"; +import async from "./articles/[categoryName]/[articleName]/head"; +import ContentTable from "./articles/[categoryName]/[articleName]/ContentTable"; export type NavCategory = { name: string; @@ -43,6 +45,20 @@ function toggleTheme() { } export default function Nav({ categories }: { categories: NavCategory[] }) { + const [searchResults, setSearchResults] = useState([]); + + async function handleSearchInput(event) { + const query = event.target.value; + let result = await fetch(`/api/search?q=${query}`); + let json = await result.json(); + + if (json.length == 0 && query.length > 0) { + setSearchResults([{ name: "", title: "No article found..." }]); + } else { + setSearchResults(json); + } + } + useEffect(() => { if (localStorage.getItem("theme") == "dark") { switchTheme("dark"); @@ -50,6 +66,11 @@ export default function Nav({ categories }: { categories: NavCategory[] }) { switchTheme("light"); } }, []); + + useEffect(() => { + console.log(searchResults); + }, [searchResults]); + return (