@@ -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 (300 px , 1fr ));
214- gap : 20 px ;
245+ grid-template-columns : repeat (auto-fit, minmax (225 px , 1fr ));
246+ gap : 15 px ;
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 : 30 px 20 px ;
256+ padding : 22 px 15 px ;
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 : 60 px ;
239- height : 60 px ;
240- margin : 0 auto 20 px ;
273+ width : 50 px ;
274+ height : 50 px ;
275+ margin : 0 auto 15 px ;
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 : 32 px ;
268- height : 32 px ;
269- border-radius : 6 px ;
394+ width : 28 px ;
395+ height : 28 px ;
396+ border-radius : 5 px ;
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 : 20 px ;
517+ font-size : 18 px ;
391518 font-weight : 600 ;
392- margin-bottom : 10 px ;
519+ margin-bottom : 8 px ;
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 : 14 px ;
530+ font-size : 13 px ;
403531 margin : 0 ;
404532 transition : all 0.3s ease;
533+ line-height : 1.3 ;
405534 }
406535
407536 .app-card : hover p {
0 commit comments