aboutsummaryrefslogtreecommitdiff
path: root/shardweb
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2018-11-05 16:03:56 +0100
committerAlex Auvolat <alex@adnab.me>2018-11-05 16:03:56 +0100
commit0e5b82f3348508eb7f4291a08722522a49edd752 (patch)
tree40bf4c9aa8d5b1920369c176665f5a4e7285de55 /shardweb
parent0b27af3dab56b667b50fd80590cdfd9df0feffbd (diff)
downloadshard-0e5b82f3348508eb7f4291a08722522a49edd752.tar.gz
shard-0e5b82f3348508eb7f4291a08722522a49edd752.zip
Facilitate file sending in chat0.0.4
Diffstat (limited to 'shardweb')
-rw-r--r--shardweb/assets/js/app.js6
-rw-r--r--shardweb/lib/controllers/directory_controller.ex4
-rw-r--r--shardweb/lib/templates/identity/view.html.eex4
-rw-r--r--shardweb/mix.exs3
4 files changed, 9 insertions, 8 deletions
diff --git a/shardweb/assets/js/app.js b/shardweb/assets/js/app.js
index 1e5ea62..f3372f1 100644
--- a/shardweb/assets/js/app.js
+++ b/shardweb/assets/js/app.js
@@ -20,7 +20,9 @@ import "phoenix_html"
import socket from "./socket"
-import routes from './phoenix-jsroutes'
+function parse_links(msg) {
+ return msg.replace(/shard:file:([0-9A-F]{64})/gi, '<a href="/raw/$1">$&</a>');
+}
var chat_channel = window.Gon.getAsset('chat_channel');
if (chat_channel != undefined)
@@ -30,7 +32,7 @@ if (chat_channel != undefined)
channel.on('shout', function (payload) { // listen to the 'shout' event
var li = document.createElement("li"); // creaet new list item DOM element
var name = payload.name || 'guest'; // get name from payload or set default
- li.innerHTML = '<b>&lt;' + name + '</b> <a href="' + routes.identityView(payload.fullpk) + '"><small>' + payload.pk16 + '</small></a><b>&gt;</b> ' + payload.message; // set li contents
+ li.innerHTML = '<b>&lt;' + name + '</b> <a href="/people/' + payload.fullpk + '"><small>' + payload.pk16 + '</small></a><b>&gt;</b> ' + parse_links(payload.message); // set li contents
// console.log(ul.scrollTop + ' ' + ul.scrollHeight + ' ' + ul.clientHeight);
var must_scroll = (ul.scrollTop >= ul.scrollHeight - ul.clientHeight - 10);
diff --git a/shardweb/lib/controllers/directory_controller.ex b/shardweb/lib/controllers/directory_controller.ex
index ad5c426..d1b7136 100644
--- a/shardweb/lib/controllers/directory_controller.ex
+++ b/shardweb/lib/controllers/directory_controller.ex
@@ -84,12 +84,12 @@ defmodule ShardWeb.DirectoryController do
info = SApp.File.get_info(pid)
if info[:missing_blocks] == 0 do
conn
- |> put_resp_content_type(info[:mime_type])
+ |> put_resp_content_type(String.trim(info[:mime_type]))
|> send_file(200, info[:path])
else
conn
|> put_status(:not_found)
- |> text("File not found or not yet completely downloaded.\n#{inspect(info)}")
+ |> text("File not found or not yet completely downloaded. Come back later!\n#{inspect(info)}")
end
end
end
diff --git a/shardweb/lib/templates/identity/view.html.eex b/shardweb/lib/templates/identity/view.html.eex
index c81caf6..cc58ed5 100644
--- a/shardweb/lib/templates/identity/view.html.eex
+++ b/shardweb/lib/templates/identity/view.html.eex
@@ -20,10 +20,10 @@
<%= render ShardWeb.LayoutView, "flashes.html", assigns %>
<%= 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>
+ <a class="btn btn-s btn-primary" href="<%= chat_path(@conn, :privchat, @view_pk |> Base.encode16) %>"><i class="fa fa-comments"></i> PM</a>
<% end %>
- <a class="btn btn-s btn-success" href="<%= directory_path(@conn, :view_pub, @pk |> Base.encode16, "collection") %>"><i class="fa fa-folder"></i> Public stuff</a>
+ <a class="btn btn-s btn-success" href="<%= directory_path(@conn, :view_pub, @view_pk |> Base.encode16, "collection") %>"><i class="fa fa-folder"></i> Public stuff</a>
<pre>
<%= inspect(SApp.Identity.get_info(@pid), pretty: true, width: 40) %>
diff --git a/shardweb/mix.exs b/shardweb/mix.exs
index 90fc530..3b6ccb7 100644
--- a/shardweb/mix.exs
+++ b/shardweb/mix.exs
@@ -7,7 +7,7 @@ defmodule ShardWeb.Mixfile do
version: "0.0.1",
elixir: "~> 1.4",
elixirc_paths: elixirc_paths(Mix.env),
- compilers: [:phoenix, :gettext] ++ Mix.compilers ++ [:jsroutes],
+ compilers: [:phoenix, :gettext] ++ Mix.compilers,
start_permanent: Mix.env == :prod,
deps: deps()
]
@@ -36,7 +36,6 @@ defmodule ShardWeb.Mixfile do
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_html, "~> 2.10"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
- {:phoenix_jsroutes, "~> 0.0.4"},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:phoenix_gon, "~> 0.4.0"},