File size: 3,204 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
73
74
75
76
77
78
79
80
81
82
83
84
85
<div class="w-full max-w-3xl mt-4 mx-auto flex">
  <div class="max-w-lg w-full mx-auto bg-white dark:bg-gray-800 shadow-lg rounded-sm px-8 pt-6 pb-8 mb-4 mt-8">
    <h2 class="text-xl font-black dark:text-gray-100">Oops, sorry about that...</h2>

    <div class="rounded-md bg-yellow-50 dark:bg-transparent dark:border border-yellow-200 p-4 mt-4">
      <div class="flex">
        <div class="shrink-0">
          <svg
            class="h-5 w-5 text-yellow-400 dark:text-yellow-300"
            xmlns="http://www.w3.org/2000/svg"
            viewBox="0 0 20 20"
            fill="currentColor"
            aria-hidden="true"
          >
            <path
              fill-rule="evenodd"
              d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z"
              clip-rule="evenodd"
            />
          </svg>
        </div>
        <div class="ml-3">
          <h3 class="text-sm font-medium text-yellow-800 dark:text-yellow-400">
            There has been a server error.
            <%= if ee?() do %>
              But don't worry, we're on it!
            <% end %>
          </h3>

          <div class="mt-2 text-sm text-yellow-700 dark:text-yellow-300">
            <p>
              <%= if assigns[:trace_id] && ee?() do %>
                If you would like to help, tell us what you were trying to do. Our development team will receive your report.
              <% else %>
                We have been notified.
              <% end %>
            </p>
          </div>
        </div>
      </div>
    </div>

    <%= if ee?() do %>
      <%= if assigns[:trace_id] do %>
        <div class="my-6">
          <.form
            :let={f}
            for={%{}}
            as={:error}
            action={Routes.error_report_path(PlausibleWeb.Endpoint, :submit_error_report)}
          >
            <.input type="hidden" field={f[:trace_id]} value={@trace_id} />
            <PlausibleWeb.Live.Components.Form.label for="user_feedback">
              What happened?
            </PlausibleWeb.Live.Components.Form.label>
            <textarea
              name="user_feedback"
              id="user_feedback"
              rows="5"
              class="block w-full max-w-xl border-gray-300 dark:border-gray-700 resize-none shadow-xs focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm rounded-md dark:bg-gray-900 dark:text-gray-300"
              placeholder="I clicked on 'X' and then hit 'Confirm'..."
            >
        </textarea>
            <.button class="w-full" type="submit">Send feedback</.button>
          </.form>
        </div>
      <% end %>

      <div class="mb-6 mt-12">
        <div class="flex gap-x-5 text-sm justify-center">
          <.styled_link href="/">
            Home page
          </.styled_link>
          <.styled_link href="https://status.plausible.io">
            Status page
          </.styled_link>
          <.styled_link href="https://plausible.io/contact">
            Contact us
          </.styled_link>
        </div>
      </div>
    <% end %>
  </div>
</div>