/*
 * Copyright 2019 dialog LLC <info@dlg.im>
 */

@import '../../styles/variables.css';

:root {
  --sidebar-peer-item-default-top-padding: 9px;
  --sidebar-peer-item-default-right-padding: 14px;
  --sidebar-peer-item-default-bottom-padding: 9px;
  --sidebar-peer-item-default-left-padding: 14px;
  --sidebar-peer-item-default-height: 46px;
  --sidebar-peer-item-default-color: color-mod(#000 alpha(50%));
  --sidebar-peer-item-hover-background-color: #e6e6e6;
  --sidebar-peer-item-hover-color: #000;
  --sidebar-peer-item-background-color: var(--violet-blue);
  --sidebar-peer-item-active-background-image: var(--default-gradient);
  --sidebar-peer-item-active-color: #fff;
  --sidebar-peer-item-active-hover-background-color: var(
    --sidebar-peer-item-background-color
  );
  --sidebar-peer-item-active-hover-background-image: var(
    --sidebar-peer-item-active-background-image
  );
  --sidebar-peer-item-active-hover-color: var(--sidebar-peer-item-active-color);
  --sidebar-peer-item-counter-background: var(--color-primary);
  --sidebar-peer-item-counter-color: #fff;
  --sidebar-peer-item-counter-size: 24px;
  --sidebar-peer-item-counter-font-size: 13px;
  --sidebar-peer-item-unread-color: var(--sidebar-peer-item-hover-color);
  --sidebar-peer-item-font-size: var(--default-recent-item-font-size);
}

/* Styles */
.container {
  all: initial;
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  height: var(--sidebar-peer-item-default-height);
  padding-top: var(--sidebar-peer-item-default-top-padding);
  padding-right: var(--sidebar-peer-item-default-right-padding);
  padding-bottom: var(--sidebar-peer-item-default-bottom-padding);
  padding-left: var(--sidebar-peer-item-default-left-padding);
  cursor: pointer;
  user-select: none;
  font-family: var(--default-font-family);
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: center;
  color: var(--sidebar-peer-item-default-color);

  &:hover {
    background-color: var(--sidebar-peer-item-hover-background-color);
    color: var(--sidebar-peer-item-hover-color);
  }

  &:active {
    background-color: color-mod(
      var(--sidebar-peer-item-hover-background-color) shade(2%)
    );
  }

  & .avatar {
    margin-right: 16px;
    flex: 0 0 auto;
    align-self: auto;
  }
}

.text {
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
  align-self: auto;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: flex-start;
  height: 20px;
  @mixin flex-fix;
}

.title {
  display: block;
  width: 100%;
  vertical-align: middle;
  letter-spacing: -0.27px;
  font-size: var(--sidebar-peer-item-font-size);
  font-weight: 500;
  line-height: 20px;
  @mixin text-overflow-ellipsis;
}

.counter {
  display: flex;
  min-width: var(--sidebar-peer-item-counter-size);
  height: var(--sidebar-peer-item-counter-size);
  line-height: var(--sidebar-peer-item-counter-size);
  margin-left: 6px;
  border-radius: 50%;
  background-color: var(--sidebar-peer-item-counter-background);
  font-family: var(--default-font-family);
  font-size: var(--sidebar-peer-item-counter-font-size);
  font-weight: 400;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: var(--sidebar-peer-item-counter-color);
}

.unread {
  & .title {
    color: var(--sidebar-peer-item-unread-color);
  }
}

/* State */
.active {
  background-color: var(--sidebar-peer-item-background-color);
  background-image: var(--sidebar-peer-item-active-background-image);

  &:hover {
    color: var(--sidebar-peer-item-active-hover-color);
    background-color: var(--sidebar-peer-item-active-hover-background-color);
    background-image: var(--sidebar-peer-item-active-hover-background-image);
  }

  & .title {
    color: var(--sidebar-peer-item-active-color);
  }
}
