// Copyright 2016-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

.AudioCapture {
  display: flex;
  text-align: center;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: none;

  &__microphone {
    height: 32px;
    width: 32px;
    border-radius: 4px;
    text-align: center;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: none;

    @include keyboard-mode {
      &:focus {
        outline: 2px solid $color-ultramarine;
      }
    }

    outline: none;

    &:before {
      content: '';
      display: inline-block;
      height: 24px;
      width: 24px;

      @include light-theme {
        @include color-svg(
          '../images/icons/v2/mic-outline-24.svg',
          $color-gray-75
        );
      }
      @include dark-theme {
        @include color-svg(
          '../images/icons/v2/mic-outline-24.svg',
          $color-gray-15
        );
      }
    }
  }

  &__recorder-button {
    flex-grow: 0;
    flex-shrink: 0;

    width: 32px;
    height: 32px;
    border-radius: 32px;
    opacity: 0.3;
    text-align: center;
    padding: 0;

    &:focus,
    &:hover {
      opacity: 1;
    }

    outline: none;

    .icon {
      display: inline-block;
      width: 24px;
      height: 24px;
      margin-bottom: -3px;
    }

    &--complete {
      background: lighten($color-accent-green, 20%);
      border: 1px solid $color-accent-green;

      .icon {
        @include color-svg(
          '../images/icons/v2/check-24.svg',
          $color-accent-green
        );
      }
    }

    &--cancel {
      background: lighten($color-accent-red, 20%);
      border: 1px solid $color-accent-red;

      .icon {
        @include color-svg('../images/icons/v2/x-24.svg', $color-accent-red);
      }
    }
  }

  &__time {
    color: $color-gray-60;
    font-variant: tabular-nums;
    line-height: 36px;
    margin: 0 15px;

    @keyframes pulse {
      0% {
        opacity: 0;
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
      }
    }

    &::before {
      content: '';
      display: inline-block;
      border-radius: 10px;
      width: 10px;
      height: 10px;
      background: $color-accent-red;
      margin-right: 10px;
      opacity: 0;
      animation: pulse 2s infinite;
    }
  }
}