diff --git a/frontend/src/config/widgets.test.ts b/frontend/src/config/widgets.test.ts new file mode 100644 index 0000000..7a75b0a --- /dev/null +++ b/frontend/src/config/widgets.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, it } from 'vitest' + +import { WIDGET_REGISTRY_BY_KIND } from '@/config/widgets' +import type { WidgetKind } from '@/types/widgets' + +describe('widget registry home labels', () => { + it.each<[WidgetKind, string]>([ + ['clock', 'Apps.clock.name'], + ['date', 'Apps.calendar.name'], + ['weather', 'Apps.weather.name'], + ['music', 'Apps.music.name'], + ['wallet', 'Apps.banking.name'], + ['transactions', 'Apps.banking.name'], + ['contacts', 'Apps.phone.name'], + ])('uses the host app label for %s', (kind, labelKey) => { + expect(WIDGET_REGISTRY_BY_KIND.get(kind)?.homeLabelKey).toBe(labelKey) + }) +}) diff --git a/frontend/src/config/widgets.ts b/frontend/src/config/widgets.ts index 783b460..02c983a 100644 --- a/frontend/src/config/widgets.ts +++ b/frontend/src/config/widgets.ts @@ -6,6 +6,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: true, defaultSize: 'small', descriptionKey: 'Home.widgetSystem.clock.description', + homeLabelKey: 'Apps.clock.name', kind: 'clock', labelKey: 'Home.widgetSystem.clock.name', supportedSizes: ['small', 'medium'], @@ -15,6 +16,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: false, defaultSize: 'small', descriptionKey: 'Home.widgetSystem.date.description', + homeLabelKey: 'Apps.calendar.name', kind: 'date', labelKey: 'Home.widgetSystem.date.name', supportedSizes: ['small', 'medium'], @@ -24,6 +26,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: false, defaultSize: 'medium', descriptionKey: 'Home.widgetSystem.weather.description', + homeLabelKey: 'Apps.weather.name', kind: 'weather', labelKey: 'Home.widgetSystem.weather.name', supportedSizes: ['small', 'medium', 'large'], @@ -33,6 +36,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: false, defaultSize: 'medium', descriptionKey: 'Home.widgetSystem.music.description', + homeLabelKey: 'Apps.music.name', kind: 'music', labelKey: 'Home.widgetSystem.music.name', supportedSizes: ['medium', 'large'], @@ -42,6 +46,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: true, defaultSize: 'small', descriptionKey: 'Home.widgetSystem.wallet.description', + homeLabelKey: 'Apps.banking.name', kind: 'wallet', labelKey: 'Home.widgetSystem.wallet.name', supportedSizes: ['small', 'medium'], @@ -51,6 +56,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: false, defaultSize: 'medium', descriptionKey: 'Home.widgetSystem.transactions.description', + homeLabelKey: 'Apps.banking.name', kind: 'transactions', labelKey: 'Home.widgetSystem.transactions.name', supportedSizes: ['medium', 'large'], @@ -60,6 +66,7 @@ export const WIDGET_REGISTRY: WidgetDefinition[] = [ configurable: true, defaultSize: 'medium', descriptionKey: 'Home.widgetSystem.contacts.description', + homeLabelKey: 'Apps.phone.name', kind: 'contacts', labelKey: 'Home.widgetSystem.contacts.name', supportedSizes: ['medium', 'large'], diff --git a/frontend/src/types/widgets.ts b/frontend/src/types/widgets.ts index e654af6..cd70a9b 100644 --- a/frontend/src/types/widgets.ts +++ b/frontend/src/types/widgets.ts @@ -35,6 +35,7 @@ export type WidgetDefinition = { configurable: boolean defaultSize: WidgetSize descriptionKey: string + homeLabelKey: string kind: WidgetKind labelKey: string supportedSizes: WidgetSize[]