@@ -5,6 +5,37 @@ chrome.identity.getProfileUserInfo(function(browserUser){
5
5
document . getElementsByClassName ( "browserID" ) [ 0 ] . textContent = "ID: " + sourceID ;
6
6
} ) ;
7
7
8
+ document . getElementsByTagName ( "i" ) [ 0 ] . addEventListener ( "click" , ( event ) => {
9
+ const sinkBrowserID = prompt ( "Enter the browser ID" ) ;
10
+ if ( sinkBrowserID != null ) {
11
+ const nickName = prompt ( "Enter nickname for browser " + sinkBrowserID ) ;
12
+ if ( nickName != null ) {
13
+ chrome . storage . local . get ( { lyncSavedSources :[ ] } , ( result ) => {
14
+ var lyncSavedSources = result . lyncSavedSources ;
15
+ lyncSavedSources . push ( { sourceID :sinkBrowserID , nickName :nickName } ) ;
16
+ chrome . storage . local . set ( { lyncSavedSources :lyncSavedSources } , ( ) => {
17
+ window . close ( ) ;
18
+ } ) ;
19
+ } ) ;
20
+ }
21
+ }
22
+ } ) ;
23
+
24
+ function removeBrowser ( browserID ) {
25
+ chrome . storage . local . get ( { lyncSavedSources :[ ] } , ( result ) => {
26
+ var lyncSavedSources = result . lyncSavedSources ;
27
+ for ( var b in lyncSavedSources ) {
28
+ if ( lyncSavedSources [ b ] . sourceID == browserID ) {
29
+ lyncSavedSources . splice ( b , 1 ) ;
30
+ break ;
31
+ }
32
+ }
33
+ chrome . storage . local . set ( { lyncSavedSources :lyncSavedSources } , ( ) => {
34
+ window . close ( ) ;
35
+ } )
36
+ } ) ;
37
+ }
38
+
8
39
function loadSinkNames ( ) {
9
40
var currentDiv = document . getElementsByClassName ( "paired" ) [ 0 ] ;
10
41
@@ -15,13 +46,25 @@ function loadSinkNames(){
15
46
const sinkDiv = document . createElement ( "div" ) ;
16
47
sinkDiv . setAttribute ( "class" , "sinks" ) ;
17
48
18
- const sinkName = document . createElement ( "p" ) . appendChild ( document . createTextNode ( lyncSavedSources [ i ] . nickName ) ) ;
19
- sinkDiv . appendChild ( sinkName ) ;
49
+ const sinkNameSpan = document . createElement ( "span" ) ;
50
+ sinkNameSpan . setAttribute ( "class" , "sinkName" ) ;
51
+ sinkNameSpan . appendChild ( document . createElement ( "p" ) . appendChild ( document . createTextNode ( lyncSavedSources [ i ] . nickName ) ) ) ;
52
+ sinkDiv . appendChild ( sinkNameSpan ) ;
53
+
54
+ const trashIconSpan = document . createElement ( "span" ) ;
55
+ const trashIcon = document . createElement ( "i" ) ;
56
+ trashIcon . setAttribute ( "class" , "trashIcon fa-solid fa-trash" ) ;
57
+ trashIconSpan . appendChild ( trashIcon ) ;
58
+ sinkDiv . appendChild ( trashIconSpan ) ;
20
59
21
- sinkDiv . addEventListener ( "click" , ( event ) => {
60
+ sinkNameSpan . addEventListener ( "click" , ( event ) => {
22
61
sendLink ( sourceID , lyncSavedSources [ i ] . sourceID ) ;
23
62
} ) ;
24
63
64
+ trashIcon . addEventListener ( "click" , ( event ) => {
65
+ removeBrowser ( lyncSavedSources [ i ] . sourceID ) ;
66
+ } ) ;
67
+
25
68
currentDiv . after ( sinkDiv ) ;
26
69
currentDiv = sinkDiv ;
27
70
}
@@ -42,7 +85,7 @@ function sendLink(sourceID,sinkID) {
42
85
43
86
chrome . runtime . sendMessage ( data , ( res ) => {
44
87
if ( res . status == "SUCCESS" ) {
45
- alert ( "Link Sent!" ) ;
88
+ window . close ( ) ;
46
89
}
47
90
else {
48
91
alert ( "Error sending the link!" ) ;
0 commit comments