85 |
86 |
87 |
88 |
temprain
89 |
90 |
91 |
92 |
UV-Index
93 |
97 |
101 |
105 |
106 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
129 |
130 |
131 |
132 |
139 |
140 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
--------------------------------------------------------------------------------
/application/assets/assets/css/main.css:
--------------------------------------------------------------------------------
1 | /*GENERAL*/
2 |
3 | :root {
4 | --color-one: black;
5 | --color-two: yellow;
6 | --color-three: silver;
7 | --color-four: rgb(99, 99, 99);
8 | --color-five: rgb(38, 38, 38);
9 | --color-six: rgb(78, 206, 144);
10 | --color-seven: gainsboro;
11 | }
12 |
13 | *,
14 | *:before,
15 | *:after {
16 | border: 0px;
17 | padding: 0px;
18 | margin: 0px;
19 | box-sizing: border-box;
20 | }
21 |
22 | *::-webkit-scrollbar {
23 | width: 0!important;
24 | background-color: transparent!Important;
25 | display: none!Important;
26 | background: black;
27 | }
28 |
29 | *::-moz-focus-inner {
30 | border: 0;
31 | }
32 |
33 | *:focus {
34 | border: 0;
35 | }
36 |
37 |
38 | /* 1 */
39 |
40 | ::-webkit-scrollbar-button {
41 | display: none!Important;
42 | }
43 |
44 |
45 | /* 2 */
46 |
47 | ::-webkit-scrollbar-track {
48 | display: none!Important;
49 | background: black;
50 | }
51 |
52 |
53 | /* 3 */
54 |
55 | ::-webkit-scrollbar-track-piece {
56 | display: none!Important;
57 | background: black;
58 | }
59 |
60 |
61 | /* 4 */
62 |
63 | ::-webkit-scrollbar-thumb {
64 | display: none!Important;
65 | background: black;
66 | }
67 |
68 |
69 | /* 5 */
70 |
71 | ::-webkit-scrollbar-corner {
72 | display: none!Important;
73 | background: black;
74 | }
75 |
76 | html,
77 | body {
78 | font-weight: 100;
79 | width: 100vw;
80 | position: relative;
81 | margin: 0px;
82 | padding: 0px;
83 | font-size: 1.0rem;
84 | line-height: 1.4rem;
85 | -webkit-appearance: none;
86 | height: 100%;
87 | margin: 0;
88 | }
89 |
90 | h1 {
91 | margin: 0 0 20px 0;
92 | font-size: 1.2rem;
93 | }
94 |
95 | h2 {
96 | font-size: 1.0rem;
97 | }
98 |
99 | .debug {
100 | border: 1px solid red;
101 | }
102 |
103 |
104 | /*///////////////////////////
105 | ///HELPER////////////////*/
106 |
107 | div#bottom-bar {
108 | position: fixed;
109 | bottom: 10px;
110 | left: 0px;
111 | height: 15px;
112 | z-index: 5;
113 | background: gray;
114 | }
115 |
116 | div#bottom-bar div#inner {
117 | position: relative;
118 | }
119 |
120 | div#bottom-bar div {
121 | background: gray;
122 | color: white;
123 | padding: 2px;
124 | }
125 |
126 | div#bottom-bar div#button-center {
127 | background: gray;
128 | color: white;
129 | padding: 2px;
130 | width: 30%;
131 | text-align: center;
132 | }
133 |
134 | div#bottom-bar div#button-left {
135 | background: gray;
136 | color: white;
137 | padding: 2px;
138 | width: 20px;
139 | text-align: left;
140 | width: 30%;
141 | }
142 |
143 | div#bottom-bar div#button-right {
144 | background: gray;
145 | color: white;
146 | padding: 2px;
147 | width: 30%;
148 | text-align: right;
149 | }
150 |
151 | div#toast {
152 | position: fixed;
153 | height: auto;
154 | overflow: none;
155 | top: -100px;
156 | background: black;
157 | color: white;
158 | z-index: 5000;
159 | min-width: 100%;
160 | padding: 5px;
161 | text-align: center;
162 | }
163 |
164 |
165 | /*///////////////////////////
166 | ///FINDER////////////////*/
167 |
168 | div#finder {
169 | position: relative;
170 | background: black;
171 | padding: 5px;
172 | color: white;
173 | }
174 |
175 | div#finder div#app-list {
176 | background: black;
177 | color: white;
178 | margin: 0 0 3px 0;
179 | padding: 3px;
180 | overflow: hidden;
181 | }
182 |
183 | div#finder div#app-list .child-of-dir {
184 | display: none;
185 | }
186 |
187 | div#finder div#app-list .dir {
188 | border-left: 4px solid silver;
189 | padding: 0 0 0 3px;
190 | }
191 |
192 | div#finder div#app-list .dir span.app-name {
193 | display: none;
194 | }
195 |
196 | div#finder div#app-list div {
197 | min-width: 100%;
198 | margin: 0 0 5px 0;
199 | }
200 |
201 | div#finder div:focus {
202 | background: yellow;
203 | color: black;
204 | border: 0;
205 | }
206 |
207 | div#weather-wrapper {
208 | display: none;
209 | background: black;
210 | }
211 |
212 | div#quick-settings {
213 | display: none;
214 | position: relative;
215 | background: black;
216 | padding: 5px;
217 | color: white;
218 | }
219 |
220 | div#quick-settings div:focus {
221 | background: yellow;
222 | color: black;
223 | }
224 |
225 | div#quick-settings div.alarms {
226 | margin: 15px 0 0 0;
227 | }
228 |
229 | div#quick-settings div.alarms div {
230 | padding: 0 10px 0 0;
231 | }
232 |
233 | div#quick-settings div.alarms div:first:after {
234 | content: "-";
235 | }
236 |
237 |
238 | /*///////////////////////////
239 | ///LOCATION////////////////*/
240 |
241 | div#chart {
242 | position: relative;
243 | margin: 25px 0 10px 0;
244 | height: 240px;
245 | width: 95vw;
246 | max-width: 95vw;
247 | }
248 |
249 | div#chart #myChart {
250 | margin: 0 0 0 -5px!Important;
251 | }
252 |
253 | div#chart div.legend span {
254 | margin: 5px 5px 0 0;
255 | }
256 |
257 | div#chart div.legend span:first-child {
258 | color: red;
259 | }
260 |
261 | div#chart div.legend span:nth-child(2) {
262 | color: blue;
263 | }
264 |
265 | div#location {
266 | position: absolute;
267 | z-index: 2;
268 | left: 0;
269 | top: 0;
270 | background: black;
271 | color: white;
272 | font-size: 14px;
273 | padding: 5px 10px 50px 5px;
274 | overflow: hidden;
275 | display: none;
276 | }
277 |
278 | div#weather-wrapper div#locations {
279 | display: none;
280 | position: fixed;
281 | z-index: 3;
282 | background: black;
283 | top: 0px;
284 | left: 0px;
285 | }
286 |
287 | div#weather-wrapper div#locations:first-child {
288 | outline: 2px solid red;
289 | }
290 |
291 | div#weather-wrapper div#locations div {
292 | display: block;
293 | background: black;
294 | color: white;
295 | width: 100%;
296 | height: auto;
297 | margin: 0 0 5px 0;
298 | }
299 |
300 | div#weather-wrapper div#locations div:focus {
301 | background: yellow;
302 | color: black;
303 | }
304 |
305 | div#weather-wrapper div#message {
306 | position: absolute;
307 | z-index: 5;
308 | color: white;
309 | top: 40%;
310 | text-align: center;
311 | }
312 |
313 | div#location div#weather {
314 | margin: 10px 0 0 0;
315 | }
316 |
317 | div#location div#temp {
318 | font-size: 1.7rem;
319 | }
320 |
321 | div#location div#weather section {
322 | border-top: 2px dashed white;
323 | margin: 0 0 0px 0;
324 | padding: 12px 5px 12px 0px;
325 | background: black;
326 | }
327 |
328 | div#location div#weather div#weather-bar div#icon {
329 | margin: 8px 0 0 0;
330 | }
331 |
332 | div#location div#weather div#wind-dir {
333 | font-size: 1.7rem;
334 | max-height: 1.7rem!Important;
335 | }
336 |
337 | div#location div#weather div#wind-speed {
338 | font-size: 0.7rem;
339 | max-height: 1.7rem!Important;
340 | margin: -10px 0 0 0;
341 | }
342 |
343 | div#location div#weather div#wind-speed div#wind-speed-val {
344 | max-height: 0.7rem;
345 | }
346 |
347 | div#location div#weather div#wind-speed div#wind-speed-unit {
348 | max-height: 0.7rem;
349 | }
350 |
351 | div#message-box {
352 | display: none;
353 | position: fixed;
354 | bottom: 5px;
355 | left: 0px;
356 | padding: 5px;
357 | min-width: 100vw;
358 | height: auto;
359 | background: pink;
360 | color: black;
361 | z-index: 2;
362 | }
363 |
364 |
365 | /* KaiOS portrait devices (240x320) */
366 |
367 | @media only screen and (orientation: portrait) {
368 | /* styles */
369 | }
370 |
371 |
372 | /* KaiOS landscape devices (320x240) */
373 |
374 | @media screen and (orientation: landscape) {
375 | /* styles */
376 | }
--------------------------------------------------------------------------------
/application/assets/js/applait.finder.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * EventEmitter v4.2.9 - git.io/ee
3 | * Oliver Caldwell
4 | * MIT license
5 | * @preserve
6 | */
7 | (function(){"use strict";function EventEmitter(){}function indexOfListener(listeners,listener){for(var i=listeners.length;i--;)if(listeners[i].listener===listener)return i;return-1}function alias(name){return function(){return this[name].apply(this,arguments)}}var proto=EventEmitter.prototype,exports=this,originalGlobalValue=exports.EventEmitter;proto.getListeners=function(evt){var response,key,events=this._getEvents();if(evt instanceof RegExp){response={};for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&(response[key]=events[key])}else response=events[evt]||(events[evt]=[]);return response},proto.flattenListeners=function(listeners){var i,flatListeners=[];for(i=0;i