import { useEffect, useState } from "react"; import "./App.css"; import { processData, searchByText, searchByTheme, processTheme } from "./utils/parsing"; import Graph from "./components/graph"; import { processRawFiles } from "./utils/agent"; const files=['大家想到未來不會很絕望嗎','日常生活','有人懂嗎','看到學貸還款通知書寄來','租屋網站']; const ContentTags=['Summary','Keywords','Order','User','Content']; const DisplayTypes=['text','point']; function App() { const [themes, setThemes]=useState([]); const [results, setResults]=useState([]); const [selectTab, setSelectTab]=useState('text'); function preText(){ files.forEach(async (file)=>{ const url = `assets/collect/${file}.json`; await processData(url); }); } function preTheme(){ if(themes?.length>0) processTheme(themes); } function processRaw(){ processRawFiles('resources/raw/1222', 'resources/collect/1222'); } useEffect(()=>{ fetch('themes.json').then(response=>response.json()).then(async (json)=>{ console.log(json); setThemes(json); }); },[]); return (

search by any text

search by theme

Results={results?.length}
{DisplayTypes.map((type)=>( ))}
{selectTab==='text' && (
{results?.length>0 && results.map((item, index)=>{ let output={}; return (
{/*

score={item.score.toFixed(4)}

*/} {(()=>{ let p=JSON.parse(item.payload.text); return (<>
{p.number}/{p.total}
{p.content}
{p.summry}
{p.keywords.map(el=>{el})}
); })()}
); })}
)} {selectTab==='point' && ( )}
); } export default App;