aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.scss
blob: c476b3ac19a4a646d681f05381a686d6ef8755fa (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                       
 


                        
                    

                                                                         
 







                            

                              
                                                                                      

 
        

                                  
                                                


                                                   



                  



                                          
                 


     





                                                         






                                          
                                       
                  
                 

                        

               

                                  
                                  
                                         
                      

                      
                                                              






                           


                             
                             


                   
                    

       

                             
                                           



       
                    

                      


                                

   

                  

                               
                           
                    
                    



               

            
                 


                
                                                            



                    
                  

       

   
 
                
 

                                     
 

                    
 
                      

                                
                   
                        
 






                          
                                 






                               


     






















                              
                     

























































                                                              
@use '_variables' as *;
@use '_mixins' as *;
@use '_miniature' as *;

$thumbnail-width: 130px;
$thumbnail-height: 72px;

my-video-thumbnail {
  @include thumbnail-size-component($thumbnail-width, $thumbnail-height);
}

.fake-thumbnail {
  width: $thumbnail-width;
  height: $thumbnail-height;
  background-color: #ececec;
}

my-video-thumbnail,
.fake-thumbnail {
  @include margin-right(10px);

  display: flex; // Avoids an issue with line-height that adds space below the element
}

.video {
  display: grid;
  grid-template-columns: 1fr auto;
  background-color: pvar(--mainBackgroundColor);
  padding: 10px;
  border-bottom: 1px solid $separator-border-color;

  .more {
    display: flex;
  }

  &:hover {
    background-color: rgba(0, 0, 0, 0.05);

    .more {
      opacity: 1;
    }
  }

  @media not all and (hover: hover) and (pointer: fine) {
    .more {
      opacity: 1 !important;
    }
  }

  &.playing {
    background-color: rgba(0, 0, 0, 0.02);
  }

  a {
    @include disable-default-a-behaviour;

    color: pvar(--mainForegroundColor);
    display: flex;
    min-width: 0;
    align-items: center;
    cursor: pointer;

    .position {
      @include margin-right(10px);

      font-weight: $font-semibold;
      color: pvar(--greyForegroundColor);
      min-width: 25px;

      my-global-icon {
        @include apply-svg-color(pvar(--greyForegroundColor));

        width: 17px;
        position: relative;
        left: -2px;
      }
    }

    .video-info {
      display: flex;
      flex-direction: column;
      align-self: flex-start;
      min-width: 0;

      a {
        width: auto;
      }

      .video-info-account,
      .video-info-timestamp {
        color: pvar(--greyForegroundColor);
      }
    }
  }

  .video-info-name {
    @include ellipsis;

    font-size: 18px;
    font-weight: $font-semibold;
    display: inline-block;
  }

  .more,
  my-edit-button {
    @include margin-left(auto);

    justify-self: flex-end;
    cursor: pointer;
    min-width: 24px;
  }

  .more {
    opacity: 0;

    &.show {
      opacity: 1;
    }

    .icon-more {
      @include apply-svg-color(pvar(--greyForegroundColor));

      display: flex;

      &::after {
        border: 0;
      }
    }
  }
}

.dropdown-menu {

  .dropdown-item {
    @include dropdown-with-icon-item;

    cursor: pointer;
  }

  .timestamp-options {
    @include padding-left(35px);

    padding-top: 0;
    margin-bottom: 15px;

    > div {
      display: flex;
      align-items: center;
      margin-bottom: 5px;
    }

    my-peertube-checkbox {
      @include margin-right(5px);
    }

    input {
      @include peertube-button;
      @include orange-button;

      margin-top: 10px;
    }
  }
}

@mixin more-dropdown-control {
  .video {
    my-edit-button {
      display: none;

      + .more {
        display: inline-flex;
      }
    }
  }
}

@mixin edit-button-control {
  .video {
    my-edit-button {
      display: none;
    }

    &.playing {
      my-edit-button {
        display: inline-flex;
        height: max-content;
        margin: auto;
      }
    }

    my-edit-button + .more {
      display: none;
    }
  }
}

@mixin edit-button-in-mobile-view {
  .video {
    my-edit-button {
      ::ng-deep .action-button-edit {
        padding: 0 13px;

        .button-label {
          display: none;
        }
      }
    }
  }
}

@media screen and (min-width: $small-view) {
  :host-context(.expanded) {
    @include more-dropdown-control();
  }
}

@media screen and (max-width: $small-view) {
  :host-context(.expanded) {
    @include edit-button-control();
  }
}

@media screen and (max-width: $mobile-view) {
  :host-context(.expanded) {
    @include edit-button-in-mobile-view();
  }
}

@media screen and (min-width: #{$small-view + $menu-width}) {
  :host-context(.main-col:not(.expanded)) {
    @include more-dropdown-control();
  }
}

@media screen and (max-width: #{$small-view + $menu-width}) {
  :host-context(.main-col:not(.expanded)) {
    @include edit-button-control();
  }
}

@media screen and (max-width: #{$mobile-view + $menu-width}) {
  :host-context(.main-col:not(.expanded)) {
    @include edit-button-in-mobile-view();
  }
}