Skip to content

Commit 391a726

Browse files
author
Admin9705
committed
update
1 parent 3d5bc3e commit 391a726

File tree

1 file changed

+141
-12
lines changed

1 file changed

+141
-12
lines changed

frontend/templates/components/apps_section.html

Lines changed: 141 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,38 @@ <h3>Prowlarr</h3>
175175
</div>
176176
</section>
177177

178+
<script>
179+
// Enable glowing ring effects only if not in low resource mode
180+
document.addEventListener('DOMContentLoaded', function() {
181+
// Check if low resource mode is enabled
182+
fetch('./api/settings/global')
183+
.then(response => response.json())
184+
.then(data => {
185+
const lowResourceMode = data.low_usage_mode === 'true' || data.low_usage_mode === true;
186+
187+
if (!lowResourceMode) {
188+
// Enable glowing effects for all app icons
189+
const appIcons = document.querySelectorAll('.app-icon');
190+
appIcons.forEach(icon => {
191+
icon.classList.add('glow-enabled');
192+
});
193+
194+
console.log('[Apps] Glowing ring effects enabled (low resource mode: disabled)');
195+
} else {
196+
console.log('[Apps] Glowing ring effects disabled (low resource mode: enabled)');
197+
}
198+
})
199+
.catch(error => {
200+
console.warn('[Apps] Could not check low resource mode, enabling glowing effects by default:', error);
201+
// Default to enabling effects if we can't check the setting
202+
const appIcons = document.querySelectorAll('.app-icon');
203+
appIcons.forEach(icon => {
204+
icon.classList.add('glow-enabled');
205+
});
206+
});
207+
});
208+
</script>
209+
178210
<style>
179211
#appsSection {
180212
display: none;
@@ -210,21 +242,24 @@ <h3>Prowlarr</h3>
210242

211243
.apps-grid {
212244
display: grid;
213-
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
214-
gap: 20px;
245+
grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
246+
gap: 15px;
215247
padding: 20px 0;
248+
max-width: 900px;
249+
margin: 0 auto;
216250
}
217251

218252
.app-card {
219253
background: linear-gradient(135deg, rgba(30, 39, 56, 0.8) 0%, rgba(14, 20, 32, 0.8) 100%);
220254
border: 1px solid rgba(90, 109, 137, 0.3);
221255
border-radius: 12px;
222-
padding: 30px 20px;
256+
padding: 22px 15px;
223257
text-align: center;
224258
cursor: pointer;
225259
transition: all 0.3s ease;
226260
position: relative;
227261
overflow: hidden;
262+
max-width: 225px;
228263
}
229264

230265
.app-card:hover {
@@ -235,21 +270,113 @@ <h3>Prowlarr</h3>
235270
}
236271

237272
.app-icon {
238-
width: 60px;
239-
height: 60px;
240-
margin: 0 auto 20px;
273+
width: 50px;
274+
height: 50px;
275+
margin: 0 auto 15px;
241276
display: flex;
242277
align-items: center;
243278
justify-content: center;
244279
background: linear-gradient(135deg, rgba(52, 152, 219, 0.2) 0%, rgba(155, 89, 182, 0.2) 100%);
245280
border-radius: 50%;
246281
transition: all 0.3s ease;
282+
position: relative;
247283
}
248284

