diff --git a/config-page/src/data/i18nPreview.ts b/config-page/src/data/i18nPreview.ts index 28a8adc..38e7680 100644 --- a/config-page/src/data/i18nPreview.ts +++ b/config-page/src/data/i18nPreview.ts @@ -153,6 +153,7 @@ export const renderPreview = ( '{dist_unit}': isImperial ? 'MI' : 'KM', '{hr}': '72', '{batt}': '85', + '{quiet}': '🌙', // Solar / weather (PKJS-side) '{sunrise}': '6:42', '{sunset}': '18:18', diff --git a/config-page/src/data/widgetTypes.ts b/config-page/src/data/widgetTypes.ts index aa765e5..1e41000 100644 --- a/config-page/src/data/widgetTypes.ts +++ b/config-page/src/data/widgetTypes.ts @@ -44,6 +44,7 @@ const WIDGET_TEMPLATES: WidgetOptionTemplate[] = [ { value: '{hr} {t:BPM}', label: 'Current Heart Rate', category: 'Health' }, // Device { value: '{t:BATTERY} {batt}%', label: 'Battery %', category: 'Device' }, + { value: '{t:QUIET} {quiet}', label: 'Quiet Time On/Off', category: 'Device' }, // Weather { value: '{temp}° ({thi}°/{tlo}°)', @@ -91,6 +92,7 @@ export const WIDGET_TOKENS: WidgetToken[] = [ { token: '{dist_unit}', label: 'Dist. Unit', category: 'Health & Device', requires: 'health' }, { token: '{hr}', label: 'Heart Rate', category: 'Health & Device', requires: 'hrm' }, { token: '{batt}', label: 'Battery', category: 'Health & Device' }, + { token: '{quiet}', label: 'Quiet Time', category: 'Health & Device' }, { token: '{temp}', label: 'Temp', category: 'Weather' }, { token: '{thi}', label: 'High', category: 'Weather' }, { token: '{tlo}', label: 'Low', category: 'Weather' }, diff --git a/package.json b/package.json index 8bef682..6bfad5c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "halcyon-pebble", "author": "Freakified", - "version": "2.3", + "version": "2.4.0", "keywords": [ "pebble-watchface" ], diff --git a/src/c/widgets.c b/src/c/widgets.c index f0e8bad..9da633b 100644 --- a/src/c/widgets.c +++ b/src/c/widgets.c @@ -265,8 +265,14 @@ void widget_get_text(const char *format_string, char *buf, int buf_len) { "alt_tz2_label", "alt_tz2_time", "alt_tz2_day", &matched); } + } else if (strncmp(token, "quiet", token_len) == 0 && token_len == 5) { + if (quiet_time_is_active()) { + snprintf(temp, sizeof(temp), "\U0001F319"); + } else { + temp[0] = '\0'; + } + matched = true; } - if (matched) { // copy temp into buf int t_idx = 0;