-
Notifications
You must be signed in to change notification settings - Fork 0
/
popup.coffee
87 lines (76 loc) · 2.12 KB
/
popup.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
renderUser = ->
chrome.runtime.sendMessage {
type: 'user-info'
interactive: true
}, (user_info) ->
if not user_info.error
$('#signin').hide()
$('#revoke').show()
$('#user').html """
<div>
<span class="name">Logged in as: #{user_info.login}</span>
<img src="#{user_info.avatar_url}"/>
</div>
"""
else
$('#signin').show()
$('#revoke').hide()
$('#user').html """
<div>
<span class="name">Error detected: </span>
<span class="error">#{user_info.error}</span>
</div>
"""
$(document).ready ->
chrome.runtime.sendMessage {
type: 'get-token'
}, (data) ->
{error, access_token} = data
$('#signin').on 'click', (e)->
chrome.runtime.sendMessage {
type: 'user-info'
interactive: true
}, (user_info) ->
$('#signin').hide()
$('#revoke').show()
$('#revoke').on 'click', (e)->
chrome.runtime.sendMessage {
type: 'revoke-token'
}
$('#user').empty()
$('#signin').show()
$('#revoke').hide()
if access_token
$('#user').empty()
$('#signin').hide()
$('#revoke').show()
renderUser()
else
$('#user').empty()
$('#signin').show()
$('#revoke').hide()
$('#navigation > div').on 'click', (e) ->
$nav = $ e.currentTarget
cls = $nav.attr('class')
$nav.closest('body').attr('class', cls)
$('.nav.config > input').on 'click', (e) ->
$check = $ e.currentTarget
val = $check.val()
chrome.runtime.sendMessage {
type: 'set-config'
config: val
val: $check.is(':checked')
}
if val is 'disable'
$check.siblings('input').attr('disabled', $check.is(':checked'))
for el in $('.nav.config > input')
do ->
$el = $(el)
val = $el.val()
chrome.runtime.sendMessage {
type: 'get-config'
config: val
}, (data) ->
if val is 'disable'
$el.siblings('input').attr('disabled', (data is 'true'))
$el.prop('checked', data is 'true' or false);