Merge pull request #6006 from WoltLab/file-processor-can-adopt
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / style / ui / reactions.scss
... / ...
CommitLineData
1.reactionPopover {
2 animation: wcfPopoverOut 0.3s;
3 animation-fill-mode: forwards;
4 background-color: var(--wcfDropdownBackground);
5 border-radius: var(--wcfBorderRadius);
6 box-shadow: var(--wcfBoxShadow);
7 color: var(--wcfDropdownText);
8 overflow: hidden;
9 position: absolute;
10 top: 0;
11 vertical-align: middle;
12 visibility: hidden;
13 z-index: 60;
14
15 &.active {
16 animation: wcfPopover 0.3s;
17 animation-fill-mode: forwards;
18 }
19
20 &.forceHide {
21 animation: 0;
22 visibility: hidden;
23 }
24
25 @include screen-xs {
26 &.inverseOrder .reactionTypeButtonList {
27 flex-direction: column;
28 }
29 }
30}
31
32html[data-color-scheme="dark"] .reactionPopover {
33 border: 1px solid var(--wcfDropdownBorderInner);
34}
35
36.reactionType {
37 width: 20px;
38 height: 20px;
39}
40
41.reactionPopoverContent .reactionType {
42 width: 24px;
43 height: 24px;
44}
45
46.reactionCount {
47 @include wcfFontSmall;
48
49 vertical-align: middle;
50
51 &::before {
52 content: "\202f×\202f";
53 }
54}
55
56.reactionTypeButton.active {
57 background-color: var(--wcfDropdownBackgroundActive);
58 color: var(--wcfDropdownLinkActive);
59}
60
61.reactionPopoverContent {
62 @include screen-xs {
63 max-height: 200px;
64 overflow: auto;
65
66 &::after,
67 &::before {
68 content: "";
69 height: 40px;
70 left: 0;
71 opacity: 0;
72 pointer-events: none;
73 position: absolute;
74 right: 0;
75 transition: opacity 0.12s linear;
76 }
77
78 &::after {
79 background-image: linear-gradient(
80 to bottom,
81 rgba(var(--wcfContentBackground-rgb) / 0),
82 var(--wcfContentBackground)
83 );
84 bottom: 0;
85 }
86 &.overflowBottom::after {
87 opacity: 1;
88 }
89
90 &::before {
91 background-image: linear-gradient(
92 to top,
93 rgba(var(--wcfContentBackground-rgb) / 0),
94 var(--wcfContentBackground)
95 );
96 top: 0;
97 }
98 &.overflowTop::before {
99 opacity: 1;
100 }
101 }
102
103 @include screen-md-down {
104 padding: 5px 0;
105
106 .reactionTypeButton {
107 margin: 0;
108 display: block;
109 padding: 5px 25px;
110
111 > .reactionTypeButtonTitle {
112 vertical-align: middle;
113 padding-left: 5px;
114 }
115 }
116 }
117
118 @include screen-lg {
119 padding: 5px;
120
121 .reactionTypeButtonList {
122 display: flex;
123 column-gap: 5px;
124 }
125
126 .reactionTypeButton {
127 border-radius: var(--wcfBorderRadius);
128 cursor: pointer;
129 padding: 5px;
130
131 &:hover {
132 background-color: var(--wcfDropdownBackgroundActive);
133 color: var(--wcfDropdownLinkActive);
134 }
135 }
136
137 .reactionTypeButtonTitle {
138 display: none;
139 }
140 }
141}
142
143@include screen-lg {
144 html.touch .reactionPopoverContent .reactionTypeButton {
145 display: block;
146 margin-left: 0;
147
148 > .reactionTypeButtonTitle {
149 display: inline;
150 margin-left: 10px;
151 }
152 }
153}
154
155@include screen-sm-down {
156 .reactionStatusContainer {
157 display: none;
158 }
159}
160
161@include screen-xs {
162 .reactionTypeButtonList {
163 display: flex;
164 flex-direction: column-reverse;
165 }
166}
167
168#likeList .likeTypeSelection {
169 display: flex;
170 flex-wrap: wrap;
171 justify-content: flex-end;
172
173 .buttonGroup {
174 margin-bottom: 0;
175
176 li {
177 display: flex;
178 justify-content: stretch;
179
180 a {
181 display: flex;
182 align-items: center;
183 }
184 }
185 }
186}
187
188.topReactionFull,
189.topReactionShort {
190 > .reactionType {
191 vertical-align: bottom;
192 }
193}
194
195.topReactionTiny > .reactionType {
196 height: 16px;
197 vertical-align: top;
198 width: 16px;
199}
200
201.reactionSummary {
202 display: inline-flex;
203 flex-wrap: wrap;
204 gap: 5px 5px;
205
206 &:hover .reactionCountButton {
207 color: var(--wcfContentText);
208 }
209
210 .reactionCountButton {
211 color: var(--wcfContentDimmedText);
212 white-space: nowrap;
213 }
214
215 .selected .reactionCount {
216 font-weight: 600;
217 }
218}