@focus8/settings-registry 0.4.0 → 0.5.0

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/dist/index.d.ts CHANGED
@@ -62,6 +62,55 @@ export declare const TIME_BASED_ONLY_CATEGORIES: ReadonlySet<SettingsCategory>;
62
62
  * Categories not exclusive to either type are always included.
63
63
  */
64
64
  export declare function getCategoriesForCalendarType(calendarType: CalendarType): SettingsCategory[];
65
+ /**
66
+ * Settings group IDs matching the mobile app's settings menu structure.
67
+ * These provide user-friendly groupings that may pull settings from multiple
68
+ * raw registry categories.
69
+ */
70
+ export declare const SETTINGS_GROUP_IDS: readonly ["appearance", "calendarType", "calendarView", "activities", "dateWeather", "soundAlerts", "timer", "lockScreen", "touch", "chronological", "device", "language"];
71
+ export type SettingsGroupId = (typeof SETTINGS_GROUP_IDS)[number];
72
+ export type SettingsGroupDef = {
73
+ /** Unique group identifier */
74
+ id: SettingsGroupId;
75
+ /** i18n message key for the group label */
76
+ labelKey: string;
77
+ /** Lucide icon name */
78
+ icon: string;
79
+ /**
80
+ * Setting key matchers. A setting is included if its key:
81
+ * - equals a matcher exactly, OR
82
+ * - starts with a matcher that ends with '.' (prefix match)
83
+ */
84
+ keys: string[];
85
+ /** Only show for this calendar type (undefined = always) */
86
+ calendarType?: CalendarType;
87
+ };
88
+ /**
89
+ * Group definitions matching the mobile app's settings structure.
90
+ *
91
+ * ─ i18n keys use the format `Settings.GroupLabel.<Id>` and must exist
92
+ * in every consumer's i18n catalog.
93
+ */
94
+ export declare const SETTINGS_GROUPS: readonly SettingsGroupDef[];
95
+ /**
96
+ * Settings excluded from remote editing (web portal / profile management).
97
+ * These are device-local or internal-only settings.
98
+ */
99
+ export declare const EXCLUDED_DEVICE_SETTINGS: ReadonlySet<string>;
100
+ /**
101
+ * Group parsed setting entries into user-facing groups matching the mobile
102
+ * app's settings menu structure.
103
+ *
104
+ * Takes a flat list of parsed settings (from `parseSettingsSnapshot`) and
105
+ * buckets them into the standard groups, filtering by calendar type and
106
+ * excluded keys.
107
+ */
108
+ export declare function groupSettingsForDevice(allSettings: ParsedSettingEntry[], calendarType: CalendarType): {
109
+ id: SettingsGroupId;
110
+ labelKey: string;
111
+ icon: string;
112
+ settings: ParsedSettingEntry[];
113
+ }[];
65
114
  export type SettingsDataType = 'string' | 'number' | 'boolean' | 'json';
66
115
  export type SettingDef<T = unknown> = {
67
116
  category: SettingsCategory;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -95,6 +95,202 @@ export function getCategoriesForCalendarType(calendarType) {
95
95
  return true;
96
96
  });
97
97
  }
