mirror of
https://github.com/plausible/analytics.git
synced 2024-12-27 03:21:37 +03:00
0f0f604d2e
* Replace footer text * add COPYING.txt file * Add new logos * Use new logos in all layouts * New logos * Check license key on startup * Bypass license check when Mix.env == :dev * Use new logos with smaller wordmarks * Add generic logo_path/1 function * Use new favicons everywhere * Bypass license check in test env * Use sha256 for license key hash * Mix.env -> config_env() * Use Mix.evn at compile time rather than runtime * Mix format --------- Co-authored-by: Uku Taht <uku.taht@gmail.com>
60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en" class="h-full">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta
|
|
name="description"
|
|
content="Plausible is a lightweight and open-source web analytics tool. Your website data is 100% yours and the privacy of your visitors is respected."
|
|
/>
|
|
<%= if assigns[:connect_live_socket] do %>
|
|
<meta name="csrf-token" content={Plug.CSRFProtection.get_csrf_token()} />
|
|
<meta name="websocket-url" content={websocket_url()} />
|
|
<% end %>
|
|
<meta name="robots" content={@conn.private.robots} />
|
|
|
|
<PlausibleWeb.Components.Layout.favicon conn={@conn} />
|
|
|
|
<title>
|
|
<%= assigns[:title] ||
|
|
"Plausible · Simple, privacy-friendly alternative to Google Analytics" %>
|
|
</title>
|
|
<link rel="stylesheet" href={Routes.static_path(@conn, "/css/app.css")} />
|
|
<PlausibleWeb.Components.Layout.theme_script {Map.take(assigns, [:current_user, :theme])} />
|
|
<%= render("_tracking.html", assigns) %>
|
|
</head>
|
|
<body
|
|
class={[
|
|
"flex flex-col bg-gray-50 dark:bg-gray-850",
|
|
if !assigns[:embedded] do
|
|
"h-full"
|
|
end
|
|
]}
|
|
style={if assigns[:background], do: "background-color: #{assigns[:background]}"}
|
|
>
|
|
<%= if !assigns[:embedded] do %>
|
|
<%= render("_header.html", assigns) %>
|
|
<%= render("_notice.html", assigns) %>
|
|
<% end %>
|
|
|
|
<main class="flex-1">
|
|
<%= Map.get(assigns, :inner_layout) || @inner_content %>
|
|
</main>
|
|
|
|
<%= if assigns[:embedded] do %>
|
|
<div data-iframe-height></div>
|
|
<script type="text/javascript" src={Routes.static_path(@conn, "/js/embed.content.js")}>
|
|
</script>
|
|
<% else %>
|
|
<%= render("_footer.html", assigns) %>
|
|
<% end %>
|
|
<script type="text/javascript" src={Routes.static_path(@conn, "/js/app.js")}>
|
|
</script>
|
|
<%= if assigns[:load_dashboard_js] do %>
|
|
<script type="text/javascript" src={Routes.static_path(@conn, "/js/dashboard.js")}>
|
|
</script>
|
|
<% end %>
|
|
</body>
|
|
</html>
|