ENH - add widget home labels

This commit is contained in:
DerEchteAlec
2026-08-13 04:31:08 +02:00
parent 545a6322ab
commit fd7eaf6887
3 changed files with 26 additions and 0 deletions
+18
View File
@@ -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)
})
})
+7
View File
@@ -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'],
+1
View File
@@ -35,6 +35,7 @@ export type WidgetDefinition = {
configurable: boolean
defaultSize: WidgetSize
descriptionKey: string
homeLabelKey: string
kind: WidgetKind
labelKey: string
supportedSizes: WidgetSize[]