Index: render/conf/users.t ================================================================== --- render/conf/users.t +++ render/conf/users.t @@ -17,29 +17,56 @@ case [uint16](5) then acc:lpush('🗝') end else acc:lpush('🕴') end end -local num_field = macro(function(acc,name,lbl,min,max,value) +local push_num_field = macro(function(acc,name,lbl,min,max,value,disable) name = name:asvalue() lbl = lbl:asvalue() + local start = '
' + local enabled = start .. string.format('', lbl) return quote var decbuf: int8[21] - in acc:lpush([string.format('
') + if disable then + acc:lpush([disabled]) + :push(lib.math.decstr(value, &decbuf[20]),0):lpush('
') + else + acc:lpush([enabled]):push(lib.math.decstr(min, &decbuf[20]),0) + :lpush('" max="'):push(lib.math.decstr(max, &decbuf[20]),0) + :lpush('" value="'):push(lib.math.decstr(value, &decbuf[20]),0):lpush('">') + end end end) -local terra -push_checkbox(acc: &lib.str.acc, name: pstr, lbl: pstr, on: bool, enabled: bool) - acc:lpush('') +local input_pusher = function(kind,wrap,uniq) + local fn = terra(acc: &lib.str.acc, name: pstr, val: pstr, lbl: pstr, on: bool, enabled: bool, class: pstr) + if wrap then acc:lpush('