sparkast/components/onesearch/link.tsx
2024-09-21 21:31:08 +08:00

31 lines
805 B
TypeScript

import { normalizeURL } from "lib/normalizeURL";
import { useNavigate } from "react-router";
interface LinkSuggestionProps {
children: React.ReactNode;
query: string;
selected: boolean;
inPage?: boolean;
}
export default function LinkSuggestion(props: LinkSuggestionProps) {
const className = props.selected
? `w-full h-10 leading-10 bg-zinc-300 dark:bg-zinc-700 px-5 z-10 cursor-pointer duration-100`
: `w-full h-10 leading-10 bg-zinc-100 hover:bg-zinc-300 dark:bg-zinc-800 hover:dark:bg-zinc-700 px-5 z-10 cursor-pointer duration-100`;
const navigate = useNavigate();
return (
<div
className={className}
onClick={() => {
if (props.inPage) {
navigate(props.query);
} else {
window.open(normalizeURL(props.query));
}
}}
>
{props.children}
</div>
);
}