Create print view for recovery codes
This commit is contained in:
parent
f12d56ff7d
commit
d7cac67c22
|
@ -1,6 +1,6 @@
|
||||||
%totp-input {
|
%totp-input {
|
||||||
font-family: "Monaco", "Inconsolata", "Cascadia Code", "Consolas", monospace;
|
font-family: "Monaco", "Inconsolata", "Cascadia Code", "Consolas", monospace;
|
||||||
width: 86px;
|
width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.totp-setup {
|
.totp-setup {
|
||||||
|
@ -43,6 +43,32 @@
|
||||||
&__code-field {
|
&__code-field {
|
||||||
@extend %totp-input;
|
@extend %totp-input;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__recovery {
|
||||||
|
&-container {
|
||||||
|
max-width: 455px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-icon {
|
||||||
|
font-size: .75in;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-codes {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style-type: none;
|
||||||
|
font-size: 16px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#user_otp_attempt {
|
#user_otp_attempt {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
%h1.mb-3.mt-0= t('views.auth.2fa.title')
|
%h1.mb-3.mt-0= t('views.auth.2fa.title')
|
||||||
= bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post) do |f|
|
= bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post) do |f|
|
||||||
|
|
||||||
= f.text_field :otp_attempt, autofocus: true, label: t('views.auth.2fa.otp_field')
|
= f.text_field :otp_attempt, autofocus: true, label: 'Please enter the code from your authenticator app'
|
||||||
|
|
||||||
= f.submit t('views.sessions.create'), class: 'btn btn-primary mt-3 mb-3'
|
= f.submit t('views.sessions.create'), class: 'btn btn-primary mt-3 mb-3'
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,23 @@
|
||||||
%p= t('views.auth.2fa.setup.success')
|
.container.container--main
|
||||||
|
.row.justify-content-center
|
||||||
|
.col-md-5.totp-setup__recovery-container
|
||||||
|
.card
|
||||||
|
.card-body
|
||||||
|
.d-none.d-print-block.totp-setup__recovery-icon
|
||||||
|
%i.fa.fa-comments
|
||||||
|
%h1.totp-setup__recovery-title Your Retrospring recovery codes
|
||||||
|
|
||||||
%ul
|
%ul.totp-setup__recovery-codes
|
||||||
- @recovery_keys.each do |key|
|
- @recovery_keys.each do |key|
|
||||||
%li
|
%li
|
||||||
%code= key.code
|
%code= key.code
|
||||||
|
.d-none.d-print-block= "These codes were generated #{Time.now.strftime("%F at %T %Z")}"
|
||||||
|
.card-footer.d-print-none
|
||||||
|
We recommend storing these in a password manager or printing them out on paper.
|
||||||
|
%br
|
||||||
|
%a.btn{onclick: 'print()'}
|
||||||
|
%i.fa.fa-print
|
||||||
|
Print
|
||||||
|
.d-none.d-print-block.text-success
|
||||||
|
%i.fa.fa-tree
|
||||||
|
Please consider the environment before printing this page.
|
|
@ -1,4 +1,4 @@
|
||||||
.container
|
.container.d-print-none
|
||||||
.locales
|
.locales
|
||||||
%span
|
%span
|
||||||
%a{ href: '#', id: 'locale-switch' }
|
%a{ href: '#', id: 'locale-switch' }
|
||||||
|
|
Loading…
Reference in New Issue