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; }