-- vim: ft=terra
local terra
render_compose(co: &lib.srv.convo, edit: &lib.store.post)
var target, tgtlen = co:getv('to')
var form: data.view.compose
if edit == nil then
form = data.view.compose {
content = lib.coalesce(target, '');
acl = lib.trn(target == nil, 'all', 'mentioned'); -- TODO default acl setting?
handle = co.who.handle;
}
end
var cotxt = form:tostr() defer cotxt:free()
var doc = data.view.docskel {
instance = co.srv.cfg.instance;
title = lib.str.plit 'compose';
body = cotxt;
class = lib.str.plit 'compose';
navlinks = co.navbar;
}
var hdrs = array(
lib.http.header { 'Content-Type', 'text/html; charset=UTF-8' }
)
doc:send(co.con,200,[lib.mem.ptr(lib.http.header)] {ct = 1, ptr = &hdrs[0]})
end
return render_compose