322:7dfdf32e8577
Anton Shestakov <av6@dwimlabs.net>, Sat, 14 Jul 2018 20:23:13 +0800
index: authorizing contact also adds it to the roster Maybe there are cases when this doesn't make sense, but so far this looks like the right thing to do.

previous change 233:7d12b9fc2f41

coffee/favicon.coffee

Permissions: -rw-r--r--

Other formats: Feeds:
class window.Tram.FaviconApp extends Backbone.View
tagName: 'link'
attributes:
rel: 'icon'
type: 'image/x-icon'
pipColors: Tram.colors.show
initialize: ->
@canvas = document.createElement('canvas')
@canvas.height = 16
@canvas.width = 16
@listenTo(@model, 'change', @updateFavicon)
@updateFavicon()
@render()
updateFavicon: ->
color = @pipColors[@model.get('show')] ? @pipColors['default']
@renderFavicon(color)
renderFavicon: (color) ->
ctx = @canvas.getContext('2d')
ctx.clearRect(0, 0, @canvas.width, @canvas.height)
ctx.fillStyle = color
ctx.beginPath()
ctx.arc(8, 8, 5.5, 0, Math.PI * 2)
ctx.fill()
@el.href = @canvas.toDataURL()
render: ->
$('head').append(@el)
@