@@ -4,13 +4,15 @@ import { ActionContainer } from '../components/action-container'
4
4
import { sendMessage } from '../utilities/send-message'
5
5
6
6
import type { ExtItem , ExtMessage } from '../types'
7
+ import type { NoteEdge } from '@common/types/pocket'
7
8
8
9
export function App ( ) {
9
10
const [ isOpen , setIsOpen ] = useState ( false )
10
11
const [ saveStatus , setSaveStatus ] = useState ( 'saving' )
11
12
const [ noteStatus , setNoteStatus ] = useState < string | undefined > ( undefined )
12
13
const [ errorMessage , setErrorMessage ] = useState < string | undefined > ( undefined )
13
14
const [ item , setItem ] = useState < ExtItem | undefined > ( undefined )
15
+ const [ notes , setNotes ] = useState < NoteEdge [ ] | [ ] > ( [ ] )
14
16
15
17
/* Setup Listeners and show popup
16
18
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@@ -39,6 +41,7 @@ export function App() {
39
41
case EXT_ACTIONS . SAVE_TO_POCKET_SUCCESS : {
40
42
const item = message ?. item as ExtItem
41
43
setItem ( item )
44
+ setNotes ( item . savedItem . notes . edges )
42
45
setNoteStatus ( undefined )
43
46
setSaveStatus ( 'saved' )
44
47
return
@@ -58,6 +61,17 @@ export function App() {
58
61
return
59
62
}
60
63
64
+ case EXT_ACTIONS . DELETE_NOTE_SUCCESS : {
65
+ const { noteId } = message
66
+ if ( noteId ) {
67
+ setNoteStatus ( undefined )
68
+ setNotes ( ( notes ) => {
69
+ return notes . filter ( ( note ) => note ?. node ?. id !== noteId )
70
+ } )
71
+ }
72
+ return
73
+ }
74
+
61
75
case EXT_ACTIONS . REMOVE_ITEM_REQUEST : {
62
76
setSaveStatus ( 'removing' )
63
77
return
@@ -118,6 +132,7 @@ export function App() {
118
132
errorMessage = { errorMessage }
119
133
saveStatus = { saveStatus }
120
134
noteStatus = { noteStatus }
135
+ notes = { notes }
121
136
setNoteStatus = { setNoteStatus }
122
137
isOpen = { isOpen }
123
138
item = { item }
0 commit comments