4chan-x/src/Images/FappeTyme.coffee

53 lines
1.3 KiB
CoffeeScript
Executable File

FappeTyme =
init: ->
return unless (Conf['Fappe Tyme'] or Conf['Werk Tyme']) and g.VIEW in ['index', 'thread']
@nodes = {}
@enabled =
fappe: false
werk: Conf['werk']
for type in ["Fappe", "Werk"] when Conf["#{type} Tyme"]
lc = type.toLowerCase()
el = UI.checkbox lc, "#{type} Tyme", false
el.title = "#{type} Tyme"
@nodes[lc] = el.firstElementChild
@set lc, true if Conf[lc]
$.on @nodes[lc], 'change', @toggle.bind(@, lc)
Header.menu.addEntry
el: el
order: 97
if Conf['Werk Tyme']
$.sync 'werk', @set.bind(@, 'werk')
Post.callbacks.push
name: 'Fappe Tyme'
cb: @node
CatalogThread.callbacks.push
name: 'Werk Tyme'
cb: @catalogNode
node: ->
return if @file
$.addClass @nodes.root, "noFile"
catalogNode: ->
{file} = @thread.OP
return if !file
filename = $.el 'div',
textContent: file.name
className: 'werkTyme-filename'
$.add @nodes.thumb.parentNode, filename
set: (type, enabled) ->
@enabled[type] = @nodes[type].checked = enabled
$["#{if enabled then 'add' else 'rm'}Class"] doc, "#{type}Tyme"
toggle: (type) ->
@set type, !@enabled[type]
$.cb.checked.call @nodes[type] if type is 'werk'