"use client"; import { useRecoilState, useRecoilValue } from "recoil"; import { settingsState } from "../state/settings"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { normalizeURL } from "@/lib/normalizeURL"; import validLink from "@/lib/url/validLink"; import { queryState } from "../state/query"; export default function Search(props: { onFocus: () => void }) { const settings: settings = useRecoilValue(settingsState); const t = useTranslations("Search"); const [query, setQuery] = useRecoilState(queryState); let style = "default"; function handleKeydown(e: any) { let URL = ""; if (validLink(query)) { URL = normalizeURL(query); } else { URL = settings.searchEngines[settings.currentSearchEngine]; URL = URL.replace("%s", query); } if (e.key == "Enter") { location.href = URL; } } if (style === "default") { return ( // 祖传样式,勿动
setQuery((_) => { return e.target.value; }) } autoComplete="off" autoCorrect="off" autoCapitalize="off" spellCheck="false" value={query} />
); } else if (style == "image") { return ( // 祖传样式,勿动
); } }