@@ -5,24 +5,43 @@ browser.sidebars.add({
55 isBottom : true ,
66} )
77
8- getFromStorage ( ) ;
8+ getFromStorage ( ) . then ( createSidebarItems ) ;
99
1010async function getFromStorage ( ) {
1111 //get from storage
1212 let sidebaritems = await browser . storage . local . get ( "sidebaritems" ) ;
13- if ( sidebaritems . sidebaritems == undefined ) {
14- sidebaritems . sidebaritems = [ ] ;
15- }
13+ console . log ( sidebaritems ) ;
14+ return sidebaritems ;
15+ }
16+
17+ async function createSidebarItems ( sidebaritems ) {
1618 //create sidebar items
1719 for ( let i = 0 ; i < sidebaritems . sidebaritems . length ; i ++ ) {
18- browser . sidebars . add ( {
19- title : sidebaritems . sidebaritems [ i ] . title ,
20- iconUrl : sidebaritems . sidebaritems [ i ] . iconUrl ,
21- webviewUrl : sidebaritems . sidebaritems [ i ] . webviewUrl ,
22- } ) ;
20+ browser . sidebars . add ( {
21+ title : sidebaritems . sidebaritems [ i ] . title ,
22+ iconUrl : sidebaritems . sidebaritems [ i ] . iconUrl ,
23+ webviewUrl : sidebaritems . sidebaritems [ i ] . webviewUrl ,
24+ } ) ;
2325 }
2426}
2527
28+ async function removeSidebarItems ( itemId )
29+ {
30+ const item = await browser . sidebars . get ( itemId ) ;
31+
32+ //remove from storage
33+ let storagearray = await getFromStorage ( ) ;
34+ let storageitems = storagearray . sidebaritems ;
35+
36+ for ( let i = 0 ; i < storageitems . length ; i ++ ) {
37+ if ( storageitems [ i ] . webviewUrl == item . webviewUrl ) {
38+ storageitems . splice ( i , 1 ) ;
39+ }
40+ }
41+
42+ browser . storage . local . set ( storagearray ) ;
43+ }
44+
2645browser . sidebars . onRemove . addListener ( ( itemId ) => {
27- console . log ( itemId ) ;
46+ removeSidebarItems ( itemId ) ;
2847} )
0 commit comments