analytics/lib/plausible_web/views/site_view.ex
Uku Taht 5f62025176
Shared links (#29)
* Create shared links UI

* Show shared links in a list on settings page

* Show dropdown for each shared link

* Show icon actions for shared links

* Log user in when they click non-password-protected shared link

* Actually authenticate using a password

* Delete shared links
2020-01-29 11:29:11 +02:00

30 lines
812 B
Elixir

defmodule PlausibleWeb.SiteView do
use PlausibleWeb, :view
def goal_name(%Plausible.Goal{page_path: page_path}) when is_binary(page_path) do
"Visit " <> page_path
end
def goal_name(%Plausible.Goal{event_name: name}) when is_binary(name) do
name
end
def shared_link_dest(link) do
PlausibleWeb.Endpoint.url() <> "/share/" <> link.slug
end
def snippet() do
"""
<script>
(function (w,d,s,o,f,js,fjs) {
w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments) };
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1; fjs.parentNode.insertBefore(js, fjs);
}(window, document, 'script', 'plausible', 'https://plausible.io/js/p.js'));
plausible('page')
</script>\
"""
end
end