2022-04-14 02:18:01 -04:00
|
|
|
<h1>@<%= @room.domain %></h1>
|
2022-04-06 14:55:12 -04:00
|
|
|
|
|
|
|
<%= if @live_action in [:new, :edit] do %>
|
2022-04-13 16:17:28 -04:00
|
|
|
<.modal return_to={Routes.post_index_path(@socket, :index, @room)}>
|
2022-04-06 14:55:12 -04:00
|
|
|
<.live_component
|
2022-04-07 17:52:32 -04:00
|
|
|
current_user={@current_user}
|
2022-04-06 14:55:12 -04:00
|
|
|
module={AggieditWeb.PostLive.FormComponent}
|
|
|
|
id={@post.id || :new}
|
|
|
|
title={@page_title}
|
|
|
|
action={@live_action}
|
|
|
|
post={@post}
|
2022-04-13 16:17:28 -04:00
|
|
|
return_to={Routes.post_index_path(@socket, :index, @room)}
|
2022-04-06 14:55:12 -04:00
|
|
|
/>
|
|
|
|
</.modal>
|
|
|
|
<% end %>
|
|
|
|
|
2022-04-14 02:18:01 -04:00
|
|
|
<span><%= live_patch "New Post", to: Routes.post_index_path(@socket, :new, @room) %></span>
|
2022-04-14 13:43:34 -04:00
|
|
|
<div id="posts" phx-update="prepend">
|
|
|
|
<%= for post <- @posts do %>
|
|
|
|
<div id={"post-#{post.id}"} class="card d-flex flex-row align-items-center p-2 m-2 shadow">
|
2022-04-15 15:00:42 -04:00
|
|
|
<div class="d-flex flex-column m-2">
|
|
|
|
<%=
|
|
|
|
has_vote = Map.has_key?(@votes, post.id)
|
|
|
|
is_upvote = has_vote && @votes[post.id].is_up
|
|
|
|
""
|
|
|
|
%>
|
|
|
|
<div class="d-flex">
|
|
|
|
<span><%= link "", to: "#", phx_click: "upvote", phx_value_id: post.id, class: "bi bi-arrow-up-circle#{if has_vote && is_upvote, do: "-fill", else: ""}" %></span>
|
|
|
|
</div>
|
|
|
|
<div class="d-flex">
|
|
|
|
<%= post.score %>
|
|
|
|
</div>
|
|
|
|
<div class="d-flex">
|
|
|
|
<span><%= link "", to: "#", phx_click: "downvote", phx_value_id: post.id, class: "bi bi-arrow-down-circle#{if has_vote && !is_upvote, do: "-fill", else: ""}" %></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="m-2 card-image d-flex justify-content-center" style="width: 100px">
|
|
|
|
<%= if !is_nil(post.upload) do %>
|
|
|
|
<%= live_redirect to: Routes.post_show_path(@socket, :show, @room, post) do %>
|
2022-04-14 13:43:34 -04:00
|
|
|
<img class="fluid-img thumbnail" src={Routes.static_path(@socket, "/uploads/#{post.upload.file}")} />
|
2022-04-15 15:00:42 -04:00
|
|
|
<% end %>
|
2022-04-14 13:43:34 -04:00
|
|
|
<% end %>
|
2022-04-15 15:00:42 -04:00
|
|
|
</div>
|
2022-04-14 13:43:34 -04:00
|
|
|
<div class="card-body">
|
|
|
|
<%= live_redirect to: Routes.post_show_path(@socket, :show, @room, post) do %>
|
|
|
|
<h4 class="card-title"><%= post.title %></h4>
|
|
|
|
<% end %>
|
|
|
|
<h6 class="card-subtitle mb-2"><span class="text-muted">aggie/</span><%= post.user.username %></h6>
|
|
|
|
<p class="card-text"><%= post.body %></p>
|
2022-04-06 14:55:12 -04:00
|
|
|
|
2022-04-14 13:43:34 -04:00
|
|
|
<%= if Aggiedit.Roles.guard?(@current_user, :edit, post) && Aggiedit.Roles.guard?(@current_user, :edit, post) do %>
|
|
|
|
<span><%= live_patch "Edit", to: Routes.post_index_path(@socket, :edit, @room, post) %></span>
|
|
|
|
<span><%= link "Delete", to: "#", phx_click: "delete", phx_value_id: post.id %></span>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
2022-04-14 02:18:01 -04:00
|
|
|
</div>
|
2022-04-14 13:43:34 -04:00
|
|
|
<% end %>
|
|
|
|
</div>
|