add post editing
This commit is contained in:
16
views/post/edit-post.etlua
Normal file
16
views/post/edit-post.etlua
Normal file
@ -0,0 +1,16 @@
|
||||
<% for _, post in ipairs(prev_context) do %>
|
||||
<% render("views.threads.post", {post = post, edit = false, is_latest = false, no_reply = true}) %>
|
||||
<% end %>
|
||||
<span class="context-explain">
|
||||
<span>↑↑↑</span><i>Context</i><span>↑↑↑</span>
|
||||
</span>
|
||||
<% if infobox then %>
|
||||
<% render("views.common.infobox", infobox) %>
|
||||
<% end %>
|
||||
<% render("views.threads.post", {post = editing_post, edit = true, is_latest = false, no_reply = true}) %>
|
||||
<span class="context-explain">
|
||||
<span>↓↓↓</span><i>Context</i><span>↓↓↓</span>
|
||||
</span>
|
||||
<% for _, post in ipairs(next_context) do %>
|
||||
<% render("views.threads.post", {post = post, edit = false, is_latest = false, no_reply = true}) %>
|
||||
<% end %>
|
9
views/post/single-post.etlua
Normal file
9
views/post/single-post.etlua
Normal file
@ -0,0 +1,9 @@
|
||||
<% if not post then %>
|
||||
<% render("views.common.infobox", {kind = constants.InfoboxKind.ERROR, msg = "Post not found"}) %>
|
||||
<% else %>
|
||||
<div class=darkbg>
|
||||
<h1 class=thread-title><%= post.username .. "'s post in " .. thread.title %></h1>
|
||||
</div>
|
||||
<% render("views.threads.post", {post = post, edit = false, is_latest = false, no_reply = true}) %>
|
||||
<a class=linkbutton href="<%= url_for("thread", {slug = thread.slug}, {after = post.id}) .. "#post-" .. post.id %>">View in context</a>
|
||||
<% end %>
|
@ -1,4 +1,10 @@
|
||||
<div class="post" id="post-<%= post.id %>">
|
||||
<%
|
||||
local pc = "post"
|
||||
if edit then
|
||||
pc = pc .. " editing"
|
||||
end
|
||||
%>
|
||||
<div class="<%= pc %>" id="post-<%= post.id %>">
|
||||
<div class="usercard">
|
||||
<a href="<%= url_for("user", {username = post.username}) %>" style="display: contents;">
|
||||
<img src="<%= post.avatar_path %>" class="avatar">
|
||||
@ -8,19 +14,52 @@
|
||||
<em class="user-status"><%= post.status %></em>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="post-content-container"<%= is_latest and 'id=latest-post' or "" %>>
|
||||
<div class="post-info">
|
||||
<div><a href="<%= "#post-" .. post.id %>" title="Permalink"><i>
|
||||
<a href="<%= url_for("thread", {slug = thread.slug}, {page = page}) .. "#post-" .. post.id %>" title="Permalink"><i>
|
||||
<% if tonumber(post.edited_at) > tonumber(post.created_at) then -%>
|
||||
Edited at <%= os.date("%c", post.edited_at) %>
|
||||
<% else -%>
|
||||
Posted at <%= os.date("%c", post.created_at) %>
|
||||
<% end -%>
|
||||
</i></a></div>
|
||||
<div><button>Reply</button></div>
|
||||
</i></a>
|
||||
<span>
|
||||
<%
|
||||
local show_edit = me.id == post.user_id and not me:is_guest() and not ntob(thread.is_locked) and not no_reply
|
||||
if show_edit then
|
||||
%>
|
||||
<a class="linkbutton" href="<%= url_for("edit_post", {post_id = post.id}) %>">Edit</a>
|
||||
<% end %>
|
||||
<%
|
||||
local show_reply = true
|
||||
if ntob(thread.is_locked) and not me:is_mod() then
|
||||
show_reply = false
|
||||
elseif me:is_guest() then
|
||||
show_reply = false
|
||||
elseif edit then
|
||||
show_reply = false
|
||||
elseif no_reply then
|
||||
show_reply = false
|
||||
end
|
||||
if show_reply then
|
||||
%>
|
||||
<button>Reply</button>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
<div class="post-content">
|
||||
<%- post.content %>
|
||||
<% if not edit then %>
|
||||
<%- post.content %>
|
||||
<% else %>
|
||||
<form class="post-edit-form" method="post">
|
||||
<textarea name="new_content" required><%- post.original_markup %></textarea>
|
||||
<span>
|
||||
<input type=submit value="Save">
|
||||
<a class="linkbutton warn" href="<%= url_for("thread", {slug = thread.slug}, {page = page}) .. "#post-" .. post.id %>">Cancel</a>
|
||||
</span>
|
||||
</form>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user