parsav  Diff

Differences From Artifact [cb3a66bab9]:

To Artifact [13509724e6]:


1
2
3
4
5
6
7
8
9
10
11
12






13


14
15
16
17

18
19
20
21
22
23
24
25
26
27
28
29
30
-- 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;
			circles = ''; -- TODO: list user's circles, rooms, and saved aclexps
		}






	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


|


<
|
<
<
|
|
|
>
>
>
>
>
>

>
>


<
<
>



|


|
<
<
<



1
2
3
4
5

6


7
8
9
10
11
12
13
14
15
16
17
18
19
20


21
22
23
24
25
26
27
28



29
30
31
-- vim: ft=terra
local terra 
render_compose(co: &lib.srv.convo, edit: &lib.store.post, acc: &lib.str.acc)
	var target, tgtlen = co:getv('to')
	var form: data.view.compose

	form = data.view.compose {


		handle = co.who.handle;
		circles = ''; -- TODO: list user's circles, rooms, and saved aclexps
	}
	if edit == nil then
		form.content = lib.coalesce(target, '')
		form.acl = lib.trn(target == nil, 'all', 'mentioned') -- TODO default acl setting?
	else
		form.content = lib.coalesce(edit.body, '')
		form.acl = edit.acl
	end
	if acc ~= nil then form:append(acc) return end 

	var cotxt = form:tostr() defer cotxt:free()



	var doc = [lib.srv.convo.page] {
		title = lib.str.plit 'compose';
		body = cotxt;
		class = lib.str.plit 'compose';
		cache = true;
	}

	co:stdpage(doc)



end

return render_compose