Blk/Wht color works in Full circle

master
David Volovskiy 2025-05-18 14:39:38 -04:00
parent f62dd11d25
commit 7a2a9ad3f4
2 changed files with 12 additions and 7 deletions

View File

@ -85,7 +85,12 @@ function assignPalettes() {
palbg = new Uint16Array([g.toColor(g.theme.bg)]); palbg = new Uint16Array([g.toColor(g.theme.bg)]);
for (let i = 0; i < settings.rings.length; i++) { for (let i = 0; i < settings.rings.length; i++) {
let ring = settings.rings[i]; let ring = settings.rings[i];
if (g.theme.dark) { if (ring.type == 'Full' && ring.color == 'Blk/Wht') {
// BLK/WHT is the outside in light mode, so all of it gets filled in.
// Using the dark theme stops it from being a one-color circle.
pals[i].pal1 = new Uint16Array([g.theme.bg, g.toColor(ring.gy), g.toColor(ring.fg), g.toColor("#00f")]);
pals[i].pal2 = new Uint16Array([g.theme.bg, g.toColor(ring.fg), g.toColor(ring.gy), g.toColor("#00f")]);
} else if (g.theme.dark) {
// palette for 0-49% // palette for 0-49%
pals[i].pal1 = new Uint16Array([g.theme.bg, g.toColor(ring.gy), g.toColor(ring.fg), g.toColor("#00f")]); pals[i].pal1 = new Uint16Array([g.theme.bg, g.toColor(ring.gy), g.toColor(ring.fg), g.toColor("#00f")]);
// palette for 50-100% // palette for 50-100%
@ -193,8 +198,9 @@ function loadSettings() {
settings.rings[2].step_target = settings.rings[2].step_target||10000; settings.rings[2].step_target = settings.rings[2].step_target||10000;
for (let i = 0; i < settings.rings.length; i++) { for (let i = 0; i < settings.rings.length; i++) {
// Needed in case the user swaps themes
if (settings.rings[i].color == 'Blk/Wht') { if (settings.rings[i].color == 'Blk/Wht') {
settings.rings[i].gy = g.theme.fg; settings.rings[i].gy = g.theme.dark ? '#222' : '#888';
settings.rings[i].fg = g.theme.fg; settings.rings[i].fg = g.theme.fg;
} }
} }
@ -493,7 +499,6 @@ function drawAllRings(date, drawOnlyThisType) {
let ring = settings.rings[i]; let ring = settings.rings[i];
if (ring.type == "None") continue; if (ring.type == "None") continue;
if (drawOnlyThisType != null && ring.ring != drawOnlyThisType) continue; if (drawOnlyThisType != null && ring.ring != drawOnlyThisType) continue;
if (ring.type == 'Full' && ring.color == 'Blk/Wht') ring.type = 'Semi';
result = getGaugeImage(date, ring.ring, ring.step_target); result = getGaugeImage(date, ring.ring, ring.step_target);
drawIfChanged(result[0], result[1], result[2], i, ring.type); drawIfChanged(result[0], result[1], result[2], i, ring.type);
} }

View File

@ -22,8 +22,8 @@
s.rings[1] = { s.rings[1] = {
color: 'Blk/Wht', color: 'Blk/Wht',
fg: g.theme.fg, fg: null,
gy: g.theme.fg, gy: null,
ring: 'Minutes', ring: 'Minutes',
type: 'None', type: 'None',
step_target: 10000, step_target: 10000,
@ -53,8 +53,8 @@ function save() {
} }
var color_options = ['Cyan','Green','Orange','Purple','Red','Blue', 'Blk/Wht']; var color_options = ['Cyan','Green','Orange','Purple','Red','Blue', 'Blk/Wht'];
var fg_code = ['#0ff','#0f0','#ff0','#f0f','#f00','#00f', g.theme.fg]; var fg_code = ['#0ff','#0f0','#ff0','#f0f','#f00','#00f', null];
var gy_code = ['#022','#020','#220','#202','#200','#002', g.theme.fg]; var gy_code = ['#022','#020','#220','#202','#200','#002', null];
var ring_options = ['Hours', 'Minutes', 'Seconds', 'Day', 'Sun', 'Steps', 'Battery']; var ring_options = ['Hours', 'Minutes', 'Seconds', 'Day', 'Sun', 'Steps', 'Battery'];
var ring_types = ['None', 'Full', 'Semi', 'C']; var ring_types = ['None', 'Full', 'Semi', 'C'];
var step_options = [100, 1000, 5000, 10000, 15000, 20000]; var step_options = [100, 1000, 5000, 10000, 15000, 20000];