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