Try to fix subscriptions inconsistencies
[oweals/peertube.git] / client / src / app / shared / video / video-miniature.component.scss
1 @import '_variables';
2 @import '_mixins';
3 @import '_miniature';
4
5 $more-button-width: 41px;
6 $more-margin-right: 15px;
7
8 .video-miniature {
9   width: $video-miniature-width;
10   display: inline-flex;
11   flex-direction: column;
12   margin-bottom: $video-miniature-margin-bottom;
13   height: 195px;
14   vertical-align: top;
15
16   .video-bottom {
17     display: flex;
18
19     .video-miniature-information {
20       width: $video-miniature-width - $more-button-width - $more-margin-right;
21       line-height: normal;
22
23       .video-miniature-name {
24         @include miniature-name;
25       }
26
27       .video-miniature-created-at-views {
28         display: block;
29         font-size: 13px;
30       }
31
32       .video-miniature-account,
33       .video-miniature-channel {
34         @include disable-default-a-behaviour;
35         @include ellipsis;
36
37         display: block;
38         font-size: 13px;
39         color: $grey-foreground-color;
40
41         &:hover {
42           color: $grey-foreground-hover-color;
43         }
44       }
45
46       .video-info-privacy,
47       .video-info-blacklisted .blacklisted-label,
48       .video-info-nsfw {
49         font-weight: $font-semibold;
50       }
51
52       .video-info-blacklisted {
53         color: red;
54
55         .blacklisted-reason::before {
56           content: ' - ';
57         }
58       }
59
60       .video-info-nsfw {
61         color: red;
62       }
63     }
64
65     .video-actions {
66       margin-top: 3px;
67       width: $more-button-width;
68       height: 30px;
69
70       ::ng-deep .dropdown-root:not(.show) {
71         opacity: 0;
72       }
73
74       ::ng-deep .playlist-dropdown.show + my-action-dropdown .dropdown-root {
75         opacity: 1;
76       }
77
78       ::ng-deep .more-icon {
79         opacity: .6;
80
81         &:hover {
82           opacity: 1;
83         }
84       }
85     }
86
87     @media screen and (max-width: $small-view) {
88       .video-miniature-information .video-miniature-name {
89         margin-top: 0;
90       }
91
92       .video-actions {
93         margin: 0;
94         top: -3px;
95
96         ::ng-deep .dropdown-root {
97           opacity: 1 !important;
98         }
99       }
100     }
101   }
102
103   &:hover ::ng-deep .video-thumbnail .video-thumbnail-actions-overlay,
104   &:hover .video-bottom .video-actions ::ng-deep .dropdown-root {
105     opacity: 1;
106   }
107
108   &.display-as-row {
109     flex-direction: row;
110     margin-bottom: 0;
111     height: auto;
112     display: flex;
113     flex-grow: 1;
114
115     my-video-thumbnail {
116       margin-right: 10px;
117     }
118
119     .video-bottom {
120       .video-miniature-information {
121         @media screen and (min-width: $small-view) {
122           width: auto;
123           min-width: 500px;
124         }
125
126         .video-miniature-name {
127           @include ellipsis-multiline(1.3em, 2);
128
129           margin-top: 2px;
130           margin-bottom: 5px;
131         }
132
133         .video-miniature-created-at-views,
134         .video-miniature-account,
135         .video-miniature-channel {
136           font-size: 14px;
137           width: fit-content;
138         }
139
140         .video-info-privacy {
141           margin-top: 5px;
142         }
143
144         .video-info-blacklisted {
145           margin-top: 3px;
146         }
147       }
148
149       .video-actions {
150         margin: 0;
151         top: -3px;
152       }
153     }
154
155     @media screen and (max-width: $small-view) {
156       flex-direction: column;
157       height: auto;
158
159       my-video-thumbnail {
160         margin-right: 0;
161       }
162
163       .video-miniature-information {
164         min-width: initial;
165       }
166     }
167   }
168 }