{% extends "base.html" %}
{% block extra-css %}
    <style>
        .button, button, input[type="submit"], input[type="reset"], input[type="button"] { font-size: 15px;}
    </style>
{% end %}

{% block content %}
    <h1>Identity activation</h1>

    {% if not isValid %}
        <p class="center">Cannot validate your identity! Reason: <label class="error">{{errorMessage}}</label></p>
    {% elif activated %}
        <div class="one column center">
            <p>Your identity has been activated</p>
            <p>You can now close this window and go back to complete your sign in procedure</p>
        </div>
    {% else %}
        <p class="center">Please confirm your Milagro MFA activation:</p>
        <!--action box start-->
        <div class="one column center grey marBot20 marTop20">
            <p>Email address: <label> {{userid}}</label></p>
            <p>Requested on: <label id="issued">{{humanIssued}}</label></p>
            <p>From: <label>{{deviceName}}</label></p>
            <form method="POST">
                <button type="submit">Confirm and activate</button>
                <button onclick="window.location = '/'; return false;">Cancel activation</button>
            </form>
        </div>
        <!--action box end-->
    {% end %}
    <div class="clear"></div>
{% end %}
