import "./App.css"; import { useEffect, useState } from "react"; import { Box, Button, Card, Group, Input, Stack } from "@chakra-ui/react"; import { invoke } from "@tauri-apps/api/core"; import Glossary from "./components/Glossary"; import { Provider } from "./components/ui/provider"; function App() { const [q, setQ] = useState(""); const [entries, setEntries] = useState([]); useEffect(() => { doSearch(); }, [q]); async function doSearch() { if (!q.trim()) { setEntries([]); return; } const ender = q.endsWith(" ") ? "" : "*"; const qTerm = q.trim() + ender; const qReading = q.trim() + ender; setEntries( await invoke("search_yomitan", { qTerm, qReading, limit: 10, offset: 0, }), ); } return (
{ e.preventDefault(); }} > setQ(e.currentTarget.value)} autoComplete="off" spellCheck={false} placeholder="Search..." />
{entries.map(({ term, reading, glossary_json, ...it }, i) => (
  • {term} ({reading}) {JSON.stringify(it)} {JSON.parse(glossary_json).map((g: any) => ( setQ(t + " ")} /> ))}
  • ))}
    ); } export default App;