// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only @mixin preferences-icon($url) { &::before { @include light-theme { @include color-svg($url, $color-gray-75); } @include dark-theme { @include color-svg($url, $color-gray-15); } } } .Preferences { display: flex; overflow: hidden; user-select: none; @include light-theme { background: $color-white; } @include dark-theme { background: $color-gray-95; } &__page-selector { padding-top: calc(24px + var(--title-bar-drag-area-height)); min-width: 240px; @include light-theme { background: $color-gray-02; } @include dark-theme { background: $color-gray-80; } } &__padding { padding-block: 0; padding-inline: 24px; } &__button { @include button-reset; @include font-body-1; align-items: center; display: flex; height: 48px; width: 100%; padding-block: 14px; padding-inline: 0; &--selected { @include light-theme { background: $color-gray-15; } @include dark-theme { background: $color-gray-65; } } &:focus { @include keyboard-mode { background: $color-gray-05; } @include dark-keyboard-mode { background: $color-gray-75; } } &::before { content: ''; display: block; height: 22px; margin-inline: 18px 14px; width: 22px; } &--general { @include preferences-icon('../images/icons/v3/settings/settings.svg'); } &--appearance { @include preferences-icon('../images/icons/v3/appearance/appearance.svg'); } &--chats { @include preferences-icon('../images/icons/v3/chat/chat.svg'); } &--calls { @include preferences-icon('../images/icons/v3/phone/phone.svg'); } &--notifications { @include preferences-icon('../images/icons/v3/bell/bell.svg'); } &--privacy { @include preferences-icon('../images/icons/v3/lock/lock.svg'); } } &__settings-pane { height: var(--window-height); overflow: overlay; width: 100%; &::-webkit-scrollbar-corner { background: transparent; } } &__title { @include font-body-1-bold; align-items: center; display: flex; height: 48px; margin-top: var(--title-bar-drag-area-height); margin-bottom: 24px; text-align: center; border-bottom: 1px solid $color-gray-15; @include light-theme { border-color: $color-gray-15; } @include dark-theme { border-color: $color-gray-65; } &--header { flex-grow: 1; text-align: center; } } &__settings-row { border: none; padding: 0; padding-bottom: 20px; h3 { @include font-body-1-bold; margin: 0; margin-bottom: 8px; } &--pnp-sharing { min-height: 185px; } } &__settings-row:not(:last-child) { border-bottom: 1px solid $color-gray-15; @include light-theme { border-color: $color-gray-15; } @include dark-theme { border-color: $color-gray-65; } margin-bottom: 24px; } &__link { @include button-reset; padding-block: 0px 28px; padding-inline: 0; width: 100%; h3 { @include font-body-1; font-weight: 400; margin: 0; margin-bottom: 8px; } } &__link:not(:last-child) { border-bottom: 1px solid $color-gray-15; @include light-theme { border-color: $color-gray-15; } @include dark-theme { border-color: $color-gray-65; } margin-bottom: 24px; } &__control { align-items: center; display: flex; justify-content: space-between; min-height: 48px; padding-block: 4px; padding-inline: 24px; &--key { flex-grow: 1; padding-inline-end: 20px; } &--value { color: $color-gray-45; } &--clickable { @include button-reset; padding-block: 4px; padding-inline: 24px; width: 100%; &:hover { @include light-theme { background: $color-gray-02; } @include dark-theme { background: $color-gray-80; } } } } &__checkbox { padding-block: 10px; padding-inline: 24px; } &__description { @include font-subtitle; @include light-theme { color: $color-gray-60; } @include dark-theme { color: $color-gray-25; } &--error { color: $color-accent-red !important; } } &__select { width: 100%; } &__select-title { display: block; margin-bottom: 8px; } &__right-button { display: flex; justify-content: flex-end; min-width: 120px; } &__back-icon { @include button-reset; display: inline-block; height: 20px; margin-inline-start: 12px; min-width: 20px; vertical-align: text-bottom; width: 20px; @include light-theme { @include color-svg( '../images/icons/v3/chevron/chevron-left.svg', $color-gray-90 ); } @include dark-theme { @include color-svg( '../images/icons/v3/chevron/chevron-left.svg', $color-gray-02 ); } } &__stories-off { min-width: 140px; } &__settings-radio__label { display: flex; flex-direction: row; gap: 16px; height: 40px; align-items: center; &:last-child { margin-bottom: 8px; } } }