frontend/src/components/phones/onboarding/RealPhoneSetup.module.scss (247 lines of code) (raw):
@use "~@mozilla-protocol/core/protocol/css/includes/lib" as *;
@use "~@mozilla-protocol/core/protocol/css/includes/forms/lib" as mp_forms;
@use "../../../styles/color";
@use "../../../styles/text";
.step {
flex: 1 0 auto;
display: flex;
flex-direction: column;
justify-content: center;
gap: $spacing-2xl;
max-width: $content-md;
margin: 0 auto;
padding: $spacing-lg;
.button {
// TODO: This is not working
&.is-secondary {
font-weight: 400;
}
}
h2 {
@include text.title-xs {
font-family: $font-stack-firefox;
text-align: center;
}
}
.lead {
@include text-title-3xs;
font-family: $font-stack-firefox;
text-align: center;
display: flex;
flex-direction: column;
gap: $spacing-lg;
p {
@include text-body-md;
}
img {
margin: 0 auto;
}
}
.description {
@include text-body-md;
display: flex;
flex-direction: column;
align-items: center;
gap: $spacing-2xl;
padding: $spacing-md;
margin-top: $spacing-lg;
@media screen and #{$mq-md} {
flex-direction: row;
}
ul {
display: flex;
flex-direction: column;
gap: $spacing-md;
margin: 0;
padding: 0;
}
}
.action {
flex-grow: 2;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-items: center;
text-align: center;
gap: $spacing-md;
background-color: color.$white;
padding: $spacing-lg $spacing-2xl;
border-radius: $border-radius-md;
box-shadow: $box-shadow-sm;
h3 {
@include text-body-md;
font-family: $font-stack-firefox;
text-align: center;
font-weight: 400;
}
span {
@include text.title-2xs {
padding-top: $spacing-sm;
display: block;
font-weight: 700;
}
}
}
}
// Step 2: Verify Phone Number
.step-verify-input .error {
max-width: $content-sm;
background-color: color.$white;
border-radius: $border-radius-md;
box-shadow: $box-shadow-sm;
padding: $spacing-md;
text-align: center;
margin: 0 auto;
}
.step-verify-sub-body {
background-color: color.$white;
border-radius: $border-radius-md;
padding: $spacing-lg;
}
.step-verify-input .is-hidden {
display: none;
}
.form {
max-width: $content-sm;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: $spacing-lg;
}
// Step 3: Enter verification code
.step-input-verificiation-code {
.lead {
.step-input-verificiation-code-lead-error,
.step-input-verificiation-code-lead-success {
display: none;
}
h2 {
padding-top: $spacing-md;
}
&.is-error,
&.is-success {
.step-input-verificiation-code-lead-default {
display: none;
}
}
&.is-error {
.step-input-verificiation-code-lead-error {
display: block;
}
h2 {
color: color.$error;
}
}
&.is-success {
.step-input-verificiation-code-lead-success {
display: block;
}
h2 {
color: color.$success;
}
}
}
form {
background-color: color.$white;
box-shadow: $box-shadow-sm;
padding: $spacing-lg;
border-radius: $border-radius-md;
max-width: $screen-sm;
position: relative;
&.is-hidden {
display: none;
}
@media screen and #{$mq-md} {
padding: $spacing-lg $spacing-2xl;
}
p {
text-align: center;
strong {
display: inline-block;
}
}
.phone-number {
word-break: keep-all;
display: inline-block;
}
input {
@include text-body-xl;
border-radius: $border-radius-md;
display: block;
padding: $spacing-sm;
box-shadow: none;
border: 0;
background-color: color.$grey-10;
letter-spacing: 1rem;
text-align: center;
width: 100%;
&.is-error {
border: 2px solid color.$error;
outline: 4px solid color.$error-focus;
}
@media screen and #{$mq-md} {
padding: $spacing-md;
letter-spacing: 2rem;
}
}
}
}
.step-input-verificiation-code-timeout {
background-color: color.$white;
box-shadow: $box-shadow-sm;
border-radius: $border-radius-md;
padding: $spacing-lg $spacing-2xl;
max-width: $screen-sm;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: $spacing-lg;
&.is-hidden {
display: none;
}
p {
text-align: center;
}
}
.step-input-verificiation-code-success {
background-color: color.$white;
box-shadow: $box-shadow-sm;
border-radius: $border-radius-md;
padding: $spacing-lg $spacing-2xl;
max-width: $screen-sm;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: $spacing-lg;
justify-content: center;
&.is-hidden {
display: none;
}
h3 {
@include text-body-md;
}
p,
h3 {
text-align: center;
}
}
.input-container {
display: flex;
align-items: center;
position: relative;
@include text-body-sm;
}
.phone-input {
width: $content-xs;
height: $layout-sm;
padding: $spacing-md $spacing-sm $spacing-md $spacing-2xl;
&.is-error {
border: 2px solid color.$red-60;
box-shadow: 0 0 4px 4px color.$red-30;
}
}
// static country code in the real phone number input "+1"
.phone-input-country-code {
background-color: color.$grey-10;
border-radius: $border-radius-sm;
position: absolute;
padding: 0 $spacing-sm;
margin-left: $spacing-sm;
}