File size: 2,459 Bytes
88211d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html lang="en" class="h-full plausible">
  <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} />
    <meta
      name="x-api-version"
      content={Plausible.InternalStatsApiVersion.api_version()}
    />

    <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-950",
      if !assigns[:embedded] do
        "h-full"
      end
    ]}
    style={if assigns[:background], do: "background-color: #{assigns[:background]}"}
  >
    <%= if !assigns[:embedded] && assigns[:flash] do %>
      {render("_flash.html", assigns)}
    <% end %>

    <%= if !assigns[:embedded] && !assigns[:hide_header?] do %>
      {render("_header.html", assigns)}

      <%= if !assigns[:disable_global_notices?] do %>
        {render("_notice.html", assigns)}
      <% end %>
    <% 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>
    <% end %>
    <%= if !assigns[:hide_footer?] do %>
      {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>