]> git.immae.eu Git - github/bastienwirtz/homer.git/blame - app.scss
Fix error when no message at all.
[github/bastienwirtz/homer.git] / app.scss
CommitLineData
09763dbf
BW
1$primary-color: #3367d6;
2$secondary-color: #4285f4;
3
5323df4a
BW
4
5// /!\ Keep background colors sync with `theme-color` meta info
6$theme-light: (
7 background: #f5f5f5,
8 card-background: #ffffff,
9 text: #363636,
10 text-title: #303030,
11 text-subtitle: #424242,
ab3366ba 12 card-shadow: rgba(0, 0, 0, 0.1),
13 a-hover: #363636
5323df4a
BW
14);
15$theme-dark: (
16 background: #131313,
17 card-background: #2b2b2b,
18 text: #eaeaea,
19 text-title: #fafafa,
20 text-subtitle: #f5f5f5,
ab3366ba 21 card-shadow: rgba(0, 0, 0, 0.4),
22 a-hover: #ffdd57
5323df4a
BW
23);
24
ab76270c
BW
25/* raleway-regular - latin */
26@font-face {
27 font-family: 'Raleway';
28 font-style: normal;
29 font-weight: 400;
30 font-display: swap;
31 src: local('Raleway'), local('Raleway-Regular'),
32 url('./webfonts/raleway/raleway-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
33 url('./webfonts/raleway/raleway-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
34}
35
36/* lato-regular - latin */
37@font-face {
38 font-family: 'Lato';
39 font-style: normal;
40 font-weight: 400;
41 font-display: swap;
42 src: local('Lato Regular'), local('Lato-Regular'),
43 url('./webfonts/lato/lato-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
44 url('./webfonts/lato/lato-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
45}
5323df4a
BW
46
47@mixin theme($theme) {
48 background-color: map-get($theme, "background");
49 color: map-get($theme, "text");
ab3366ba 50 a {
51 &:hover {
52 color: map-get($theme, "a-hover");
53 }
54 }
55
5323df4a
BW
56 .title {
57 color: map-get($theme, "text-title");
58 }
59 .subtitle {
60 color: map-get($theme, "text-subtitle");
61 }
62
63 .card {
64 background-color: map-get($theme, "card-background");
65 box-shadow: 0 2px 15px 0 map-get($theme, "card-shadow");
66 &:hover {
67 background-color: map-get($theme, "card-background");
68 }
69 }
70
71 .footer {
72 background-color: map-get($theme, "card-background");
73 box-shadow: 0 2px 15px 0 map-get($theme, "card-shadow");
74 }
75}
76
77html {
78 height: 100%;
79}
e41196e7 80
09763dbf
BW
81body {
82 font-family: 'Raleway', sans-serif;
5323df4a
BW
83 height: 100%;
84
85 #app {
86 min-height: 100%;
87 transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 300ms;
88
89 // Default theme
90 @include theme($theme-light);
91
92 // System pref theme
93 @media (prefers-color-scheme: light), (prefers-color-scheme: no-preference) {
94 @include theme($theme-light);
95 }
96 @media (prefers-color-scheme: dark) {
97 @include theme($theme-dark);
98 }
99
100 // User override theme
101 &.is-light {
102 @include theme($theme-light);
103 }
104 &.is-dark {
105 @include theme($theme-dark);
106 }
107 }
09763dbf
BW
108
109 h1, h2, h3, h4, h5, h6 {
110 font-family: 'Lato', sans-serif;
111 }
112
113 h1 {
114 font-size: 2rem;
115 }
116
117 h2 {
118 font-size: 1.7rem;
4877ec98 119 margin-top: 2rem;
09763dbf
BW
120 margin-bottom: 1rem;
121
e41196e7 122 .fas, .fab, .far {
09763dbf 123 margin-right: 10px;
09763dbf
BW
124 }
125
126 span {
127 font-weight: bold;
128 color: $secondary-color;
129 }
130 }
131
132 [v-cloak] {
133 display: none
134 }
135
136 #bighead {
137 color: #ffffff;
138
139 .dashboard-title {
140 padding: 6px 0 0 80px;
141 }
142
143 .first-line {
144 height: 100px;
145 vertical-align: center;
146 background-color: $primary-color;
147
148 h1 {
149 margin-top: -12px;
150 font-size: 2rem;
151 }
152
153 .headline {
154 margin-top: 5px;
155 font-size: 0.9rem;
156 }
157
158 .container {
159 height: 80px;
160 padding: 10px 0;
161 }
162
e41196e7 163 .logo {
09763dbf 164 float: left;
e41196e7
BW
165 i {
166 vertical-align: top;
167 padding: 8px 15px;
168 font-size: 50px
169 }
170
171 img {
172 padding: 10px;
173 max-height: 70px;
174 max-width: 70px;
175 }
09763dbf
BW
176 }
177 }
178 .navbar {
179 background-color: $secondary-color;
180
181 a {
e41196e7 182 color: #ffffff;
56c69e0d 183 &:hover, &:focus {
ab3366ba 184 color: #ffffff;
09763dbf
BW
185 background-color: lighten( $secondary-color, 5% );
186 }
187 }
188 }
189 }
190
191 #main-section {
5323df4a 192 margin-bottom: 2rem;
09763dbf
BW
193 padding: 0;
194
195 h2 {
196 border-bottom: 1px dashed #ccc;
197 padding-bottom: 10px;
198 }
199
200 .title {
201 font-size: 1.1em;
202 }
203
204 .subtitle {
205 font-size: .9em;
e41196e7
BW
206 white-space: nowrap;
207 overflow: hidden;
208 text-overflow: ellipsis;
09763dbf
BW
209 }
210
9baec9ae 211 .container {
09763dbf
BW
212 padding: 1.2rem .75rem;
213 }
214
215 .message {
216 margin-top: 45px;
217 box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
218
219 .message-header {
220 font-weight: bold;
221 }
222
223 .message-body {
224 border: none;
225 }
226 }
227 }
228
229 .media-content {
230 overflow: inherit;
231 }
232
233 .tag {
234 color: $secondary-color;
235 background-color: $secondary-color;
236 position: absolute;
237 top: 1rem;
9baec9ae 238 right: -0.2rem;
09763dbf
BW
239 width: 3px;
240 overflow: hidden;
241 transition: all 0.2s ease-out;
242 padding: 0;
a2fdb8a9 243
244 .tag-text {
245 display: none;
246 }
09763dbf
BW
247 }
248
249 .card {
250 border-radius: 5px;
251 border: none;
252 box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
4877ec98
BW
253 transition: cubic-bezier(0.165, 0.84, 0.44, 1) 300ms;
254
255 a {
256 outline: none;
257 }
09763dbf
BW
258 }
259
260 .card:hover {
09763dbf
BW
261 transform: translate(0, -3px);
262
263 .tag {
264 width: auto;
265 color: #ffffff;
266 padding: 0 0.75em;
a2fdb8a9 267
268 .tag-text {
269 display: block;
270 }
09763dbf
BW
271 }
272 }
273
274 .card-content {
e41196e7
BW
275 height: 85px;
276 padding: 1.3rem;
09763dbf
BW
277 }
278
4877ec98
BW
279 .layout-vertical {
280 .card {
281 border-radius: 0;
282 }
283
284 .column div:first-of-type .card {
285 border-radius: 5px 5px 0 0;
286 }
287
288 .column div:last-child .card {
289 border-radius: 0 0 5px 5px;
290 }
291 }
292
09763dbf
BW
293 .footer {
294 position: fixed;
295 left: 0;
296 right: 0;
297 bottom: 0;
4877ec98 298 padding: 0.5rem;
09763dbf 299 text-align: left;
4877ec98
BW
300 color: #676767;
301 font-size: 0.85rem;
5323df4a 302 transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 300ms;
09763dbf
BW
303 }
304
305 .search-bar {
306 position: relative;
4877ec98 307 display: inline-block;
09763dbf
BW
308 #search {
309 border: none;
310 background-color: lighten( $secondary-color, 6% );
311 border-radius: 5px;
312 padding: 2px 12px 2px 30px;
313 margin: 10px 0;
314 transition: all 100ms linear;
315 color: #ffffff;
316 height: 30px;
317 width: 100px;
318
319
320 &:focus {
321 color: #000000;
322 width: 250px;
323 background-color: #ffffff;
324 }
325 }
326
327 .search-label::before {
a0e2769a 328 font-family: 'Font Awesome 5 Free';
09763dbf
BW
329 position: absolute;
330 top: 12px;
331 left: 8px;
332 content: "\f002";
a0e2769a 333 font-weight: 900;
09763dbf
BW
334 width: 20px;
335 height: 20px;
336 }
337
338 &:focus-within .search-label::before {
339 color: #4a4a4a;
340 }
341 }
342
4877ec98
BW
343 .icon-button {
344 display: inline-block;
345 }
346
9baec9ae
BW
347 .offline-message {
348 text-align: center;
349 margin: 35px 0;
350
351 i {
352 font-size: 2rem;
353 }
354
355 i.fa-redo-alt {
356 font-size: 1.3rem;
357 line-height: 1rem;
358 vertical-align: middle;
359 cursor: pointer;
360 color: #3273dc;
361 }
362 }
363
09763dbf 364}