@import '../../_variables.scss';

.notifications {
  // a bit of a hack to allow scrolling below notifications
  padding-bottom: 15em;

  .panel {
    background: $fallback--bg;
    background: var(--bg, $fallback--bg)
  }

  .panel-body {
    border-color: $fallback--border;
    border-color: var(--border, $fallback--border)
  }

  .panel-heading {
    // force the text to stay centered, while keeping
    // the button in the right side of the panel heading
    position: relative;
    background: $fallback--btn;
    background: var(--btn, $fallback--btn);
    color: $fallback--fg;
    color: var(--fg, $fallback--fg);
    .read-button {
      position: absolute;
      right: 0.7em;
      height: 1.8em;
      line-height: 100%;
    }
  }

  .unseen-count {
    display: inline-block;
    background-color: $fallback--cRed;
    background-color: var(--cRed, $fallback--cRed);
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
    min-width: 1.3em;
    border-radius: 1.3em;
    margin: 0 0.2em 0 -0.4em;
    color: white;
    font-size: 0.9em;
    text-align: center;
    line-height: 1.3em;
  }

  .unseen {
    border-left: 4px solid $fallback--cRed;
    border-left: 4px solid var(--cRed, $fallback--cRed);
    padding-left: 0;
  }
}

.notification {
  box-sizing: border-box;
  display: flex;
  border-bottom: 1px solid;
  border-bottom-color: inherit;
  padding-left: 4px;

  .avatar-compact {
    width: 32px;
    height: 32px;
    border-radius: $fallback--avatarAltRadius;
    border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
    overflow: hidden;
    line-height: 0;

    &.animated::before {
      display: none;
    }
  }

  &:hover .animated.avatar {
    canvas {
      display: none;
    }
    img {
      visibility: visible;
    }
  }

  .notification-usercard {
    margin: 0;
  }

  .non-mention {
    display: flex;
    flex: 1;
    flex-wrap: nowrap;
    padding: 0.6em;
    min-width: 0;
    .avatar-container {
      width: 32px;
      height: 32px;
    }
    .status-el {
      .status {
        padding: 0.25em 0;
        color: $fallback--faint;
        color: var(--faint, $fallback--faint);
      }
      padding: 0;
      .media-body {
        margin: 0;
      }
    }
  }

  .follow-text {
    padding: 0.5em 0;
  }

  .status-el {
    flex: 1;
  }

  time {
    white-space: nowrap;
  }

  .notification-right {
    flex: 1;
    padding-left: 0.8em;
    min-width: 0;
  }

  .notification-details {
    min-width: 0px;
    word-wrap: break-word;
    line-height:18px;
    position: relative;
    overflow: hidden;
    width: 100%;
    flex: 1 1 0;
    display: flex;
    flex-wrap: nowrap;

    .name-and-action {
      flex: 1;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .username {
      font-weight: bolder;
      max-width: 100%;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .timeago {
      float: right;
      font-size: 12px;
    }

    .icon-retweet.lit {
      color: $fallback--cGreen;
      color: var(--cGreen, $fallback--cGreen);
    }

    .icon-user-plus.lit {
      color: $fallback--cBlue;
      color: var(--cBlue, $fallback--cBlue);
    }

    .icon-reply.lit {
      color: $fallback--cBlue;
      color: var(--cBlue, $fallback--cBlue);
    }

    .icon-star.lit {
      color: orange;
      color: $fallback--cOrange;
      color: var(--cOrange, $fallback--cOrange);
    }

    .status-content {
      margin: 0;
      max-height: 300px;
    }

    h1 {
      word-break: break-all;
      margin: 0 0 0.3em;
      padding: 0;
      font-size: 1em;
      line-height:20px;
      small {
        font-weight: lighter;
      }
    }

    p {
      margin: 0;
      margin-top: 0;
      margin-bottom: 0.3em;
    }
  }

  // ugly as heck
  &:last-child {
    border-bottom: none;
    border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
    border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);
    .status-el {
      border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
      border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);
    }
  }
}
