diff options
Diffstat (limited to 'shardweb/lib/templates/page/shard_entry.html.eex')
-rw-r--r-- | shardweb/lib/templates/page/shard_entry.html.eex | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/shardweb/lib/templates/page/shard_entry.html.eex b/shardweb/lib/templates/page/shard_entry.html.eex new file mode 100644 index 0000000..8a55b3a --- /dev/null +++ b/shardweb/lib/templates/page/shard_entry.html.eex @@ -0,0 +1,30 @@ + <%= case @manifest do %> + <% %SApp.Identity.Manifest{pk: pk} -> %><i class="fa fa-user"></i> + <%= SApp.Identity.get_nick(pk) %> + <a href="<%= identity_path(@conn, :view, pk|>Base.encode16) %>"> + <small><%= Shard.Keys.pk_display pk %></small> + </a> + + <% %SApp.Chat.Manifest{channel: chan} -> %><i class="fa fa-hashtag"></i> + <a href="<%= chat_path(@conn, :chat, chan) %>"> + <%= chan %> + </a> + + <% %SApp.Chat.PrivChat.Manifest{pk_list: pk_list} -> %><i class="fa fa-comments"></i> + <a href="<%= chat_path(@conn, :privchat, + (pk_list |> Enum.filter(&(&1!=@pk)) |> Enum.map(&Base.encode16/1) |> Enum.join(","))) %>"> + <%= pk_list |> Enum.filter(&(&1!=@pk)) |> Enum.map(&SApp.Identity.get_nick/1) |> Enum.join(", ") %> + </a> + + <% %SApp.Directory.Manifest{owner: owner, public: public, name: name} -> %><i class="fa fa-folder"></i> + <%= SApp.Identity.get_nick(owner) %> + <a href="<%= identity_path(@conn, :view, owner|>Base.encode16) %>"> + <small><%= Shard.Keys.pk_display owner %></small> + </a> + / + <a href="<%= directory_path(@conn, (if public do :view_pub else :view_priv end), owner|>Base.encode16(), name) %>"><%= name %></a> + <%= if public do %><i class="fa fa-globe"></i><% else %><i class="fa fa-lock"></i><% end %> + + + <% x -> %> <%= inspect x %> + <% end %> |