remove dep

This commit is contained in:
2025-04-26 11:58:11 -03:00
parent 7d29b943ff
commit 832ba12610
3 changed files with 0 additions and 81 deletions

View File

@@ -23,8 +23,6 @@
"astro-icon": "^1.1.5",
"astro-pagefind": "^1.8.3",
"clsx": "^2.1.1",
"fuse.js": "^7.1.0",
"meilisearch": "^0.50.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hook-form": "^7.56.0",
@@ -3952,15 +3950,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/fuse.js": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz",
"integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==",
"license": "Apache-2.0",
"engines": {
"node": ">=10"
}
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -5248,12 +5237,6 @@
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
"license": "CC0-1.0"
},
"node_modules/meilisearch": {
"version": "0.50.0",
"resolved": "https://registry.npmjs.org/meilisearch/-/meilisearch-0.50.0.tgz",
"integrity": "sha512-9IzIkobvnuS18Eg4dq/eJB9W+eXqeLZjNRgq/kKMswSmVYYSQsXqGgSuCA0JkF+o5RwJlwIsieQee6rh313VhA==",
"license": "MIT"
},
"node_modules/micromark": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",

View File

@@ -24,8 +24,6 @@
"astro-icon": "^1.1.5",
"astro-pagefind": "^1.8.3",
"clsx": "^2.1.1",
"fuse.js": "^7.1.0",
"meilisearch": "^0.50.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hook-form": "^7.56.0",

View File

@@ -1,62 +0,0 @@
import { useState } from "react";
import Fuse from "fuse.js";
// https://fusejs.io/api/options.html
const options = {
keys: ["data.title", "data.slug"],
includeMatches: true,
minMatchCharLength: 2,
threshold: 0.5,
};
export default function Search({ searchlist }) {
const [query, setQuery] = useState("");
const fuse = new Fuse(searchlist, options);
// Set a limit to the items: 5
const items = fuse
.search(query)
.map((result) => result.item)
.slice(0, 5);
const onChange = (e) => {
setQuery(e.target.value);
};
return (
<>
<input
id="search"
type="text"
className="focus:outline-none w-full pr-5 py-3.5 rounded-r-xl"
value={query}
autoComplete="false"
onChange={onChange}
/>
{query.length > 1 && (
<div className="absolute w-full top-full bg-white mt-1.5 p-5 rounded-xl drop-shadow space-y-2.5">
<p>
Encontrado {items.length} resultado(s) para '
<strong>{query}</strong>'
</p>
{items.length > 0 && (
<ul className="list-disc list-inside">
{items.map(({ data }, idx) => (
<li key={idx}>
<a
href={`/${data.slug}`}
className="font-medium hover:underline"
>
{data.title}
</a>
</li>
))}
</ul>
)}
</div>
)}
</>
);
}