98
+ // ---------------------------------------------------------------------------
99
+ // Settings groups — user-facing groups that reorganize raw categories
100
+ // ---------------------------------------------------------------------------
101
+ /**
102
+ * Settings group IDs matching the mobile app's settings menu structure.
103
+ * These provide user-friendly groupings that may pull settings from multiple
104
+ * raw registry categories.
105
+ */
106
+ export const SETTINGS_GROUP_IDS = [
107
+ 'appearance',
108
+ 'calendarType',
109
+ 'calendarView',
110
+ 'activities',
111
+ 'dateWeather',
112
+ 'soundAlerts',
113
+ 'timer',
114
+ 'lockScreen',
115
+ 'touch',
116
+ 'chronological',
117
+ 'device',
118
+ 'language',
119
+ ];
120
+ /**
121
+ * Group definitions matching the mobile app's settings structure.
122
+ *
123
+ * ─ i18n keys use the format `Settings.GroupLabel.<Id>` and must exist
124
+ * in every consumer's i18n catalog.
125
+ */
126
+ export const SETTINGS_GROUPS = [
127
+ {
128
+ id: 'appearance',
129
+ labelKey: 'Settings.Appearance',
130
+ icon: 'Palette',
131
+ keys: [
132
+ 'appearance.theme',
133
+ 'appearance.clockType',
134
+ 'appearance.enableDayColors',
135
+ ],
136
+ },
137
+ {
138
+ id: 'calendarType',
139
+ labelKey: 'Settings.CalendarType',
140
+ icon: 'ArrowLeftRight',
141
+ keys: ['calendarView.type'],
142
+ },
143
+ {
144
+ id: 'calendarView',
145
+ labelKey: 'Settings.CalendarView',
146
+ icon: 'Eye',
147
+ keys: [
148
+ 'calendarView.view',
149
+ 'calendarView.dayViewZoom',
150
+ 'calendarView.weekViewZoom',
151
+ 'calendarView.splitView',
152
+ 'calendarView.showCalendarNames',
153
+ 'calendarView.calendarColumns',
154
+ 'calendarView.autoReturnToTodayEnabled',
155
+ 'calendarView.autoReturnToTodayTimeoutSeconds',
156
+ ],
157
+ },
158
+ {
159
+ id: 'activities',
160
+ labelKey: 'Settings.Activities',
161
+ icon: 'CalendarPlus',
162
+ keys: ['eventForm.', 'chronologicalEventForm.'],
163
+ },
164
+ {
165
+ id: 'dateWeather',
166
+ labelKey: 'Settings.DateWeather',
167
+ icon: 'CloudSun',
168
+ keys: [
169
+ 'calendarView.showWeatherOnEvents',
170
+ 'calendarView.showWeatherOnTimeline',
171
+ 'calendarView.weatherLocation',
172
+ ],
173
+ },
174
+ {
175
+ id: 'soundAlerts',
176
+ labelKey: 'Settings.SoundAlerts',
177
+ icon: 'Volume2',
178
+ keys: [
179
+ 'sound.reminderVolume',
180
+ 'sound.mediaVolume',
181
+ 'sound.alarmSound',
182
+ 'sound.reminderAlarmSound',
183
+ 'sound.reminderAlarmTimeout',
184
+ 'sound.allowCustomReminderSounds',
185
+ 'sound.ttsEnabled',
186
+ 'sound.ttsRate',
187
+ 'notification.',
188
+ ],
189
+ },
190
+ {
191
+ id: 'timer',
192
+ labelKey: 'Settings.TimerTitle',
193
+ icon: 'Timer',
194
+ keys: [
195
+ 'sound.timerVolume',
196
+ 'sound.timerAlarmSound',
197
+ 'sound.timerAlarmTimeout',
198
+ 'timer.',
199
+ ],
200
+ },
201
+ {
202
+ id: 'lockScreen',
203
+ labelKey: 'Settings.LockScreen',
204
+ icon: 'Lock',
205
+ keys: ['lockScreen.'],
206
+ },
207
+ {
208
+ id: 'touch',
209
+ labelKey: 'Settings.FunctionsTitle',
210
+ icon: 'Hand',
211
+ keys: ['touch.'],
212
+ },
213
+ {
214
+ id: 'chronological',
215
+ labelKey: 'Settings.Chronological',
216
+ icon: 'List',
217
+ keys: ['chronological.'],
218
+ calendarType: 'chronological',
219
+ },
220
+ {
221
+ id: 'device',
222
+ labelKey: 'SettingsDevices.Title',
223
+ icon: 'Smartphone',
224
+ keys: ['device.'],
225
+ },
226
+ {
227
+ id: 'language',
228
+ labelKey: 'Settings.Language',
229
+ icon: 'Globe',
230
+ keys: ['language.'],
231
+ },
232
+ ];
233
+ /**
234
+ * Settings excluded from remote editing (web portal / profile management).
235
+ * These are device-local or internal-only settings.
236
+ */
237
+ export const EXCLUDED_DEVICE_SETTINGS = new Set([
238
+ 'device.id',
239
+ 'device.devMenuEnabled',
240
+ 'device.authWarningDismissTtlDays',
241
+ 'notification.hasBeenPrompted',
242
+ ]);
243
+ /**
244
+ * Check whether a setting key matches a group's key matchers.
245
+ */
246
+ function matchesGroup(key, group) {
247
+ return group.keys.some((matcher) => key === matcher || (matcher.endsWith('.') && key.startsWith(matcher)));
248
+ }
249
+ /**
250
+ * Group parsed setting entries into user-facing groups matching the mobile
251
+ * app's settings menu structure.
252
+ *
253
+ * Takes a flat list of parsed settings (from `parseSettingsSnapshot`) and
254
+ * buckets them into the standard groups, filtering by calendar type and
255
+ * excluded keys.
256
+ */
257
+ export function groupSettingsForDevice(allSettings, calendarType) {
258
+ // Filter excluded
259
+ const settings = allSettings.filter((s) => !EXCLUDED_DEVICE_SETTINGS.has(s.key));
260
+ // Calendar type filtering for event form keys
261
+ const isChronological = calendarType === 'chronological';
262
+ const filteredSettings = settings.filter((s) => {
263
+ if (isChronological && s.key.startsWith('eventForm.')) {
264
+ return false;
265
+ }
266
+ if (!isChronological && s.key.startsWith('chronologicalEventForm.')) {
267
+ return false;
268
+ }
269
+ return true;
270
+ });
271
+ const claimed = new Set();
272
+ const result = [];
273
+ for (const group of SETTINGS_GROUPS) {
274
+ // Skip groups not relevant for current calendar type
275
+ if (group.calendarType && group.calendarType !== calendarType) {
276
+ continue;
277
+ }
278
+ const matched = filteredSettings.filter((s) => !claimed.has(s.key) && matchesGroup(s.key, group));
279
+ if (matched.length === 0) {
280
+ continue;
281
+ }
282
+ for (const s of matched) {
283
+ claimed.add(s.key);
284
+ }
285
+ result.push({
286
+ id: group.id,
287
+ labelKey: group.labelKey,
288
+ icon: group.icon,
289
+ settings: matched,
290
+ });
291
+ }
292
+ return result;
293
+ }
98
294
  /** Default config for non-enrolled mode */