249285
.app-card:hover .app-icon {
250286
background: linear-gradient(135deg, rgba(52, 152, 219, 0.4) 0%, rgba(155, 89, 182, 0.4) 100%);
251287
transform: scale(1.1);
252288
}
289+
290+
/* Glowing ring animations - only when NOT in low resource mode */
291+
.app-icon::before {
292+
content: '';
293+
position: absolute;
294+
top: -3px;
295+
left: -3px;
296+
right: -3px;
297+
bottom: -3px;
298+
border-radius: 50%;
299+
opacity: 0;
300+
transition: opacity 0.3s ease;
301+
pointer-events: none;
302+
}
303+
304+
/* Default state - no glow rings (will be enabled by JavaScript if not in low resource mode) */
305+
.app-icon.glow-enabled::before {
306+
opacity: 1;
307+
}
308+
309+
/* App-specific glowing ring keyframes - only active when glow is enabled */
310+
@keyframes sonarrGlow {
311+
0%, 100% { box-shadow: 0 0 5px rgba(52, 152, 219, 0.4), 0 0 10px rgba(52, 152, 219, 0.3), 0 0 15px rgba(52, 152, 219, 0.2); }
312+
50% { box-shadow: 0 0 10px rgba(52, 152, 219, 0.6), 0 0 20px rgba(52, 152, 219, 0.4), 0 0 30px rgba(52, 152, 219, 0.3); }
313+
}
314+
315+
@keyframes radarrGlow {
316+
0%, 100% { box-shadow: 0 0 5px rgba(241, 196, 15, 0.4), 0 0 10px rgba(241, 196, 15, 0.3), 0 0 15px rgba(241, 196, 15, 0.2); }
317+
50% { box-shadow: 0 0 10px rgba(241, 196, 15, 0.6), 0 0 20px rgba(241, 196, 15, 0.4), 0 0 30px rgba(241, 196, 15, 0.3); }
318+
}
319+
320+
@keyframes lidarrGlow {
321+
0%, 100% { box-shadow: 0 0 5px rgba(46, 204, 113, 0.4), 0 0 10px rgba(46, 204, 113, 0.3), 0 0 15px rgba(46, 204, 113, 0.2); }
322+
50% { box-shadow: 0 0 10px rgba(46, 204, 113, 0.6), 0 0 20px rgba(46, 204, 113, 0.4), 0 0 30px rgba(46, 204, 113, 0.3); }
323+
}
324+
325+
@keyframes readarrGlow {
326+
0%, 100% { box-shadow: 0 0 5px rgba(231, 76, 60, 0.4), 0 0 10px rgba(231, 76, 60, 0.3), 0 0 15px rgba(231, 76, 60, 0.2); }
327+
50% { box-shadow: 0 0 10px rgba(231, 76, 60, 0.6), 0 0 20px rgba(231, 76, 60, 0.4), 0 0 30px rgba(231, 76, 60, 0.3); }
328+
}
329+
330+
@keyframes whisparrGlow {
331+
0%, 100% { box-shadow: 0 0 5px rgba(155, 89, 182, 0.4), 0 0 10px rgba(155, 89, 182, 0.3), 0 0 15px rgba(155, 89, 182, 0.2); }
332+
50% { box-shadow: 0 0 10px rgba(155, 89, 182, 0.6), 0 0 20px rgba(155, 89, 182, 0.4), 0 0 30px rgba(155, 89, 182, 0.3); }
333+
}
334+
335+
@keyframes erosGlow {
336+
0%, 100% { box-shadow: 0 0 5px rgba(142, 68, 173, 0.4), 0 0 10px rgba(142, 68, 173, 0.3), 0 0 15px rgba(142, 68, 173, 0.2); }
337+
50% { box-shadow: 0 0 10px rgba(142, 68, 173, 0.6), 0 0 20px rgba(142, 68, 173, 0.4), 0 0 30px rgba(142, 68, 173, 0.3); }
338+
}
339+
340+
@keyframes prowlarrGlow {
341+
0%, 100% { box-shadow: 0 0 5px rgba(230, 126, 34, 0.4), 0 0 10px rgba(230, 126, 34, 0.3), 0 0 15px rgba(230, 126, 34, 0.2); }
342+
50% { box-shadow: 0 0 10px rgba(230, 126, 34, 0.6), 0 0 20px rgba(230, 126, 34, 0.4), 0 0 30px rgba(230, 126, 34, 0.3); }
343+
}
344+
345+
/* Apply glowing animations only when glow is enabled */
346+
.sonarr-icon-card.glow-enabled::before {
347+
border: 2px solid rgba(52, 152, 219, 0.6);
348+
animation: sonarrGlow 3s ease-in-out infinite;
349+
}
350+
351+
.radarr-icon-card.glow-enabled::before {
352+
border: 2px solid rgba(241, 196, 15, 0.6);
353+
animation: radarrGlow 3s ease-in-out infinite 0.5s;
354+
}
355+
356+
.lidarr-icon-card.glow-enabled::before {
357+
border: 2px solid rgba(46, 204, 113, 0.6);
358+
animation: lidarrGlow 3s ease-in-out infinite 1s;
359+
}
360+
361+
.readarr-icon-card.glow-enabled::before {
362+
border: 2px solid rgba(231, 76, 60, 0.6);
363+
animation: readarrGlow 3s ease-in-out infinite 1.5s;
364+
}
365+
366+
.whisparr-icon-card.glow-enabled::before {
367+
border: 2px solid rgba(155, 89, 182, 0.6);
368+
animation: whisparrGlow 3s ease-in-out infinite 2s;
369+
}
370+
371+
.eros-icon-card.glow-enabled::before {
372+
border: 2px solid rgba(142, 68, 173, 0.6);
373+
animation: erosGlow 3s ease-in-out infinite 2.5s;
374+
}
375+
376+
.prowlarr-icon-card.glow-enabled::before {
377+
border: 2px solid rgba(230, 126, 34, 0.6);
378+
animation: prowlarrGlow 3s ease-in-out infinite 3s;
379+
}
253380

254381
.app-icon i {
255382
font-size: 24px;
@@ -264,9 +391,9 @@ <h3>Prowlarr</h3>
264391

265392
/* App icon image styling for cards */
266393
.app-icon .app-icon-img {
267-
width: 32px;
268-
height: 32px;
269-
border-radius: 6px;
394+
width: 28px;
395+
height: 28px;
396+
border-radius: 5px;
270397
transition: all 0.3s ease;
271398
filter: brightness(0.9) contrast(1.1);
272399
}
@@ -387,10 +514,11 @@ <h3>Prowlarr</h3>
387514

388515
.app-card h3 {
389516
color: #fff;
390-
font-size: 20px;
517+
font-size: 18px;
391518
font-weight: 600;
392-
margin-bottom: 10px;
519+
margin-bottom: 8px;
393520
transition: all 0.3s ease;
521+
line-height: 1.2;
394522
}
395523

396524
.app-card:hover h3 {
@@ -399,9 +527,10 @@ <h3>Prowlarr</h3>
399527

400528
.app-card p {
401529
color: rgba(255, 255, 255, 0.6);
402-
font-size: 14px;
530+
font-size: 13px;
403531
margin: 0;
404532
transition: all 0.3s ease;
533+
line-height: 1.3;
405534
}
406535

407536
.app-card:hover p {

0 commit comments

Comments
 (0)