diff options
Diffstat (limited to 'shardweb/lib')
-rw-r--r-- | shardweb/lib/channels/chat_channel.ex | 10 | ||||
-rw-r--r-- | shardweb/lib/controllers/identity_controller.ex | 34 | ||||
-rw-r--r-- | shardweb/lib/router.ex | 1 | ||||
-rw-r--r-- | shardweb/lib/templates/directory/view.html.eex | 9 | ||||
-rw-r--r-- | shardweb/lib/templates/identity/view.html.eex | 12 | ||||
-rw-r--r-- | shardweb/lib/templates/layout/app.html.eex | 4 | ||||
-rw-r--r-- | shardweb/lib/templates/page/shard_entry.html.eex | 4 | ||||
-rw-r--r-- | shardweb/lib/templates/page/shard_list.html.eex | 2 | ||||
-rw-r--r-- | shardweb/lib/views/identity_view.ex | 5 |
9 files changed, 20 insertions, 61 deletions
diff --git a/shardweb/lib/channels/chat_channel.ex b/shardweb/lib/channels/chat_channel.ex index 25f1d09..7c8f1f9 100644 --- a/shardweb/lib/channels/chat_channel.ex +++ b/shardweb/lib/channels/chat_channel.ex @@ -44,6 +44,7 @@ defmodule ShardWeb.ChatChannel do push(socket, "shout", %{ name: nick, pk16: Shard.Keys.pk_display(pk), + fullpk: Base.encode16(pk), message: msg, }) end) @@ -55,9 +56,11 @@ defmodule ShardWeb.ChatChannel do {_ts, msg} = SData.term_unbin msgbin nick = SApp.Identity.get_nick pk Logger.info("#{inspect self()} :chat_recv #{inspect msg}") - push socket, "shout", %{"name" => nick, - "pk16" => Shard.Keys.pk_display(pk), - "message" => msg} + push socket, "shout", %{ + name: nick, + pk16: Shard.Keys.pk_display(pk), + fullpk: Base.encode16(pk), + message: msg} SApp.Chat.mark_read(socket.assigns.pid) {:noreply, socket} end @@ -80,6 +83,7 @@ defmodule ShardWeb.ChatChannel do nick = SApp.Identity.get_nick pk payload = Map.put(payload, "name", nick) payload = Map.put(payload, "pk16", Shard.Keys.pk_display pk) + payload = Map.put(payload, "fullpk", Base.encode16 pk) SApp.Chat.chat_send(socket.assigns.pid, pk, payload["message"]) broadcast socket, "shout", payload diff --git a/shardweb/lib/controllers/identity_controller.ex b/shardweb/lib/controllers/identity_controller.ex index d1c6886..962a888 100644 --- a/shardweb/lib/controllers/identity_controller.ex +++ b/shardweb/lib/controllers/identity_controller.ex @@ -25,40 +25,6 @@ defmodule ShardWeb.IdentityController do end end - def view_post(conn, opts) do - IO.puts(inspect opts) - {:ok, pk} = Base.decode16(opts["pk"]) - manifest = %SApp.Identity.Manifest{pk: pk} - nick = SApp.Identity.get_nick pk - shard = manifest |> SData.term_hash - pid = Shard.Manager.find_proc shard - - if opts["add_friend"] == "true" do - friend_list = SApp.Directory.friends_dir(conn.assigns.pk) - name = nick <> " " <> Shard.Keys.pk_display(pk) - SApp.Directory.add_file(friend_list, name, manifest) - end - - if opts["rm_friend"] == "true" do - friend_list = SApp.Directory.friends_dir(conn.assigns.pk) - name = SApp.Directory.find(friend_list, manifest) - if name != nil do - SApp.Directory.rm_file(friend_list, name) - end - end - - if pid == nil do - render conn, ShardWeb.ErrorView, "404.html" - else - render conn, "view.html", - view_pk: pk, - view_nick: SApp.Identity.get_nick(pk), - shard: shard, - pid: pid - end - #TODO - end - def update(conn, params) do pid = SApp.Identity.find_proc(conn.assigns.pk) info = SApp.Identity.get_info(pid) diff --git a/shardweb/lib/router.ex b/shardweb/lib/router.ex index eb1868f..61f8209 100644 --- a/shardweb/lib/router.ex +++ b/shardweb/lib/router.ex @@ -24,7 +24,6 @@ defmodule ShardWeb.Router do get "/people", IdentityController, :list get "/people/:pk", IdentityController, :view - post "/people/:pk", IdentityController, :view_post get "/identity", IdentityController, :self post "/identity", IdentityController, :update post "/identity/switch", IdentityController, :switch diff --git a/shardweb/lib/templates/directory/view.html.eex b/shardweb/lib/templates/directory/view.html.eex index b981391..43ded97 100644 --- a/shardweb/lib/templates/directory/view.html.eex +++ b/shardweb/lib/templates/directory/view.html.eex @@ -7,6 +7,15 @@ </h1> <ol class="breadcrumb"> + <li> + <i class="fa fa-users"></i> Users + </li> + <li> + <i class="fa fa-user"></i> <%= @owner |> SApp.Identity.get_nick %> + <a href="<%= identity_path(@conn, :view, @owner |> Base.encode16) %>"> + <small><%= @owner |> Shard.Keys.pk_display %></small> + </a> + </li> <li class="active"> <i class="fa fa-folder"></i> <%= @name %> </li> diff --git a/shardweb/lib/templates/identity/view.html.eex b/shardweb/lib/templates/identity/view.html.eex index 6cb1bde..3fb5a3f 100644 --- a/shardweb/lib/templates/identity/view.html.eex +++ b/shardweb/lib/templates/identity/view.html.eex @@ -18,16 +18,8 @@ <%= render ShardWeb.LayoutView, "flashes.html", assigns %> -<%= if is_friend(@conn, @view_pk) do %> - <%= form_for @conn, identity_path(@conn, :view_post, @view_pk|>Base.encode16()), [class: "form-inline"], fn f -> %> - <%= hidden_input f, :rm_friend, value: "true" %> - <%= submit "Remove from friends", [class: "btn btn-sm btn-danger"] %> - <% end %> -<% else %> - <%= form_for @conn, identity_path(@conn, :view_post, @view_pk|>Base.encode16()), [class: "form-inline"], fn f -> %> - <%= hidden_input f, :add_friend, value: "true" %> - <%= submit "Add to friends", [class: "btn btn-sm btn-success"] %> - <% end %> +<%= if @view_pk != @pk do %> + <a class="btn btn-s btn-primary" href="<%= chat_path(@conn, :privchat, @pk |> Base.encode16) %>"><i class="fa fa-comments"></i> PM</a> <% end %> <pre> diff --git a/shardweb/lib/templates/layout/app.html.eex b/shardweb/lib/templates/layout/app.html.eex index 71a08f9..1310131 100644 --- a/shardweb/lib/templates/layout/app.html.eex +++ b/shardweb/lib/templates/layout/app.html.eex @@ -150,10 +150,6 @@ </ul> </li> - - <li class="<%= if @view_module == ShardWeb.DirectoryView and @view_template == "view.html" and not @public and @name == "friends" do "active" else "" end %>"> - <a href="<%= directory_path(@conn, :view_priv, @pk|>Base.encode16(), "friends") %>"><i class="fa fa-fw fa-heart"></i> Friends</a> - </li> <li class="<%= if (@view_module == ShardWeb.IdentityView and @view_template == "list.html") or (@view_module == ShardWeb.ChatView and @view_template == "chat.html" and not @public) do "active" else "" end %>"> <a href="<%= identity_path(@conn, :list) %>"><i class="fa fa-fw fa-users"></i> Everyone<i class="fa fa-fw fa-caret-down"></i></a> diff --git a/shardweb/lib/templates/page/shard_entry.html.eex b/shardweb/lib/templates/page/shard_entry.html.eex index 8a55b3a..d99fc34 100644 --- a/shardweb/lib/templates/page/shard_entry.html.eex +++ b/shardweb/lib/templates/page/shard_entry.html.eex @@ -18,9 +18,7 @@ <% %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> + <small><%= Shard.Keys.pk_display owner %></small> / <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 %> diff --git a/shardweb/lib/templates/page/shard_list.html.eex b/shardweb/lib/templates/page/shard_list.html.eex index 53f6264..dd846d8 100644 --- a/shardweb/lib/templates/page/shard_list.html.eex +++ b/shardweb/lib/templates/page/shard_list.html.eex @@ -35,7 +35,7 @@ <% end %> </td> <td> - <%= render "shard_entry.html", conn: @conn, manifest: manifest %> + <%= render "shard_entry.html", conn: @conn, manifest: manifest, pk: @pk %> </td> <td><small><%= id |> Base.encode16 %></small></td> </tr> diff --git a/shardweb/lib/views/identity_view.ex b/shardweb/lib/views/identity_view.ex index 86423b2..1844ce8 100644 --- a/shardweb/lib/views/identity_view.ex +++ b/shardweb/lib/views/identity_view.ex @@ -18,9 +18,4 @@ defmodule ShardWeb.IdentityView do end end) end - - def is_friend(conn, pk) do - fd = SApp.Directory.friends_dir(conn.assigns.pk) - SApp.Directory.find(fd, %SApp.Identity.Manifest{pk: pk}) != nil - end end |