1- import  type  {  BackgroundMessage ,   CommentDraft ,  CommentSpot  }  from  '../lib/enhancer' 
1+ import  type  {  CommentDraft ,   CommentEvent ,  CommentSpot  }  from  '../lib/enhancer' 
22import  {  JsonMap  }  from  '../lib/jsonmap' 
33
44interface  Tab  { 
@@ -15,29 +15,32 @@ interface CommentState {
1515  drafts : [ number ,  CommentDraft ] [ ] 
1616} 
1717
18- const  _states  =  new  JsonMap < TabAndSpot ,  CommentState > ( ) 
19- 
20- browser . runtime . onMessage . addListener ( ( message : BackgroundMessage ,  sender )  =>  { 
21-   if  ( message . action  ===  'COMMENT_EVENT'  &&  sender . tab ?. id  &&  sender . tab ?. windowId )  { 
18+ const  states  =  new  JsonMap < TabAndSpot ,  CommentState > ( ) 
19+ browser . runtime . onMessage . addListener ( ( message : CommentEvent ,  sender )  =>  { 
20+   if  ( 
21+     ( message . type  ===  'ENHANCED'  ||  message . type  ===  'DESTROYED' )  && 
22+     sender . tab ?. id  && 
23+     sender . tab ?. windowId 
24+   )  { 
2225    const  tab : Tab  =  { 
2326      tabId : sender . tab . id , 
2427      windowId : sender . tab . windowId , 
2528    } 
2629
2730    const  tabAndSpot : TabAndSpot  =  { 
28-       spot : message . event . spot , 
31+       spot : message . spot , 
2932      tab, 
3033    } 
3134
32-     if  ( message . event . type  ===  'ENHANCED' )  { 
35+     if  ( message . type  ===  'ENHANCED' )  { 
3336      const  commentState : CommentState  =  { 
3437        drafts : [ ] , 
35-         spot : message . event . spot , 
38+         spot : message . spot , 
3639        tab, 
3740      } 
38-       _states . set ( tabAndSpot ,  commentState ) 
39-     }  else  if  ( message . event . type  ===  'DESTROYED' )  { 
40-       _states . delete ( tabAndSpot ) 
41+       states . set ( tabAndSpot ,  commentState ) 
42+     }  else  if  ( message . type  ===  'DESTROYED' )  { 
43+       states . delete ( tabAndSpot ) 
4144    } 
4245  } 
4346} ) 
0 commit comments