99
295
  export const DEFAULT_REGISTRY_CONFIG = {
100
296
  isEnrolled: false,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@focus8/settings-registry",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Shared settings registry for FocusPlanner — single source of truth for all app settings.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -178,6 +178,249 @@ export function getCategoriesForCalendarType(
178
178
  });
179
179
  }
180
180
 
181
+ // ---------------------------------------------------------------------------
182
+ // Settings groups — user-facing groups that reorganize raw categories
183
+ // ---------------------------------------------------------------------------
184
+
185
+ /**
186
+ * Settings group IDs matching the mobile app's settings menu structure.
187
+ * These provide user-friendly groupings that may pull settings from multiple
188
+ * raw registry categories.
189
+ */
190
+ export const SETTINGS_GROUP_IDS = [
191
+ 'appearance',
192
+ 'calendarType',
193
+ 'calendarView',
194
+ 'activities',
195
+ 'dateWeather',
196
+ 'soundAlerts',
197
+ 'timer',
198
+ 'lockScreen',
199
+ 'touch',
200
+ 'chronological',
201
+ 'device',
202
+ 'language',
203
+ ] as const;
204
+
205
+ export type SettingsGroupId = (typeof SETTINGS_GROUP_IDS)[number];
206
+
207
+ export type SettingsGroupDef = {
208
+ /** Unique group identifier */
209
+ id: SettingsGroupId;
210
+ /** i18n message key for the group label */
211
+ labelKey: string;
212
+ /** Lucide icon name */
213
+ icon: string;
214
+ /**
215
+ * Setting key matchers. A setting is included if its key:
216
+ * - equals a matcher exactly, OR
217
+ * - starts with a matcher that ends with '.' (prefix match)
218
+ */
219
+ keys: string[];
220
+ /** Only show for this calendar type (undefined = always) */
221
+ calendarType?: CalendarType;
222
+ };
223
+
224
+ /**
225
+ * Group definitions matching the mobile app's settings structure.
226
+ *
227
+ * ─ i18n keys use the format `Settings.GroupLabel.<Id>` and must exist
228
+ * in every consumer's i18n catalog.
229
+ */
230
+ export const SETTINGS_GROUPS: readonly SettingsGroupDef[] = [
231
+ {
232
+ id: 'appearance',
233
+ labelKey: 'Settings.Appearance',
234
+ icon: 'Palette',
235
+ keys: [
236
+ 'appearance.theme',
237
+ 'appearance.clockType',
238
+ 'appearance.enableDayColors',
239
+ ],
240
+ },
241
+ {
242
+ id: 'calendarType',
243
+ labelKey: 'Settings.CalendarType',
244
+ icon: 'ArrowLeftRight',
245
+ keys: ['calendarView.type'],
246
+ },
247
+ {
248
+ id: 'calendarView',
249
+ labelKey: 'Settings.CalendarView',
250
+ icon: 'Eye',
251
+ keys: [
252
+ 'calendarView.view',
253
+ 'calendarView.dayViewZoom',
254
+ 'calendarView.weekViewZoom',
255
+ 'calendarView.splitView',
256
+ 'calendarView.showCalendarNames',
257
+ 'calendarView.calendarColumns',
258
+ 'calendarView.autoReturnToTodayEnabled',
259
+ 'calendarView.autoReturnToTodayTimeoutSeconds',
260
+ ],
261
+ },
262
+ {
263
+ id: 'activities',
264
+ labelKey: 'Settings.Activities',
265
+ icon: 'CalendarPlus',
266
+ keys: ['eventForm.', 'chronologicalEventForm.'],
267
+ },
268
+ {
269
+ id: 'dateWeather',
270
+ labelKey: 'Settings.DateWeather',
271
+ icon: 'CloudSun',
272
+ keys: [
273
+ 'calendarView.showWeatherOnEvents',
274
+ 'calendarView.showWeatherOnTimeline',
275
+ 'calendarView.weatherLocation',
276
+ ],
277
+ },
278
+ {
279
+ id: 'soundAlerts',
280
+ labelKey: 'Settings.SoundAlerts',
281
+ icon: 'Volume2',
282
+ keys: [
283
+ 'sound.reminderVolume',
284
+ 'sound.mediaVolume',
285
+ 'sound.alarmSound',
286
+ 'sound.reminderAlarmSound',
287
+ 'sound.reminderAlarmTimeout',
288
+ 'sound.allowCustomReminderSounds',
289
+ 'sound.ttsEnabled',
290
+ 'sound.ttsRate',
291
+ 'notification.',
292
+ ],
293
+ },
294
+ {
295
+ id: 'timer',
296
+ labelKey: 'Settings.TimerTitle',
297
+ icon: 'Timer',
298
+ keys: [
299
+ 'sound.timerVolume',
300
+ 'sound.timerAlarmSound',
301
+ 'sound.timerAlarmTimeout',
302
+ 'timer.',
303
+ ],
304
+ },
305
+ {
306
+ id: 'lockScreen',
307
+ labelKey: 'Settings.LockScreen',
308
+ icon: 'Lock',
309
+ keys: ['lockScreen.'],
310
+ },
311
+ {
312
+ id: 'touch',
313
+ labelKey: 'Settings.FunctionsTitle',
314
+ icon: 'Hand',
315
+ keys: ['touch.'],
316
+ },
317
+ {
318
+ id: 'chronological',
319
+ labelKey: 'Settings.Chronological',
320
+ icon: 'List',
321
+ keys: ['chronological.'],
322
+ calendarType: 'chronological',
323
+ },
324
+ {
325
+ id: 'device',
326
+ labelKey: 'SettingsDevices.Title',
327
+ icon: 'Smartphone',
328
+ keys: ['device.'],
329
+ },
330
+ {
331
+ id: 'language',
332
+ labelKey: 'Settings.Language',
333
+ icon: 'Globe',
334
+ keys: ['language.'],
335
+ },
336
+ ] as const;
337
+
338
+ /**
339
+ * Settings excluded from remote editing (web portal / profile management).
340
+ * These are device-local or internal-only settings.
341
+ */
342
+ export const EXCLUDED_DEVICE_SETTINGS: ReadonlySet<string> = new Set([
343
+ 'device.id',
344
+ 'device.devMenuEnabled',
345
+ 'device.authWarningDismissTtlDays',
346
+ 'notification.hasBeenPrompted',
347
+ ]);
348
+
349
+ /**
350
+ * Check whether a setting key matches a group's key matchers.
351
+ */
352
+ function matchesGroup(key: string, group: SettingsGroupDef): boolean {
353
+ return group.keys.some(
354
+ (matcher) =>
355
+ key === matcher || (matcher.endsWith('.') && key.startsWith(matcher)),
356
+ );
357
+ }
358
+
359
+ /**
360
+ * Group parsed setting entries into user-facing groups matching the mobile
361
+ * app's settings menu structure.
362
+ *
363
+ * Takes a flat list of parsed settings (from `parseSettingsSnapshot`) and
364
+ * buckets them into the standard groups, filtering by calendar type and
365
+ * excluded keys.
366
+ */
367
+ export function groupSettingsForDevice(
368
+ allSettings: ParsedSettingEntry[],
369
+ calendarType: CalendarType,
370
+ ): { id: SettingsGroupId; labelKey: string; icon: string; settings: ParsedSettingEntry[] }[] {
371
+ // Filter excluded
372
+ const settings = allSettings.filter(
373
+ (s) => !EXCLUDED_DEVICE_SETTINGS.has(s.key),
374
+ );
375
+
376
+ // Calendar type filtering for event form keys
377
+ const isChronological = calendarType === 'chronological';
378
+ const filteredSettings = settings.filter((s) => {
379
+ if (isChronological && s.key.startsWith('eventForm.')) {
380
+ return false;
381
+ }
382
+ if (!isChronological && s.key.startsWith('chronologicalEventForm.')) {
383
+ return false;
384
+ }
385
+ return true;
386
+ });
387
+
388
+ const claimed = new Set<string>();
389
+ const result: {
390
+ id: SettingsGroupId;
391
+ labelKey: string;
392
+ icon: string;
393
+ settings: ParsedSettingEntry[];
394
+ }[] = [];
395
+
396
+ for (const group of SETTINGS_GROUPS) {
397
+ // Skip groups not relevant for current calendar type
398
+ if (group.calendarType && group.calendarType !== calendarType) {
399
+ continue;
400
+ }
401
+
402
+ const matched = filteredSettings.filter(
403
+ (s) => !claimed.has(s.key) && matchesGroup(s.key, group),
404
+ );
405
+ if (matched.length === 0) {
406
+ continue;
407
+ }
408
+
409
+ for (const s of matched) {
410
+ claimed.add(s.key);
411
+ }
412
+
413
+ result.push({
414
+ id: group.id,
415
+ labelKey: group.labelKey,
416
+ icon: group.icon,
417
+ settings: matched,
418
+ });
419
+ }
420
+
421
+ return result;
422
+ }
423
+
181
424
  // ---------------------------------------------------------------------------
182
425
  // Data type discriminator — stored alongside each setting in the DB
183
426
  // ---------------------------------------------------------------------------