@sailingrotevista/rotevista-dash 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/style.css +116 -83
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -81,58 +81,45 @@ body {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/* ==========================================================================
|
|
84
|
-
4. TIPOGRAFIA GERARCHICA (
|
|
84
|
+
4. TIPOGRAFIA GERARCHICA (OTTIMIZZATA PER TUTTI I DISPLAY)
|
|
85
85
|
========================================================================== */
|
|
86
86
|
|
|
87
87
|
/* --- VALORI STANDARD (STW, SOG, DEPTH, TWS) --- */
|
|
88
88
|
.value {
|
|
89
89
|
color: #000;
|
|
90
|
-
/*
|
|
91
|
-
font-size: clamp(1.
|
|
90
|
+
/* Su Tablet: 25% altezza box. Su schermi stretti max 32% larghezza */
|
|
91
|
+
font-size: clamp(1.1rem, 25cqh, 32cqw);
|
|
92
92
|
font-weight: 600; line-height: 0.85; letter-spacing: -1.5px;
|
|
93
93
|
margin-top: auto; margin-bottom: 2px;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
/*
|
|
96
|
+
/* Protezione iPhone Landscape: Schermi molto bassi */
|
|
97
97
|
@media screen and (max-height: 450px) {
|
|
98
|
-
.value { font-size: clamp(
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/* PROTEZIONE SMART: Se il box è stretto (Split View), riduciamo leggermente */
|
|
102
|
-
@container (max-width: 300px) {
|
|
103
|
-
.value { font-size: clamp(1.1rem, 24cqw, 2.8rem) !important; letter-spacing: -1px; }
|
|
98
|
+
.value { font-size: clamp(1rem, 18cqh, 25cqw) !important; }
|
|
104
99
|
}
|
|
105
100
|
|
|
106
101
|
/* --- VALORI MEDIATI (HEADING, COG, TWA, AWA) --- */
|
|
107
102
|
.value-large {
|
|
108
103
|
font-weight: 600; line-height: 1; margin: auto 0;
|
|
109
|
-
/*
|
|
110
|
-
font-size: clamp(1.5rem, 55cqh,
|
|
104
|
+
/* 55cqh riempie il box verticalmente, 22cqw protegge la larghezza */
|
|
105
|
+
font-size: clamp(1.5rem, 55cqh, 22cqw) !important;
|
|
111
106
|
}
|
|
112
107
|
|
|
113
|
-
/* PROTEZIONE IPHONE LANDSCAPE: Se lo schermo è basso, abbassiamo al 40% */
|
|
114
108
|
@media screen and (max-height: 450px) {
|
|
115
|
-
.value-large { font-size: clamp(1.4rem, 40cqh,
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
@container (max-width: 300px) {
|
|
119
|
-
.value-large { font-size: clamp(1.4rem, 45cqh, 25cqw) !important; }
|
|
109
|
+
.value-large { font-size: clamp(1.4rem, 40cqh, 20cqw) !important; }
|
|
120
110
|
}
|
|
121
111
|
|
|
122
112
|
/* --- BOX TWD (Bussola Meteo) --- */
|
|
123
113
|
.value-with-compass {
|
|
124
114
|
display: flex; flex-direction: row; justify-content: space-between;
|
|
125
|
-
align-items: center; width: 100%; height: 85%;
|
|
115
|
+
align-items: center; width: 100%; height: 85%;
|
|
126
116
|
}
|
|
127
|
-
|
|
128
117
|
.box-twd .mini-compass {
|
|
129
118
|
height: 85cqh !important; width: auto !important; aspect-ratio: 1/1; flex-shrink: 0;
|
|
130
119
|
}
|
|
131
|
-
|
|
132
|
-
/* PROTEZIONE IPHONE LANDSCAPE: Rimpiccioliamo la bussola se il box è basso */
|
|
133
120
|
@media screen and (max-height: 450px) {
|
|
134
121
|
.box-twd .mini-compass { height: 65cqh !important; }
|
|
135
|
-
.box-twd #twd-avg { font-size: clamp(1.4rem, 45cqh,
|
|
122
|
+
.box-twd #twd-avg { font-size: clamp(1.4rem, 45cqh, 20cqw) !important; }
|
|
136
123
|
}
|
|
137
124
|
|
|
138
125
|
/* --- BOX TACK (Mure Opposte) --- */
|
|
@@ -141,23 +128,12 @@ body {
|
|
|
141
128
|
.box-tack .dual-value-col:first-child { align-items: flex-start; }
|
|
142
129
|
.box-tack .dual-value-col:last-child { align-items: flex-end; }
|
|
143
130
|
.box-tack .dual-label { color: #888; font-size: 0.5rem; font-weight: 800; margin-bottom: -2px; }
|
|
131
|
+
.box-tack .value.dual-val { font-size: clamp(1rem, 32cqh, 10cqw) !important; line-height: 0.9; }
|
|
144
132
|
|
|
145
|
-
.box-tack .value.dual-val {
|
|
146
|
-
font-size: clamp(1rem, 35cqh, 12cqw) !important; line-height: 0.9;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/* PROTEZIONE IPHONE LANDSCAPE: TACK ancora più sottile */
|
|
150
133
|
@media screen and (max-height: 450px) {
|
|
151
134
|
.box-tack .value.dual-val { font-size: clamp(0.9rem, 28cqh, 10cqw) !important; }
|
|
152
135
|
}
|
|
153
136
|
|
|
154
|
-
/* --- TAG HERCULES --- */
|
|
155
|
-
.box-hercules { background: rgba(255, 0, 0, 0.05) !important; }
|
|
156
|
-
.box-hercules .unit::before {
|
|
157
|
-
font-size: 7px; color: #ff4444; font-weight: 900;
|
|
158
|
-
letter-spacing: 1px; text-transform: uppercase; content: "HERCULES ";
|
|
159
|
-
}
|
|
160
|
-
|
|
161
137
|
/* ==========================================================================
|
|
162
138
|
5. TACTICAL FOCUS MODE
|
|
163
139
|
========================================================================== */
|
|
@@ -183,14 +159,27 @@ body {
|
|
|
183
159
|
justify-content: center !important;
|
|
184
160
|
}
|
|
185
161
|
|
|
186
|
-
/*
|
|
187
|
-
|
|
162
|
+
/* Ingrandimento scale nel Focus Mode */
|
|
163
|
+
.focus-active .is-focused .scale-labels {
|
|
164
|
+
font-size: clamp(14px, 2vw, 24px) !important;
|
|
165
|
+
min-width: 60px !important;
|
|
166
|
+
color: #444 !important;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* Margine extra per le scale nel Focus */
|
|
170
|
+
.focus-active .is-focused .graph-wrapper { margin-top: 25px !important; }
|
|
171
|
+
|
|
172
|
+
/* PRIORITÀ COLORE HERCULES IN FOCUS */
|
|
188
173
|
.focus-active .is-focused.box-hercules {
|
|
189
174
|
background: rgba(255, 0, 0, 0.12) !important;
|
|
190
175
|
box-shadow: inset 0 0 30px rgba(255, 0, 0, 0.1);
|
|
191
176
|
}
|
|
192
177
|
|
|
193
|
-
.focus-active .is-focused .value {
|
|
178
|
+
.focus-active .is-focused .value {
|
|
179
|
+
font-size: clamp(4rem, 25cqh, 15rem) !important;
|
|
180
|
+
margin-top: 20px !important;
|
|
181
|
+
}
|
|
182
|
+
|
|
194
183
|
.focus-active .box-gauge { display: flex !important; grid-area: gauge !important; }
|
|
195
184
|
|
|
196
185
|
/* ==========================================================================
|
|
@@ -436,91 +425,135 @@ rect[fill="#222"] { fill: #eee !important; }
|
|
|
436
425
|
#wind-gauge { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
|
|
437
426
|
|
|
438
427
|
/* ==========================================================================
|
|
439
|
-
10. NIGHT MODE (TACTICAL RED -
|
|
428
|
+
10. NIGHT MODE (TACTICAL RED - VERSIONE DEFINITIVA E REVISIONATA)
|
|
440
429
|
========================================================================== */
|
|
441
|
-
body.night-mode {
|
|
430
|
+
body.night-mode {
|
|
431
|
+
background-color: #000 !important;
|
|
432
|
+
color: #ff3333 !important;
|
|
433
|
+
}
|
|
442
434
|
|
|
443
|
-
/*
|
|
444
|
-
.night-mode .data-box {
|
|
435
|
+
/* --- STRUTTURA E GRIGLIA --- */
|
|
436
|
+
.night-mode .data-box {
|
|
437
|
+
background: rgba(15, 0, 0, 0.6) !important;
|
|
438
|
+
border-color: #440000 !important; /* Confini box visibili in rosso cupo */
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/* Etichette e Testi secondari */
|
|
445
442
|
.night-mode .label,
|
|
446
443
|
.night-mode .unit,
|
|
447
|
-
.night-mode .dual-label
|
|
444
|
+
.night-mode .dual-label,
|
|
445
|
+
.night-mode .dual-label {
|
|
446
|
+
color: #800000 !important;
|
|
447
|
+
}
|
|
448
448
|
|
|
449
|
+
/* Valori Numerici */
|
|
449
450
|
.night-mode .value,
|
|
450
451
|
.night-mode .value-large {
|
|
451
452
|
color: #ff3333 !important;
|
|
452
453
|
text-shadow: 0 0 8px rgba(255, 0, 0, 0.4);
|
|
453
454
|
}
|
|
454
455
|
|
|
456
|
+
/* Stato Online/Offline */
|
|
455
457
|
.night-mode #status {
|
|
456
|
-
background: rgba(255, 0, 0, 0.1);
|
|
457
|
-
color: #
|
|
458
|
+
background: rgba(255, 0, 0, 0.1) !important;
|
|
459
|
+
color: #ff3333 !important;
|
|
458
460
|
}
|
|
459
461
|
|
|
460
|
-
/* --- GRAFICI
|
|
461
|
-
.night-mode .graph-wrapper { background: rgba(
|
|
462
|
-
.night-mode .sparkline path:first-of-type { display: none !important; }
|
|
462
|
+
/* --- GRAFICI (RIGOROSAMENTE 1PX, SENZA RIEMPIMENTO) --- */
|
|
463
|
+
.night-mode .graph-wrapper { background: rgba(0, 0, 0, 0.6) !important; border: 1px solid #330000; }
|
|
464
|
+
.night-mode .sparkline path:first-of-type { display: none !important; } /* Rimuove l'alone bianco/grigio */
|
|
463
465
|
.night-mode .sparkline path {
|
|
464
466
|
fill: none !important;
|
|
465
467
|
stroke: #ff3333 !important;
|
|
466
468
|
stroke-width: 1px !important;
|
|
467
469
|
filter: drop-shadow(0 0 2px rgba(255, 0, 0, 0.4));
|
|
468
470
|
}
|
|
469
|
-
.night-mode .sparkline line { stroke: rgba(150, 0, 0, 0.
|
|
471
|
+
.night-mode .sparkline line { stroke: rgba(150, 0, 0, 0.15) !important; } /* Griglia soffusa */
|
|
470
472
|
.night-mode #tws-graph line:not([stroke*="rgba"]) {
|
|
471
473
|
stroke: #ff3333 !important;
|
|
472
474
|
stroke-width: 1px !important;
|
|
473
475
|
}
|
|
474
|
-
.night-mode .scale-labels { color: #660000 !important; }
|
|
475
476
|
|
|
476
|
-
/*
|
|
477
|
-
.night-mode .
|
|
478
|
-
.night-mode .
|
|
477
|
+
/* Scale graduate dei grafici */
|
|
478
|
+
.night-mode .scale-labels { color: #800000 !important; }
|
|
479
|
+
.night-mode .is-focused .scale-labels { color: #ff3333 !important; }
|
|
479
480
|
|
|
480
|
-
/* --- WIND GAUGE NIGHT
|
|
481
|
-
|
|
482
|
-
.night-mode #wind-gauge circle
|
|
481
|
+
/* --- WIND GAUGE NIGHT (OSCURAMENTO TOTALE E FIX BIANCO) --- */
|
|
482
|
+
/* Forza tutti i cerchi della bussola al nero per eliminare il disco bianco */
|
|
483
|
+
.night-mode #wind-gauge circle {
|
|
484
|
+
fill: #000 !important;
|
|
485
|
+
stroke: #220000 !important;
|
|
486
|
+
}
|
|
483
487
|
|
|
484
|
-
|
|
485
|
-
.night-mode #wind-gauge circle
|
|
488
|
+
/* Cerchio intermedio e hotspot centrale */
|
|
489
|
+
.night-mode #wind-gauge circle:nth-of-type(2),
|
|
490
|
+
.night-mode #fullscreen-hotspot {
|
|
491
|
+
fill: #050000 !important;
|
|
492
|
+
stroke: #330000 !important;
|
|
493
|
+
}
|
|
486
494
|
|
|
487
|
-
/* Glow
|
|
488
|
-
.night-mode #
|
|
489
|
-
|
|
495
|
+
/* Correzione Glow centrale (da bianco a rosso neon) */
|
|
496
|
+
.night-mode #center-glow feDropShadow {
|
|
497
|
+
flood-color: #ff0000 !important;
|
|
498
|
+
flood-opacity: 0.6 !important;
|
|
499
|
+
}
|
|
490
500
|
|
|
491
|
-
|
|
501
|
+
/* AWS Interno: Etichetta e Valore */
|
|
502
|
+
.night-mode #aws-display-group text { fill: #800000 !important; }
|
|
492
503
|
.night-mode #aws-val-svg { fill: #ff3333 !important; }
|
|
493
|
-
.night-mode #aws-display-group text { fill: #660000 !important; }
|
|
494
504
|
|
|
495
|
-
/*
|
|
496
|
-
.night-mode #
|
|
505
|
+
/* FIX LOGO BARCA: Ombra scura e coerente */
|
|
506
|
+
.night-mode #boat-icon {
|
|
507
|
+
fill: #150000 !important;
|
|
508
|
+
opacity: 0.8 !important;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/* FIX COG/TRACK: Triangolo rosso senza bordo bianco */
|
|
512
|
+
.night-mode #track-pointer path {
|
|
513
|
+
fill: #ff3333 !important;
|
|
514
|
+
stroke: none !important;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/* Tacche e Numeri Gradi Bussola */
|
|
518
|
+
.night-mode #ticks line { stroke: #550000 !important; }
|
|
497
519
|
.night-mode #tick-labels { fill: #800000 !important; }
|
|
498
520
|
|
|
499
|
-
/*
|
|
500
|
-
.night-mode #wind-gauge path[stroke="#ff0000"] { stroke: #
|
|
501
|
-
.night-mode #wind-gauge path[stroke="#00ff00"] {
|
|
502
|
-
|
|
521
|
+
/* Settori Vento: Scuriti e differenziati per mure */
|
|
522
|
+
.night-mode #wind-gauge path[stroke="#ff0000"] { stroke: #800000 !important; opacity: 0.8; }
|
|
523
|
+
.night-mode #wind-gauge path[stroke="#00ff00"] {
|
|
524
|
+
stroke: #440000 !important;
|
|
525
|
+
stroke-dasharray: 5, 4 !important;
|
|
526
|
+
opacity: 0.7;
|
|
527
|
+
}
|
|
528
|
+
.night-mode #wind-gauge path[stroke="#ff8800"] { stroke: #330000 !important; opacity: 0.6; }
|
|
503
529
|
|
|
504
|
-
/*
|
|
505
|
-
.night-mode
|
|
506
|
-
.night-mode #
|
|
507
|
-
.night-mode rect[fill="#222"], .night-mode rect[fill="#eee"] { fill: #0a0000 !important; stroke: #200000; }
|
|
530
|
+
/* Lancette AWA/TWA */
|
|
531
|
+
.night-mode #awa-pointer path { fill: #ff0000 !important; stroke: #000 !important; }
|
|
532
|
+
.night-mode #twa-pointer path { fill: #800000 !important; stroke: #000 !important; }
|
|
508
533
|
|
|
509
|
-
/*
|
|
510
|
-
.night-mode
|
|
511
|
-
|
|
534
|
+
/* --- LEEWAY NIGHT (FIX SCRITTA E GRADIENTE) --- */
|
|
535
|
+
.night-mode #leeway-val {
|
|
536
|
+
fill: #ff3333 !important;
|
|
537
|
+
color: #ff3333 !important;
|
|
538
|
+
}
|
|
539
|
+
.night-mode rect[fill="url(#leeway-grad)"] { fill: url(#leeway-night-grad) !important; }
|
|
540
|
+
.night-mode rect[fill="#eee"],
|
|
541
|
+
.night-mode rect[fill="#222"] {
|
|
542
|
+
fill: #0a0000 !important;
|
|
543
|
+
stroke: #330000 !important;
|
|
544
|
+
}
|
|
512
545
|
|
|
513
|
-
/*
|
|
514
|
-
.night-mode #
|
|
515
|
-
.night-mode #
|
|
516
|
-
.night-mode #track-pointer path { fill: #ff0000; stroke: #fff; stroke-width: 0.5; }
|
|
546
|
+
/* Scala graduata Leeway (tacche e numeri) */
|
|
547
|
+
.night-mode g[stroke="#555"] line { stroke: #440000 !important; }
|
|
548
|
+
.night-mode g[fill="#555"] text { fill: #800000 !important; }
|
|
517
549
|
|
|
518
550
|
/* --- MINI BUSSOLA TWD NIGHT --- */
|
|
519
|
-
.night-mode .mini-compass { border-color: #330000; background: #000; }
|
|
551
|
+
.night-mode .mini-compass { border-color: #330000 !important; background: #000 !important; }
|
|
552
|
+
.night-mode .mini-compass circle { stroke: #330000 !important; }
|
|
520
553
|
.night-mode .mini-compass text { fill: #800000 !important; }
|
|
521
|
-
.night-mode .mini-compass text:last-of-type { fill: #800000 !important; opacity: 1; }
|
|
554
|
+
.night-mode .mini-compass text:last-of-type { fill: #800000 !important; opacity: 1; } /* La "S" */
|
|
522
555
|
.night-mode #twd-boat-wrap path { fill: #ff3333 !important; opacity: 0.4 !important; }
|
|
523
|
-
.night-mode #twd-arrow #twd-wind-chevron { stroke: #ff3333 !important;
|
|
556
|
+
.night-mode #twd-arrow #twd-wind-chevron { stroke: #ff3333 !important; }
|
|
524
557
|
|
|
525
558
|
/* ==========================================================================
|
|
526
559
|
11. TREND E ANIMAZIONI
|