401-mobile.html 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <!DOCTYPE html>
  2. <html class="dark">
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover">
  5. <title>401: Unauthorized</title>
  6. <link rel="stylesheet" href="/assets/error/style-mobile.css">
  7. <body <% if @traceback %>class="error-message"<% end %>>
  8. <div class="h-full min-w-full bg-black font-sans text-sm text-white antialiased">
  9. <div class="flex min-h-screen flex-col px-4">
  10. <header class="fixed">
  11. <div class="grid h-16 grid-cols-3">
  12. <div class="flex cursor-pointer items-center justify-self-start text-base">
  13. <button class="flex cursor-pointer items-center" aria-label="Go home">
  14. <svg xmlns="http://www.w3.org/2000/svg" class="icon fill-current icon-mobile-home" width="32" height="32" aria-hidden="true" viewBox="0 0 24 24">
  15. <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 14a1.5 1.5 0 0 1 1.5-1.5h4a1.5 1.5 0 0 1 1.5 1.5v4.5h3V9.442L12 4.838 5.5 9.442V18.5h3V14Zm1.5 6H4V9.184a1 1 0 0 1 .422-.816l7-4.959a1 1 0 0 1 1.156 0l7 4.959a1 1 0 0 1 .422.816V20h-6v-6h-4v6Z"></path>
  16. </svg>
  17. </button>
  18. </div>
  19. </div>
  20. </header>
  21. <main class="flex grow flex-col items-center justify-center">
  22. <h1 class="mb-9 text-8xl font-extrabold">401</h1>
  23. <% if !@traceback %>
  24. <img alt="Error" src="/assets/error/error-mobile-403.svg">
  25. <h2 class="mt-9 max-w-prose text-center text-xl font-semibold">Unauthorized</h2>
  26. <p class="mt-4 min-h-[4rem] max-w-prose text-center text-gray">Sorry, but your authentication failed. Double check your credentials and try again.</p>
  27. <% if @message.present? %>
  28. <p class="max-w-prose text-center text-gray"><%= @message %></p>
  29. <% end %>
  30. <% else %>
  31. <pre class="traceback">
  32. <%= @exception.message %>
  33. <% if @exception.backtrace %>
  34. <code>
  35. <% @exception.backtrace.each {|row| %>
  36. <%= row %>
  37. <% } %>
  38. </code>
  39. <% end %>
  40. </pre>
  41. <% end %>
  42. </main>
  43. </div>
  44. </div>
  45. </body>
  46. </html>