The frontend/UI server, written in JS using the MarkoJS library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

36 lines
1.6 KiB

<logs-content-menu on-hightlights("highlightsChanged") user=input.user log=state.log on-select("open") />
<main>
<div class="logs-content">
<div class="header">
<h1 class="color-primary">${component.title}</h1>
<if-permitted user=input.user permission="log.edit">
<a on-click("open", "log.edit") class="color-menu">Edit</a>
</if-permitted>
<if-permitted user=input.user permission="log.remove">
<a on-click("open", "log.remove") class="color-menu">Remove</a>
</if-permitted>
</div>
<annotation if(state.removed) level="error">
<p>
This log has been removed. Your browser has not refreshed the page yet,
so you can still read it (or back it up) before leaving the page.
</p>
</annotation>
<post for(post in state.log.posts | status-var=loop)
key=post.id
on-move("movePost", post)
on-remove("removePost", post)
on-edited("postEdited")
user=input.user
prev=(state.log.posts[loop.getIndex() - 1] || {})
post=post
characters=state.log.characters
highlights=state.highlights
last=(post.position === state.log.posts.length)
/>
</div>
<add-post-modal enabled=(state.modal === "post.add") logId=state.log.id on-close("close") on-added("postAdded") />
<edit-log-modal enabled=(state.modal === "log.edit") log=state.log on-close("close") on-edited("logEdited") />
<remove-log-modal enabled=(state.modal === "log.remove") logId=state.log.id on-close("close") on-removed("logRemoved") />
</main>