From b86660f3f2adc0beb8831da33343a6d5a5f19736 Mon Sep 17 00:00:00 2001 From: oeyoews Date: Sun, 27 Oct 2024 11:40:43 +0800 Subject: [PATCH] feat: support restore text onchange webview --- package.json | 2 +- packages/react/src/App.tsx | 14 +++++++++++++- src/generated/meta.ts | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index b40dbe7..1edbe7b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "publisher": "oeyoews", "name": "usewiki2", "displayName": "usewiki2", - "version": "2.4.0", + "version": "2.5.0", "private": true, "packageManager": "pnpm@9.0.6", "description": "", diff --git a/packages/react/src/App.tsx b/packages/react/src/App.tsx index 1b8cb08..3a2aa4c 100644 --- a/packages/react/src/App.tsx +++ b/packages/react/src/App.tsx @@ -52,6 +52,11 @@ function App() { } } + function updateInputValue(value: string) { + setInputValue(value); + localStorage.setItem('text', value); + } + function playSound() { const currentAudio = new Audio('data:audio/mp3;base64,' + sound); currentAudio.volume = 0.9; @@ -69,9 +74,16 @@ function App() { if (!inputValue) return; messenger.send('sendWiki', { text: inputValue }); setInputValue(''); + localStorage.removeItem('text'); inputRef.current?.focus(); } + useEffect(() => { + if (localStorage.getItem('text')) { + setInputValue(localStorage.getItem('text')!); + } + }, []); + useEffect(() => { messenger.on('playSound', () => { playSound(); @@ -173,7 +185,7 @@ function App() { rows={6} placeholder={placeholder} className="focus-visible:ring-0 border-none input-bg resize-none" - onChange={(e) => setInputValue(e.target.value)} + onChange={(e) => updateInputValue(e.target.value)} value={inputValue} />