summaryrefslogtreecommitdiff
path: root/playbooks/roles/traefik/templates/volumes/oauth2proxy/templates/sign_in.html
blob: 60b9b92e2fdf61833d039a5c4dae88caebcc2043 (plain)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{{ '{{' }}define "sign_in.html"{{ '}}' }}
<!DOCTYPE html>
<html lang="en" charset="utf-8">
<head>
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><text x='0' y='14' font-size='16'>☕</text></svg>">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <title>Sign In</title>
  <style>
    * {
      font-family: 'monospace';
    }
    :root {
      --bg: #282828;
      --bg-alt: #1d2021;
      --fg: #ebdbb2;
      --green: #b8bb26;
      --yellow: #fabd2f;
    }
    html, body {
      margin: 0; padding: 0;
      height: 100%;
      background-color: var(--bg);
      color: var(--fg);
      font-family: monospace;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .container {
      background-color: var(--bg-alt);
      border: 2px solid var(--green);
      padding: 3.5rem;
      border-radius: 6px;
      max-width: 1000px;
      width: 90%;
      box-shadow: 0 0 8px rgba(0,0,0,0.5);
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .button {
      width: 100%;
      padding: 0.75rem;
      background-color: var(--green);
      color: var(--bg);
      border: none;
      text-transform: uppercase;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.2s;
      margin-top: 1rem;
    }
    .button:hover {
      background-color: var(--yellow);
    }
    .logo {
      font-family: monospace;
      font-size: 1rem;
      line-height: 1;
      white-space: pre;
      overflow-x: auto;
      overflow-y: hidden;
    }
    .logo-line {
      display: flex;
    }
    .logo-char {
      display: inline-block;
      min-width: 1ch;
      width: 1ch;
      max-width: 1ch;
      text-align: center;
      overflow: hidden;
      white-space: nowrap;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="logo">
{%- for line in logo.split('\n') %}
<div class="logo-line">
{%- for char in line -%}
<span class="logo-char">{{ char }}</span>
{%- endfor -%}
</div>
{%- endfor %}
    </div>
    <form method="GET" action="{{ '{{' }} .ProxyPrefix {{ '}}' }}/start" style="width: 100%; display: flex; flex-direction: column;">
      <input type="hidden" name="rd" value="{{ '{{' }} .Redirect {{ '}}' }}">
      {{ '{{' }} if .SignInMessage {{ '}}' }}
      <p>{{ '{{' }} .SignInMessage {{ '}}' }}</p>
      {{ '{{' }} end {{ '}}' }}
      <button type="submit" class="button">Sign in with {{ '{{' }} .ProviderName {{ '}}' }}</button>
    </form>
  </div>
</body>
</html>
{{ '{{' }}end{{ '}}' }}