github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/assets/templates/magic_link_twofactor.html (about)

     1  <!DOCTYPE html>
     2  <html lang="{{.Locale}}">
     3    <head>
     4      <meta charset="utf-8">
     5      <meta http-equiv="refresh" content="3600">
     6      <meta name="viewport" content="width=device-width, initial-scale=1">
     7      <meta name="theme-color" content="#fff">
     8      <title>{{.TemplateTitle}}</title>
     9      <link rel="stylesheet" href="{{asset .Domain "/fonts/fonts.css" .ContextName}}">
    10      <link rel="stylesheet" href="{{asset .Domain "/css/cozy-bs.min.css" .ContextName}}">
    11      <link rel="stylesheet" href="{{asset .Domain "/styles/theme.css" .ContextName}}">
    12      <link rel="stylesheet" href="{{asset .Domain "/styles/cirrus.css" .ContextName}}">
    13      {{.Favicon}}
    14      <link rel="preload" href="/assets/icons/check.svg" as="image">
    15    </head>
    16    <body class="cirrus theme-inverted">
    17      <form id="login-form" method="POST" action="/auth/magic_link/twofactor" class="d-contents" data-iterations="{{.Iterations}}" data-salt="{{.Salt}}">
    18        <input id="redirect" type="hidden" name="redirect" value="{{.Redirect}}" />
    19        <input id="magic_code" type="hidden" name="magic_code" value="{{.MagicCode}}" />
    20        <input id="csrf_token" type="hidden" name="csrf_token" value="{{.CSRF}}" />
    21        <input id="trusted-device-token" type="hidden" name="trusted-device-token" value="" />
    22        <main class="wrapper">
    23  
    24          <header class="wrapper-top">
    25            {{if not .BottomNavBar}}
    26            <p class="banner caption small-md fst-italic">
    27              <span class="icon icon-answer"></span>
    28              <strong>{{t "Login Password best practice"}}</strong>
    29              {{t "Login Password tip"}}
    30            </p>
    31            {{end}}
    32            <a href="https://cozy.io/" class="btn p-2 d-sm-none">
    33              <img src="{{asset .Domain "/images/logo-dark.svg"}}" alt="Cozy Cloud" class="logo" />
    34            </a>
    35          </header>
    36  
    37          <div class="d-flex flex-column align-items-center">
    38            <img src="/public/avatar" alt="" class="avatar my-3 border border-primary border-2 rounded-circle" />
    39            <h1 class="h4 h2-md mb-0 text-center">{{.Title}}</h1>
    40            <p class="mb-4 mb-md-5 text-muted">{{.Domain}}</p>
    41  
    42            <div id="login-field" class="input-group form-floating has-validation w-100">
    43              <input type="password" class="form-control form-control-md-lg" id="password" name="passphrase" autofocus autocomplete="current-password" spellcheck="false" />
    44              <label for="password">{{t "Login Password field"}}</label>
    45              <button id="password-visibility-button" class="btn btn-outline-info"
    46                type="button"
    47                name="password-visibility"
    48                data-show="{{t "Login Password show"}}"
    49                data-hide="{{t "Login Password hide"}}"
    50                title="{{t "Login Password show"}}">
    51                <span id="password-visibility-icon" class="icon icon-eye-closed"></span>
    52              </button>
    53              {{if .CredentialsError}}
    54              <div class="invalid-tooltip mb-1">
    55                <div class="tooltip-arrow"></div>
    56                <span class="icon icon-alert bg-danger"></span>
    57                {{.CredentialsError}}
    58              </div>
    59              {{end}}
    60            </div>
    61            <a href="/auth/passphrase_reset{{if .Redirect}}?redirect={{.Redirect}}{{end}}" class="align-self-start my-3">
    62              {{t "Login Forgot password"}}
    63            </a>
    64          </div>
    65  
    66          <footer class="w-100">
    67            <button id="login-submit" class="btn btn-primary btn-md-lg w-100 my-3 mt-md-5" type="submit">
    68              {{t "Login Submit"}}
    69            </button>
    70            {{if .BottomNavBar}}
    71            <p class="banner caption mt-n1 mb-0 small-md fst-italic fullbleed">
    72              <span class="icon icon-answer reverse-y align-bottom"></span>
    73              <strong>{{t "Login Password best practice"}}</strong>
    74              {{t "Login Password tip"}}
    75            </p>
    76            {{end}}
    77          </footer>
    78  
    79        </main>
    80      </form>
    81      <script src="{{asset .Domain "/scripts/cirrus.js"}}"></script>
    82      {{if .CryptoPolyfill}}<script src="{{asset .Domain "/js/asmcrypto.js"}}"></script>{{end}}
    83      <script src="{{asset .Domain "/scripts/password-helpers.js"}}"></script>
    84      <script src="{{asset .Domain "/scripts/password-visibility.js"}}"></script>
    85      <script src="{{asset .Domain "/scripts/login.js"}}"></script>
    86    </body>
    87  </html>