parsav  Diff

Differences From Artifact [cb3a66bab9]:

To Artifact [13509724e6]:


     1      1   -- vim: ft=terra
     2      2   local terra 
     3         -render_compose(co: &lib.srv.convo, edit: &lib.store.post)
            3  +render_compose(co: &lib.srv.convo, edit: &lib.store.post, acc: &lib.str.acc)
     4      4   	var target, tgtlen = co:getv('to')
     5      5   	var form: data.view.compose
            6  +	form = data.view.compose {
            7  +		handle = co.who.handle;
            8  +		circles = ''; -- TODO: list user's circles, rooms, and saved aclexps
            9  +	}
     6     10   	if edit == nil then
     7         -		form = data.view.compose {
     8         -			content = lib.coalesce(target, '');
     9         -			acl = lib.trn(target == nil, 'all', 'mentioned'); -- TODO default acl setting?
    10         -			handle = co.who.handle;
    11         -			circles = ''; -- TODO: list user's circles, rooms, and saved aclexps
    12         -		}
           11  +		form.content = lib.coalesce(target, '')
           12  +		form.acl = lib.trn(target == nil, 'all', 'mentioned') -- TODO default acl setting?
           13  +	else
           14  +		form.content = lib.coalesce(edit.body, '')
           15  +		form.acl = edit.acl
    13     16   	end
           17  +	if acc ~= nil then form:append(acc) return end 
           18  +
    14     19   	var cotxt = form:tostr() defer cotxt:free()
    15     20   
    16         -	var doc = data.view.docskel {
    17         -		instance = co.srv.cfg.instance;
           21  +	var doc = [lib.srv.convo.page] {
    18     22   		title = lib.str.plit 'compose';
    19     23   		body = cotxt;
    20     24   		class = lib.str.plit 'compose';
    21         -		navlinks = co.navbar;
           25  +		cache = true;
    22     26   	}
    23     27   
    24         -	var hdrs = array(
    25         -		lib.http.header { 'Content-Type', 'text/html; charset=UTF-8' }
    26         -	)
    27         -	doc:send(co.con,200,[lib.mem.ptr(lib.http.header)] {ct = 1, ptr = &hdrs[0]})
           28  +	co:stdpage(doc)
    28     29   end
    29     30   
    30     31   return render_compose